= Vorbemerkung =
Nun da ich mich seit einiger Zeit damit beschäftige, auf meinem USB-Stick GRUB zu installieren möchte ich hier eine Schrit für Schritt Anleitung geben, wie man GRUB installiert.
= Der USB-Stick =
'''ACHTUNG: Sichert vorher alle Daten von dem Stick, denn spätestens nach dem überschreiben des Stick-Inhalts mit Null-Bytes werden diese nicht wiederherstellbar sein!'''
== Löschen der Dateien ==
In diesem Abschnitt werden der Inhalt des USB-Sticks mit Null-Bytes überschrieben, damit überhaupt nichts mehr darauf vorhanden ist.
=== Löschen der Daten unter Linux/Unix ===
Zuerst sollte man nachschauen, wo der USB-Stick hin gemountet wurde, falls das automatisch geschehen ist. Dies kann man mit dem Befehl mount machen:
$ mount /dev/hda1 on / type ext3 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) /dev/sda1 on /mnt type vfat (rw) <-- diese Zeile ist relevantZumeist liegt der Stick an der Stelle /dev/sda1 o.ä. zumindest war es bei mir so. Bevor der Inhalt des Sticks allerdings überschrieben werden kann, sollte er ausgehängt werden, damit kein Programm auf diesen zugreifen kann. Dies geschieht wie folgt:
$ umount /dev/sda1Nun wird der komplette Stick mit Null-Bytes überschrieben. Dies wird wie folgt gemacht:
$ cat /dev/zero > /dev/sda1 cat: write error: No space left on device{{Warnung | Text='''/dev/sda''' kann durchaus auch deine Festplatte sein. Falls du dir also nicht sicher bist: '''''nicht''''' einfach ausprobieren}} Wird die untere Fehlermeldung ausgegeben, so heißt das, dass der USB-Stick komplett überschrieben wurde. Ab hier gibt es denke ich mal keine Möglichkeit mehr noch eventuelle Daten zu sichern, da alles überschrieben wurde.
$ dd if=/dev/zero of=/dev/sda1 cat: write error: No space left on device=== Löschen der Daten unter Windows === dd wurde nach Windows portiert und ist hier erhältlich: [http://www.chrysocome.net/dd DD für Windows]
dd --listIn der Auflistung muss man nun nach dem Laufwerksbuchstabe schauen, an dem der Stick von Windows abgelegt wurde. Bei mir war das G! Als nächstes müssen nun die kompletten Daten gelöscht werden:
dd if=/dev/zero of=\\.\g: -count=1G -bs=1M --progress''Anmerkung: Diese Aktion kann je nach größe des USB-Sticks einige Zeit in Anspruch nehmen.''
cfdisk /dev/sda1 .... oder .... fdisk /dev/sda1Nun muss mit dem jeweiligen Programm eine Partition erstellt werden, was in meinem Falle ext2 ist. Nach dem Schreiben der Partitions-Tabelle, wird eben jene neu eingelesen. Jedoch kann beim neuen Einlesen der Partitions-Tabelle unter umständen der Fehler auftreten, das der Stick nicht wieder eingelesen werden kann, was allerdings vernachlässigt werden kann. Im nächsten Schritt muss der Stick nun mit einem Dateisystem formatiert werden. Dies wird wie folgt gemacht:
mkfs.ext2 /dev/sda1Hier wird der Stick, nach drücken der Return-Taste, mit dem Ext2 Dateisystem formatiert.
mount /dev/sda1 /media/usbIm nächsten Schritt sollten nun die nötigen Ordner für GRUB erstellt werden:
mkdir -p /media/usb/boot/grubNun müssen die Bootdateien von GRUB in den erstellten Ordner /media/usb/boot/grub kopiert werden.
cp /usr/lib/grub/i386-pc/* /media/usb/boot/grub/Sollte obige Anweisung nicht funktionieren, weil das Verzeichnis nicht existiert, so ist ein anderer möglicher Pfad in der nun folgenden Anweisung. Man muss eigentlich nur das /usr entfernen.
cp /lib/grub/i386-pc/* /media/usb/boot/grub/Nun werden alle Dateien, die von GRUB benötigt werden auf den USB-Stick kopiert. Im letzten Schritt muss nun eine Datei mit dem Namen device.map erstellt werden, damit GRUB weiß, welche Laufwerksangabe für den USB-Stick gilt. Dies geschieht wie folgt:
echo '(hd0) /dev/sda1' > /media/usb/boot/grub/device.mapAls letzter Schritt muss nun nur noch GRUB auf dem Stick installiert werden, was wie folgt gemacht wird:
/sbin/grub-install --root-directory=/media/usb/ /dev/sda1Nun ist GRUB auf dem USB-Stick installiert und es kann von diesem gebootet werden.
qemu -L . -m 32 -localtime -boot c -hda /dev/sda1'''Anmerkung: '''Die obige Befehls-Zeile muss noch von mir getestet werden, sollte allerdings funktionieren. ==== Testen unter Windows ==== Um unter qemu von dem USB-Stick booten zu lassen, muss der Stick als Festplatte angegeben werden. Dazu wird jedoch allerdings der Name des Geräts benötigt. Dieser ist wie folgt zu finden:
Start->AusführenHier wird dann "diskmgmt.msc" eingegeben und mittels Klick auf "OK" geöffnet. Hier muss nun der USB-Stick herausgesucht werden. Dieser hat den Titel "Datenträger" und dann noch eine Nummer, in diesem Fall die 5. Diese Nummer wird für qemu gebraucht, damit das richtige Gerät angesprochen werden kann. Welcher Eintrag nun der USB-Stick ist, kann mit mehreren Kriterien herausgefunden werden. Zum einen wäre da der Mountpunkt, also der buchstabe, z.B. "D:", zum anderen wird der Stick von Windows als Wechselmedium gespeichert, wodurch man einige Einträge ausschließen kann, wie z.B. interne Festplatten oder CD/DVD-Laufwerke. Der Aufruf von qemu könnte dann wie folgt aussehen:
qemu -L . -m 32 -localtime -boot c -hda \\\\.\\PhysicalDrive5'''Anmerkung:''' Der Stick wird mit "PhysicalDrive" und der entsprechenden Nummer dahinter angesprochen. PhysicalDrive ist einfach nur der Englische Name für "Datenträger". Die vielen \ sind aus dem Grund, da eben dieses Zeichen für die Verwendung mit qemu escaped werden muss.