Praxis: SD-Karte und USB-Stick bootfähig machen

CDs und DVDs sind ein alter Hut, neue Notebooks und sogar PCs verzichten immer öfter auf entsprechende Laufwerke. Kein Problem, denn Linux und Windows booten auch von USB.
USB-Sticks und SD-Speicherkarten sind pfiffige kleine Datenträger, die sich vielseitig nutzen lassen. Zudem sind sie deutlich schneller und flexibler als die jahrelang üblichen optischen Datenträger wie DVD und CD. Meterhohe Spindeln mit Rohlingen finden sich daher kaum noch auf dem Schreibtisch von Computernutzern. Warum auch? Zahlreiche neue Rechner, vor allem Notebooks und Ultrabooks, verzichten bereits auf Laufwerke für die runden Silberscheiben. Sogar Windows 10 wird wahlweise auf einem USB-Stick ausgeliefert. Doch wie beim Sprung von Diskette auf CD bleibt die Sorge: Was machen, wenn ich ein bootfähiges Startmedium brauche? Kein Problem, wir zeigen, wie sich USB-Sticks und SD-Karten bootfähig machen lassen. Wir brauchen dafür nicht mehr als eine passende ISO-Datei (mit dem gewünschten Betriebssystem) und einen entsprechenden Stick oder eine Speicherkarte.
Live-DVDs beispielsweise von Linux sind eine schöne Möglichkeit, ein Betriebssystem zu testen - ohne dafür die Festplatte zu nutzen. Ohne Installation läuft das System direkt vom Datenträger. Ausgeliefert werden diese Live-Distributionen schon lange als eine ISO-Datei, die dann einfach auf DVD gebrannt wird. Oder auf einem USB-Stick oder einer SD-Karte gespeichert - dann gewinnt die Live-Distribution auch gleich den Vorteil hinzu, Daten speichern zu können. Das ist auf Live-DVDs nicht möglich.
Hybride Bootsysteme
Ursprünglich nutzten Linux-Distributionen den "El-Torito"-Standard für den Bootsektor, während USB-Sticks einen VBR (Volume Boot Record) benötigen. Da der ISO-Standard ISO-9660 Platz in der System Area für fremde Bootsektoren mitbringt, muss für den USB-Boot nicht einmal der Standard gebrochen werden. Der VBR findet in den ersten 16 Sektoren zu 2048 Byte am Anfang des ISO-Dateisystems Platz. Genug Platz auch für eine Guid Partition Table (GPT) für UEFI-Boot.
Erst in den vergangenen Jahren wurde es üblich, Live-Distributionen mit einem für USB-Datenträger nutzbaren Bootsektor auszustatten. Neuere Distributionen sind daher problemloser von USB nutzbar als ältere. Der für USB nötige Bootsektor kann aber auch nachträglich erzeugt werden. Eines der bewährtesten Tools dafür ist Unetbootin. Der Entwickler Geza Kovacs pflegt das Programm bis heute und legt dabei Wert auf eine einfache Bedienung. Unetbootin muss nicht einmal installiert werden, unter Linux wird nur der Packer 7Zip benötigt, der sich mit dem Kommando sudo apt-get install p7zip-full nachinstallieren lässt. Unetbootin benötigt Root-Rechte, da es im Low-Level-Modus auf das Ziellaufwerk zugreift. Unter Windows muss daher die Abfrage der Benutzerkontensteuerung bestätigt werden. Das Tool kann eine Reihe Distributionen direkt herunterladen, versteht sich aber auch mit bereits vorliegenden ISO-Dateien, die über "Abbild" ausgewählt werden können.
Viel merken Sie als Nutzer nicht von den komplizierten Abläufen im Hintergrund. Unetbootin entpackt die Verzeichnisse und Dateien des Images und speichert sie auf das Ziellaufwerk. Dann sucht das Programm anhand einer Heuristik unter den Dateien den Linux-Kernel und die Ramdisk (Initrd), die in die neuen Verzeichnisse ubnkern und ubninit verschoben werden. Nun analysiert das Tool die vorhandenen Bootmenüs, um aus den Einträgen ein eigenes Bootmenü auf Basis von Isolinux zu erstellen. Anschließend wird der Bootloader syslinux auf dem Ziellaufwerk installiert und über das Boot-Flag bootfähig gemacht.
Das Bootmenü des so erzeugten Datenträgers unterscheidet sich von dem der originalen ISO-Datei. Die Nutzung ist aber identisch. Nutzer von Windows können zur Erstellung des Boot-Datenträgers die Software Win 32 Disk Imager einsetzen, deren Bedienung größtenteils selbsterklärend ist. Dabei wird nur die Quelldatei ("Image File") gewählt und das Ziellaufwerk ("Device") angegeben. Im Dateibrowser ist IMG vorab eingestellt, mit der Eingabe von *.* werden aber alle Dateien im Ordner angezeigt, sodass auch ISO-Dateien funktionieren. Mit der Schaltfläche "write" wird der Schreibvorgang gestartet. Vorsicht, das Ziellaufwerk sollte keine wichtigen Daten mehr enthalten, da es nun gelöscht und neu beschrieben wird.
Wenn Unetbootin versagt
Zwar ist Unebootin bequem und pfiffig, es ist aber nicht universell. Eigentlich basiert Unetbootin auf einem Workaround, was bis heute gut funktioniert. Nur eben nicht immer: Unebootin kann nur dann ein funktionierendes Bootmenü erzeugen, wenn die Analyse des originalen Bootmenüs geklappt hat. So versagt das Programm beispielsweise bei Distributionen wie Knoppix, Open Suse, Porteus und Fedora. Die Nutzung mit diesen Distributionen gleicht einem Glücksspiel und muss nicht funktionieren. Da aktuelle Distributionen aber sowieso mit einem hybriden Bootsektor ausgestattet sind, wird seitens der Linux-Entwickler nicht mehr auf die Kompatibilität mit Unebootin geachtet.
Manuelle Übertragung des Images
Fortgeschrittene Anwender können hybride ISO-Dateien von Live-Systemen oder Distributionen von Hand auf einen USB-Stick oder eine Speicherkarte übertragen. Hinweise, ob die ISO-Datei hybrid ist, finden sich auf den Downloadseiten der Anbieter. Sie müssen aber penibel genau aufpassen, nicht auf das falsche Laufwerk zu schreiben, um nicht versehentlich eine Partition der Festplatte neu zu gestalten.
- Nachdem Sie den USB-Stick mit dem Rechner verbunden haben, öffnen Sie ein Terminal-Fenster. Der von Linux vergebene Mount-Punkt hat keine feste Gerätekennung. Ist "dev/sdb" bereits vergeben, wird der USB-Stick als "dev/sdc" eingebunden und so weiter.
- Die Kennung eines Laufwerkes lässt sich mit dem Befehl lsblk herausfinden. Rufen Sie es mit dem Parameter "-p" auf, der Befehl lautet dann lsblk -p.
- Vor dem Schreiben mit dd auf einen Wechseldatenträger müssen Sie dessen Partitionen aushängen:
sudo unmount /dev/sd[x]?
wobei [x] ein Platzhalter für die Gereätebezeichnung ist, beispielsweise also "dev/sdf". Das Fragezeichen bewirkt, dass alle Partitionen dieses Gerätes unmounted werden. - Das Image wird mit dem dd-Befehl in ein Terminalfenster übertragen. Setzen Sie nach dem "if=" den Pfad und den Namen der ISO-Datei ein und nach "of=" den Gerätenamen des USB-Datenträgers. Beispielsweise:
sudo dd bs=1M if=/pfad/datei.iso of=/dev/sd[x]
Da es sich um einen Low-Level-Zugriff handelt, werden Root-Rechte oder das vorangehende sudo benötigt. Die Ausführung des Befehls dauert eine Weile, in dieser Zeit gibt die Konsole keine Rückmeldung. Ziehen Sie den Stick erst dann ab, wenn die Eingabeaufforderung erscheint.
Werkzeuge der Linux-Distributionen
Es muss nicht unbedingt dd sein, es gibt auch grafische Tools für die Übertragung von Images unter Linux.
- Ubuntu: Jede Ubuntu-Variante bietet das Tool "Startmedienersteller" vorinstalliert, es funktioniert nicht mit anderen Distributionen. Wählen Sie im Programm die ISO-Datei einer Ubuntu-Distribution aus.
- Linux Mint: Hier nennt sich das Programm "USB-Abbilderstellung". Unter der deutschsprachigen Oberfläche arbeitet das nackte dd und eignet sich daher nicht nur für Linux Mint, sondern für alle hybriden ISO-Dateien.
- Open Suse: Hier ist das Programm Imagewriter zu verwenden, das über den Paketmanager nachinstalliert werden kann.
Das gelingt entweder grafisch über die Paketverwaltung oder mit dem Paketmanager Zypper:
- sudo zypper in imagewriter
- Da auch der Imagewriter intern wie dd arbeitet, lassen sich damit alle hybriden ISO-Dateien nutzen und nicht nur Suse-Linux.
- Fedora: Das Tool Liveusb-Creator findet sich in den Paketquellen und kann über
- sudo yum install liveusb-creator
- installiert werden. Sie starten es im Terminal mit
- sudo -H liveusb-Creator
Das Tool nutzt Elemente von Unetbootin und bietet unter "Download Fedora" die Möglichkeit, ein Image herunterzuladen. Es kann aber auch vorhandene ISO-Dateien auf beliebige Ziellaufwerke speichern. Das Ziellaufwerk muss bereits formatiert sein, wird anschließend aber nicht komplett überschrieben.