| Zeile 15: | Zeile 15: | ||
/dev/sda1 on /mnt type vfat (rw) <-- diese Zeile ist relevant | /dev/sda1 on /mnt type vfat (rw) <-- diese Zeile ist relevant | ||
</pre> | </pre> | ||
| − | Zumeist liegt der Stick an der Stelle /dev/ | + | Zumeist liegt der Stick an der Stelle /dev/sda 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: |
<pre> | <pre> | ||
$ umount /dev/sda1 | $ umount /dev/sda1 | ||
| Zeile 21: | Zeile 21: | ||
Nun wird der komplette Stick mit Null-Bytes überschrieben. Dies wird wie folgt gemacht: | Nun wird der komplette Stick mit Null-Bytes überschrieben. Dies wird wie folgt gemacht: | ||
<pre> | <pre> | ||
| − | $ cat /dev/zero > /dev/ | + | $ cat /dev/zero > /dev/sda |
cat: write error: No space left on device | cat: write error: No space left on device | ||
</pre> | </pre> | ||
| Zeile 29: | Zeile 29: | ||
Ein anderer Weg, den Stick von den Daten zu befreien, wäre der folgende: | Ein anderer Weg, den Stick von den Daten zu befreien, wäre der folgende: | ||
<pre> | <pre> | ||
| − | $ dd if=/dev/zero of=/dev/ | + | $ dd if=/dev/zero of=/dev/sda |
| − | + | dd: Schreiben in „/dev/sda“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar | |
| + | 2007041+0 Datensätze ein | ||
| + | 2007040+0 Datensätze aus | ||
| + | 1027604480 Bytes (1,0 GB) kopiert, 349,675 s, 2,9 MB/s | ||
</pre> | </pre> | ||
| Zeile 37: | Zeile 40: | ||
Um zu schauen, welches Laufwerk der USB-Stick ist, muss dd mit dem Parameter --list aufgerufen werden. Dieser existiert allerdings nur in der Version für Windows | Um zu schauen, welches Laufwerk der USB-Stick ist, muss dd mit dem Parameter --list aufgerufen werden. Dieser existiert allerdings nur in der Version für Windows | ||
<pre> | <pre> | ||
| − | dd --list | + | > dd --list |
</pre> | </pre> | ||
In 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: | In 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: | ||
<pre> | <pre> | ||
| − | dd if=/dev/zero of=\\.\g: -count=1G -bs=1M --progress | + | > dd if=/dev/zero of=\\.\g: -count=1G -bs=1M --progress |
</pre> | </pre> | ||
''Anmerkung: Diese Aktion kann je nach größe des USB-Sticks einige Zeit in Anspruch nehmen.''<br/> | ''Anmerkung: Diese Aktion kann je nach größe des USB-Sticks einige Zeit in Anspruch nehmen.''<br/> | ||
| Zeile 48: | Zeile 51: | ||
=== Formatieren der Partition des Sticks unter Linux/Unix === | === Formatieren der Partition des Sticks unter Linux/Unix === | ||
Bevor der Stick formatiert wird, sollte eben jener zuerst partitioniert werden, da die Partition ja durch Null-Bytes ersetzt wurde. | Bevor der Stick formatiert wird, sollte eben jener zuerst partitioniert werden, da die Partition ja durch Null-Bytes ersetzt wurde. | ||
| − | Um den USB-Stick zu partitionieren, muss einfach nur cfdisk oder fdisk mit der Stelle angeben, unter der der Stick von der jeweiligen Maschine verwaltet wird, was in dieser Anleitung /dev/ | + | Um den USB-Stick zu partitionieren, muss einfach nur cfdisk oder fdisk mit der Stelle angeben, unter der der Stick von der jeweiligen Maschine verwaltet wird, was in dieser Anleitung /dev/sda ist. |
Also lautet der Aufruf wie folgt: | Also lautet der Aufruf wie folgt: | ||
<pre> | <pre> | ||
| − | cfdisk /dev/ | + | $ cfdisk /dev/sda |
.... oder .... | .... oder .... | ||
| − | fdisk /dev/ | + | $ fdisk /dev/sda |
</pre> | </pre> | ||
Nun 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. | Nun 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: | Im nächsten Schritt muss der Stick nun mit einem Dateisystem formatiert werden. Dies wird wie folgt gemacht: | ||
<pre> | <pre> | ||
| − | mkfs.ext2 /dev/sda1 | + | $ mkfs.ext2 /dev/sda1 |
</pre> | </pre> | ||
Hier wird der Stick, nach drücken der Return-Taste, mit dem Ext2 Dateisystem formatiert.<br /> | Hier wird der Stick, nach drücken der Return-Taste, mit dem Ext2 Dateisystem formatiert.<br /> | ||
| Zeile 67: | Zeile 70: | ||
Nun muss der Formatierte Stick wieder gemountet werden: | Nun muss der Formatierte Stick wieder gemountet werden: | ||
<pre> | <pre> | ||
| − | mount /dev/sda1 /media/usb | + | # mount /dev/sda1 /media/usb |
</pre> | </pre> | ||
Im nächsten Schritt sollten nun die nötigen Ordner für GRUB erstellt werden: | Im nächsten Schritt sollten nun die nötigen Ordner für GRUB erstellt werden: | ||
<pre> | <pre> | ||
| − | mkdir -p /media/usb/boot/grub | + | $ mkdir -p /media/usb/boot/grub |
</pre> | </pre> | ||
Nun müssen die Bootdateien von GRUB in den erstellten Ordner /media/usb/boot/grub kopiert werden. | Nun müssen die Bootdateien von GRUB in den erstellten Ordner /media/usb/boot/grub kopiert werden. | ||
<pre> | <pre> | ||
| − | cp /usr/lib/grub/i386-pc/* /media/usb/boot/grub/ | + | $ cp /usr/lib/grub/i386-pc/* /media/usb/boot/grub/ |
</pre> | </pre> | ||
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. | 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. | ||
<pre> | <pre> | ||
| − | cp /lib/grub/i386-pc/* /media/usb/boot/grub/ | + | $ cp /lib/grub/i386-pc/* /media/usb/boot/grub/ |
</pre> | </pre> | ||
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: | 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: | ||
<pre> | <pre> | ||
| − | echo '(hd0) /dev/ | + | $ echo '(hd0) /dev/sda' > /media/usb/boot/grub/device.map |
</pre> | </pre> | ||
Als letzter Schritt muss nun nur noch GRUB auf dem Stick installiert werden, was wie folgt gemacht wird: | Als letzter Schritt muss nun nur noch GRUB auf dem Stick installiert werden, was wie folgt gemacht wird: | ||
<pre> | <pre> | ||
| − | /sbin/grub-install --root-directory=/media/usb/ /dev/ | + | $ /sbin/grub-install --root-directory=/media/usb/ /dev/sda |
</pre> | </pre> | ||
| Zeile 108: | Zeile 111: | ||
Das booten des USB-Sticks unter Linux ist im Gegensatz zu der Vorgehensweise unter Windows viel einfacher. Es wird einfach das Devicenode, das vom Kernel vergeben wird, benötigt. In diesem Beispiel ist das /dev/sda, da /dev/sda1 die Partition auf dem USB-Stick ist! Der Aufruf von qemu würde dann also so aussehen: | Das booten des USB-Sticks unter Linux ist im Gegensatz zu der Vorgehensweise unter Windows viel einfacher. Es wird einfach das Devicenode, das vom Kernel vergeben wird, benötigt. In diesem Beispiel ist das /dev/sda, da /dev/sda1 die Partition auf dem USB-Stick ist! Der Aufruf von qemu würde dann also so aussehen: | ||
<pre> | <pre> | ||
| − | qemu | + | $ qemu -m 32 -localtime -boot c -hda /dev/sda |
</pre> | </pre> | ||
| − | |||
==== Testen unter Windows ==== | ==== Testen unter Windows ==== | ||
| Zeile 120: | Zeile 122: | ||
Der Aufruf von qemu könnte dann wie folgt aussehen: | Der Aufruf von qemu könnte dann wie folgt aussehen: | ||
<pre> | <pre> | ||
| − | qemu -L . -m 32 -localtime -boot c -hda \\\\.\\PhysicalDrive5 | + | > qemu -L . -m 32 -localtime -boot c -hda \\\\.\\PhysicalDrive5 |
</pre> | </pre> | ||
'''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.<br /> | '''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.<br /> | ||