Home · Kontakt · Impressum
contents index previous up next
Next: 12.3 LILO Up: 12.2 GRUB Previous: 12.2.3 Installation von GRUB


12.2.4 Erstellung einer GRUB-Bootdiskette

Wir brauchen für eine Grub-Bootdiskette eine leere formatierte Diskette. Die Diskette können Sie ganz einfach mit dem Befehl fdformat (10.4.2) formatieren.

defiant:~ # fdformat /dev/fd0

Der Befehl badblocks (11.2.3) wird zum Testen von Datenträgern verwendet. Wird badblocks mit dem Schalter -w zusammen verwendet, so wird ein destruktiver Schreib- und Lesetest des Datenträgers durchgeführt. Danach wissen wir ob die Diskette in Ordnung ist, und daß sie auf jeden Fall keine Daten mehr enthält.

defiant:~ # badblocks -w /dev/fd0

Wir schreiben zuerst den ersten Teil von GRUB in den MBR der Diskette. Dazu wechseln wir zuerst in das GRUB-Verzeichnis. Das GRUB-Verzeichnis nach der Anleitung /usr/share/grub/i386-pc. Bei SuSE finden Sie bis Version 9.0 die GRUB-Dateien im Verzeichnis /usr/lib/grub/, ab Version 9.1 im Verzeichnis /usr/lib/grub/i386-pc.

enterprise:~ # cd /usr/lib/grub/
enterprise:/usr/lib/grub # ls -l
insgesamt 212
-rw-r--r--    1 root     root         8544 2002-09-11 01:56 e2fs_stage1_5
-rw-r--r--    1 root     root         8176 2002-09-11 01:56 fat_stage1_5
-rw-r--r--    1 root     root         7520 2002-09-11 01:56 ffs_stage1_5
-rw-r--r--    1 root     root         9248 2002-09-11 01:56 jfs_stage1_5
-rw-r--r--    1 root     root         7712 2002-09-11 01:56 minix_stage1_5
-rw-r--r--    1 root     root        10432 2002-09-11 01:56 reiserfs_stage1_5
-rw-r--r--    1 root     root          512 2002-09-11 01:56 stage1
-rw-r--r--    1 root     root       105124 2002-09-11 01:56 stage2
-rw-r--r--    1 root     root         7168 2002-09-11 01:56 vstafs_stage1_5
-rw-r--r--    1 root     root        10024 2002-09-11 01:56 xfs_stage1_5

Mit dem Befehl dd können wir das Images des Grub-MBR (stage1) in den MBR der Diskette spielen.

enterprise:/usr/lib/grub # dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 Records ein
1+0 Records aus

Der zweite wesentlich größere Teil des Bootloaders (stage2) wird in die Blöcke dahinter geschrieben.

enterprise:/usr/lib/grub # dd if=stage2 of=/dev/fd0 bs=512 seek=1
205+1 Records ein
205+1 Records aus

Wenn wir jetzt den Rechner runterfahren und dann von der Diskette booten, sollte die Grub-Shell erscheinen. Gehen wir mal davon aus, daß der Linux-Kernel auf der zweiten Partition der ersten Platte im Verzeichnis /boot liegt. Dann können wir in der GRUB-Shell mit den folgenden Kommandos das Linux-System starten.

grub> root (hd0,1)
grub> kernel /boot/vmlinuz root=/dev/hda2
grub> boot

Und schon bootet das Linux-System.

Der Windows-Kernel ist leider nicht multibootfähig und daher kann GRUB ihn auch nicht direkt starten. Um trotzdem mit diesen Betriebssystemen arbeiten zu können greift GRUB zu einem Hilfsmittel. Mit einem sogenannten Chain-Loading startet GRUB einfach den Bootloader des Betriebssystem und startet damit die Bootsequenz. Als erstes wird das GRUB-Wurzelverzeichnis auf die entsprechende Partition gelegt. Hier ist es die erste Partition der ersten Platte. Dann wird diese Partition aktiv geschaltet. Dann wird der Bootsektor und damit der Bootloader gelesen. Nun besitzt GRUB alle Informationen um den Bootvorgang einzuleiten.

grub> rootnoverify (hd0,0)
grub> makeactive (hd0,0)
grub> chainloader +1
grub> boot


contents index previous up next
Next: 12.3 LILO Up: 12.2 GRUB Previous: 12.2.3 Installation von GRUB
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang