Linux direkt über Bootsektor der Partition booten
Linux direkt über Bootsektor der Partition booten
Hi,
ich versuche seit Tagen die root-partition meines Linux-Systems bootfähig zu machen. Ich möchte Grub vollständig im Bootsektor der Partition haben und diese dann über Syslinux und chainloading ansprechen. Mit Windows funktioniert das schon wunderbar. Linux will jedoch nicht so recht. Habs mit "grub-install (hd0,1)" versucht. Über cfdisk habe ich die Partition auch als bootfähig markiert (ich weiss nicht genau, ob das reicht).
Der Grund dafür, dass ich Syslinux anstatt dem MBR verwenden möchte ist, dass ich 8 identische Laborrechner über Netzwerk veranlassen möchte, ein bestimmtes OS zu booten. Ich hoffe, dass mir jemand vielleicht ein paar Tipps geben kann.
Vielen Dank schonmal im voraus.
ich versuche seit Tagen die root-partition meines Linux-Systems bootfähig zu machen. Ich möchte Grub vollständig im Bootsektor der Partition haben und diese dann über Syslinux und chainloading ansprechen. Mit Windows funktioniert das schon wunderbar. Linux will jedoch nicht so recht. Habs mit "grub-install (hd0,1)" versucht. Über cfdisk habe ich die Partition auch als bootfähig markiert (ich weiss nicht genau, ob das reicht).
Der Grund dafür, dass ich Syslinux anstatt dem MBR verwenden möchte ist, dass ich 8 identische Laborrechner über Netzwerk veranlassen möchte, ein bestimmtes OS zu booten. Ich hoffe, dass mir jemand vielleicht ein paar Tipps geben kann.
Vielen Dank schonmal im voraus.
- hastifranki
- Beiträge: 259
- Registriert: 06. Mai 2006 19:58
Hallo,
ich habe bisher stage1 immer in den MBR geschrieben. Laut folgender Anleitung sollte nach Eingabe von grub und danach setup (hd0,1) stage1 in den Bootsektor geschrieben werden:
http://de.opensuse.org/SDB:Der_Bootmanager_GRUB
Viele Grüße
Frank
ich habe bisher stage1 immer in den MBR geschrieben. Laut folgender Anleitung sollte nach Eingabe von grub und danach setup (hd0,1) stage1 in den Bootsektor geschrieben werden:
http://de.opensuse.org/SDB:Der_Bootmanager_GRUB
Viele Grüße
Frank
Hi Frank,
vielen Dank für deine schnelle Antwort. Das habe ich auch schon versucht, aber habe folgende Ausgabe erhalten:
Gruß
Carsten
vielen Dank für deine schnelle Antwort. Das habe ich auch schon versucht, aber habe folgende Ausgabe erhalten:
Ich weiss nicht warum er die Stage 1.5 nicht installieren kann. Ich denke, dass mein Problem eventuell da liegt.grub> setup (hd0,1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/xfs_stage1_5" exists... yes
Running "embed /boot/grub/xfs_stage1_5 (hd0,1)"... failed (this is not fatal)
Running "embed /boot/grub/xfs_stage1_5 (hd0,1)"... failed (this is not fatal)
Running "install /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/menu
.lst "... succeeded
Done.
Gruß
Carsten
-
- Beiträge: 430
- Registriert: 03. Mär 2006 23:16
Nach der Meldung hat die grub-Installation doch geklappt.
Was funktioniert denn nicht?
so klappt es bei mir:
Debian
SuSE(mit yast-bootloader gibt es Probleme, falls es Probleme gibt)
EDIT
Obiges geht am Problem hier vorbei (dazu weiter unten).
Die GRUB-Installation selbst klappt zwar damit, zerstört aber das zugrundeliegende XFS-Dateisystem, sprich dessen Sektor 0.
Was funktioniert denn nicht?
so klappt es bei mir:
Debian
Code: Alles auswählen
grub-install --no-floppy --recheck /dev/DEVICE
Code: Alles auswählen
grub --no-floppy --batch < FILE
FILE:
root (hd0,X)
setup (hd0,X) (hd0,X)
quit
EDIT
Obiges geht am Problem hier vorbei (dazu weiter unten).
Die GRUB-Installation selbst klappt zwar damit, zerstört aber das zugrundeliegende XFS-Dateisystem, sprich dessen Sektor 0.
Zuletzt geändert von komsomolze am 29. Jun 2007 20:44, insgesamt 1-mal geändert.
mfg komsomolze
Hi,
das System bootet einfach nicht, wenn ich mit syslinux und chain.c32 die Partition angebe. Mit der Windows-Partition geht es einwandfrei. Also kann es daran nicht liegen. Die Installation hat zwar geklappt, jedoch ist die stage 1.5 nicht im Bootsektor gelandet. Wenn ich über den mbr boote geht es auch, aber halt nicht über syslinux.
das System bootet einfach nicht, wenn ich mit syslinux und chain.c32 die Partition angebe. Mit der Windows-Partition geht es einwandfrei. Also kann es daran nicht liegen. Die Installation hat zwar geklappt, jedoch ist die stage 1.5 nicht im Bootsektor gelandet. Wenn ich über den mbr boote geht es auch, aber halt nicht über syslinux.
- hastifranki
- Beiträge: 259
- Registriert: 06. Mai 2006 19:58
Hi,
ich habe mal versuchsweise stage1 in den Bootsektor und in den MBR geschrieben und außerdem die Datei menu.lst um den Eintrag chainloader (hd0,6)+1 für Linux erweitert.
Wenn ich beim Booten den neuen Menüpunkt (chainloader für Linux) aufrufe, wird grub erneut gestartet. Vielleicht kann man über so einen Test das Problem etwas eingrenzen.
Viele Grüße
Frank
ich habe mal versuchsweise stage1 in den Bootsektor und in den MBR geschrieben und außerdem die Datei menu.lst um den Eintrag chainloader (hd0,6)+1 für Linux erweitert.
Wenn ich beim Booten den neuen Menüpunkt (chainloader für Linux) aufrufe, wird grub erneut gestartet. Vielleicht kann man über so einen Test das Problem etwas eingrenzen.
Viele Grüße
Frank
-
- Beiträge: 430
- Registriert: 03. Mär 2006 23:16
Poste doch bitte die menu.lst, /etc/grub.conf und die Ausgabe von
Welches Dateisystem hat die Partition, xfs?
Code: Alles auswählen
fdisk -l
Linux braucht das nicht.Über cfdisk habe ich die Partition auch als bootfähig markiert
mfg komsomolze
Hi,
das Dateisystem ist XFS.
menu.lst:
grub.conf:
wird die grub.conf nicht nur für den Befehl grub-install verwendet? Ich benutze immer die Grub-Konsole und gebe folgendes ein:
fdisk -l:
P.S.: Das Chainloading der Partition innerhalb des MBR hat ebenfalls nicht geklappt.
vielen Dank für eure Hilfe
Carsten
das Dateisystem ist XFS.
menu.lst:
Code: Alles auswählen
# Modified by YaST2. Last modification on Thu May 10 14:24:27 CEST 2007
default 0
timeout 8
gfxmenu (hd0,1)/boot/message
title openSUSE 10.2 - 2.6.18.8-0.3
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.8-0.3-default root=/dev/sda2 vga=0x317 resume=/dev/sda3 showopts
initrd /boot/initrd-2.6.18.8-0.3-default
title Failsafe -- openSUSE 10.2 - 2.6.18.8-0.3
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.8-0.3-default root=/dev/sda2 vga=normal showopts ide=nodma apm=off acpi=off noresume edd=off
initrd /boot/initrd-2.6.18.8-0.3-default
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,0)
chainloader (hd0,0)+1
Code: Alles auswählen
setup --stage2=/boot/grub/stage2 (hd0) (hd0,1)
quit
Code: Alles auswählen
root (hd0,1)
setup (hd0,1)
Code: Alles auswählen
Platte /dev/sda: 160.0 GByte, 160041885696 Byte
255 heads, 63 sectors/track, 19457 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 * 1 2611 20972826 7 HPFS/NTFS
/dev/sda2 2612 3917 10490445 83 Linux
/dev/sda3 3918 4179 2104515 82 Linux Swap / Solaris
vielen Dank für eure Hilfe
Carsten
hi,
dient der Befehl
nicht dazu die Stage 1.5 in den Bootsektor zu setzen?
Mit
kommt nicht die Meldung "failded (not fatal)", da er sie dann in den MBR kopiert, oder verstehe ich das falsch? Ich hab damit leider noch keine große Erfahrung.
Gruß
Carsten
dient der Befehl
Code: Alles auswählen
embed /boot/grub/xfs_stage1_5 (hd0,1)
Mit
Code: Alles auswählen
embed /boot/grub/xfs_stage1_5 (hd0)
Gruß
Carsten
-
- Beiträge: 430
- Registriert: 03. Mär 2006 23:16
Auf die schnelle gefunden
http://oss.sgi.com/projects/xfs/faq.html#grubwork
https://launchpad.net/debian/+source/grub/+bug/8058
http://www.mail-archive.com/bug-grub@gn ... 10770.html
kann auch nur versuchen, das Szenario in qemu nachzustellen.
EDIT
habe gerade boot, swap, root-XFS (etch) in qemu nachgestellt:
Wie in einem der Links gesagt beginnt XFS im Sektor 0 der Partition ("XFSB.....").
Beim Installieren von GRUB wird dieser Sektor überschrieben -> Das XFS wird nicht mehr erkannt. (cfdisk-Anzeige)
Reparabel nur mit einer Kopie des Sektors.
Liegen die GRUB-Dateien auf einem root-XFS, muss der GRUB-Startsektor woanders untergebracht werden:
Auf einer anderen Partition (MBR) oder als Startsektor-Datei für den aufrufenden Bootloader.
http://oss.sgi.com/projects/xfs/faq.html#grubwork
https://launchpad.net/debian/+source/grub/+bug/8058
http://www.mail-archive.com/bug-grub@gn ... 10770.html
kann auch nur versuchen, das Szenario in qemu nachzustellen.
EDIT
habe gerade boot, swap, root-XFS (etch) in qemu nachgestellt:
Wie in einem der Links gesagt beginnt XFS im Sektor 0 der Partition ("XFSB.....").
Beim Installieren von GRUB wird dieser Sektor überschrieben -> Das XFS wird nicht mehr erkannt. (cfdisk-Anzeige)
Reparabel nur mit einer Kopie des Sektors.
Liegen die GRUB-Dateien auf einem root-XFS, muss der GRUB-Startsektor woanders untergebracht werden:
Auf einer anderen Partition (MBR) oder als Startsektor-Datei für den aufrufenden Bootloader.
Zuletzt geändert von komsomolze am 29. Jun 2007 6:21, insgesamt 2-mal geändert.
mfg komsomolze
Hi,
vielen Dank nochmal für eure Tipps! Ich werde demnächst versuchen für das Linuxsystem eine eigene Bootpartition mit einem anderen Dateisystem anzulegen. Leider ist meine Arbeit an den Rechnern für die nächsten Wochen auf Eis gelegt, da das Labor renoviert wird. Ich werde mich dann nochmal melden.
Viele Grüße
Carsten
vielen Dank nochmal für eure Tipps! Ich werde demnächst versuchen für das Linuxsystem eine eigene Bootpartition mit einem anderen Dateisystem anzulegen. Leider ist meine Arbeit an den Rechnern für die nächsten Wochen auf Eis gelegt, da das Labor renoviert wird. Ich werde mich dann nochmal melden.
Viele Grüße
Carsten
um grub in den mbr zu schreiben heißt es aber
und nicht hd(0,X)
Code: Alles auswählen
setup (hd0)
Hi,
unser Labor ist nun wieder im Betrieb und ich konnte jetzt einen Test mit einer zusätzlichen Bootpartition durchführen. Dazu habe ich eine kleine (20 Mb) bootfähige Ext3-Partition erstellt und mittels
Grub in den Bootsektor installiert. In der PXE-Linux-Config steht nun folgendes:
Damit wird direkt die Stage 2 von Grub geladen. Nun können wir über einen Symlink die PXE-Config wechseln und somit per SSH steuern, ob Linux oder Windows gebootet werden soll. Ohne XFS wäre es einfacher gegangen, aber nun läuft es ja.
Vielen Dank für eure Hilfe.
Carsten
P.S.: Sorry für den dreifachen Eintrag. Hab immer ne Fehlermeldung bekommen
unser Labor ist nun wieder im Betrieb und ich konnte jetzt einen Test mit einer zusätzlichen Bootpartition durchführen. Dazu habe ich eine kleine (20 Mb) bootfähige Ext3-Partition erstellt und mittels
Code: Alles auswählen
grub-install --root-directory=/ /dev/sda4
Code: Alles auswählen
KERNEL chain.c32
APPEND hd0 4
Vielen Dank für eure Hilfe.
Carsten
P.S.: Sorry für den dreifachen Eintrag. Hab immer ne Fehlermeldung bekommen