Mittwoch, 5. November 2008

Bootloader GRUB auf einem USB-Stick installieren

GRUB ist wahrscheinlich der beste Multibootloader, den es gibt. GRUB wird unter anderem von Debian Linux verwendet und als Standard verwendet und installiert. Mit GRUB auf einem USB-Stick hat man die Möglichkeit in so ziemlich jedes Betriebssystem zu booten (auch auf USB-Stick), zu dem der Rechner Zugriff hat.

Im Master-Boot-Record (MBR) des USB-Sticks (das sind die ersten 512 Bytes, auf die der PC beim Booten zugreift) ist lediglich ein "Verweis" auf die Stelle des Speichers enthalten, auf der sich GRUB befindet. Das heißt, dass GRUB so ziemlich überall liegen kann (z.B. auf einer FAT-oder EXT-Partition) und größer, als 512 Bytes, also sehr komfortabel und umfassend sein kann. Diese beiden "Boot-Stufen" nennt man auch Stage 1 und 2 (dazwischen gibt es auch noch eine Stufe 1,5).

Um mit Hilfe eines (mit GRUB) laufenden Linux-Systems GRUB auf einem USB-Stick zu installieren, sind folgende Schritte nötig:

1.) GRUB-Files auf den Stick kopieren
Die von GRUB benötigten Files stage* und menu.lst sind (in das Directory /boot/grub) auf den USB-Stick zu kopieren (wobei angenommen wird, dass sich der USB-Stick auf /dev/sdb eingeklinkt hat und sich das bestehende Linux-system auf /dev/hda1 befindet):
  • directory boot erstellen (mkdir /dev/sdb1 boot)
  • nach boot wechseln ("chdir /dev/sdb1/boot")
  • directory grub erstellen ("mkdir grub")
  • stage-Files nach /boot/grub kopieren ("cp /dev/hda1/boot/grub/*stage* /dev/sdb1/boot/grub")
  • menu.lst-File nach /boot/grub kopieren ("cp /dev/hda1/boot/grub/menu.lst /dev/sdb1/boot/grub")

2.) GRUB auf den MBR des Sticks schreiben
Wichtig ist, dass man das richtige Laufwerk (in unserem Fall "hd1,0") vom USB-Stick identifiziert und mit dem Program "grub" den MBR vom USB-Stick beschreibt:
GRUB mit "grub" am PC starten ... es erscheint das Prompt "grub>"
  • Lokation von GRUB feststellen ("root (hd1,0)")
  • GRUB auf MBR schreiben ("setup (hd1)")
  • GRUB verlassen ("quit")

Bitte unbedingt auf die Meldungen achten, um fehlende Files (z.B. könnten die stage-Files mit fat_stage benannt sein) zu ergänzen und ja nicht den falschen MBR zu beschreiben. Bei der Suche nach der richtigen MBR-Adresse hilft eventuell ein Blick in /boot/grub/device.map (des Quellrechners), wo sdX einem hdY zugeordnet ist.

Das war's - GRUB ist am MBR und verzweigt auf die Files in /boot/grub/. Der USB-Stick ist bootfähig. Jetzt sollte noch /boot/grub/menu.lst so adaptiert werden, dass die gewünschten Bootoptionen erreicht werden.

Keine Kommentare: