Bootfähige Startmedien aus ISO-Dateien erstellen
Um bootfähige Startmedien aus ISO-Dateien zu erstellen, sind im Gegensatz zu einem einfachen Kopiervorgang zusätzlich Schritte erforderlich. Dieser Artikel gibt einen Überblick über bekannten Programme, um das Vorhaben komfortabel und effektiv umzusetzen.
Inhaltsverzeichnis
Einleitung
Dieser Artikel wurde bereits in einem Blogartikel von vNotes behandelt.
Soll auf einem Computer ein Betriebssystem installiert oder ein Live-System gestartet werden, hat man sich früher immer die entsprechende ISO-Datei heruntergeladen und diese dann auf eine CD, später DVD, gebrannt. Da heutzutage allerdings DVD-Laufwerke in Computern immer seltener werden und die optischen Datenträger auch nur begrenzt wiederverwendbar sind, muss man sich nach Alternativen umschauen. Das gilt ohne Frage auch für Geräte wie Raspberry Pis.
Wechseldatenträger wie z.B. USB-Sticks oder auch SD-Karten bieten sich dafür gut an, aber es gibt Probleme, da sich eine ISO-Datei nicht klassisch darauf "brennen" lässt. Einfach den Inhalt der ISO-Datei mit einem Programm wie 7-Zip zu entpacken und die Dateien auf den Wechseldatenträger zu kopieren, sieht zwar erst einleuchtend aus, wird aber meist vom Computer, der vom Datenträger starten soll, (hierzu muss man den USB-Stick im Boot-Menü auswählen) nicht akzeptiert. Einer der Gründe dafür ist, dass das Medium als bootfähig markiert werden muss, um einen Start zu ermöglichen.
Hinweis: beim Erstellen von bootfähigen Medien wird bei den vorgestellten Programmen immer der Zieldatenträger teilweise bzw. vollständig gelöscht! Unbedingt vorher Backups erstellen!
Programmübersicht
Name | URL | Lizenz / Preis | Beschreibung |
---|---|---|---|
UNetbootin | unetbootin.github.io | GPL / kostenlos | insb. für die Erstellung von Linux/BSD-Systemen |
Rufus | rufus.akeo.ie | GPLv3 / kostenlos | Windows-only, besonders für Windows-ISOs, UEFI-Support |
Etcher | etcher.io | Apache / kostenlos | Electron-basiert, easy to use, für Proxmox geeignet |
dd | <Linux coreutils> | GPL / kostenlos | leistungsfähig, für fortgeschrittene Anwender |
UNetbootin
Der Einsatz von UNetbootin ist denkbar einfach. Eine grafische Benutzeroberfläche bietet die Möglichkeit, von verschiedenen Quellen (ISO-Datei, Web oder spezielle Konfiguration) Daten auf einen Datenträger zu überspielen. Auch bei der Auswahl des Ziellaufwerks wird der Anwender durch eine Vorfilterung unterstützt, um das Risiko, die ISO-Datei versehentlich auf die Festplatte zu schreiben, zu minimieren.
Nach Bestätigung wird in wie in einem Assistenten der Ausgabe eine Seite weitergeschaltet. Nun werden Informationen wie Fortschritt über den Kopiervorgang angezeigt.
Rufus
Für Windows-Nutzer mag Rufus eine gute Wahl sein, da das Tool besonders mit Windows-Medien gut umgehen kann. So können hier nicht nur weitere Informationen über die Partitionstabelle des Zielmediums (GPT / MBR) getroffen werden, es können (dadurch) auch für Windows-Medien wichtige Einstellungen getroffen werden, die für Windows To Go wichtig werden.[1]
dd
Der Einsatz von dd ist für erfahrene Anwender selbsterklärend. Wichtig ist im Hinterkopf zu behalten, dass unter unix(oden) Systemen wie Linux die „Everything is a file“-Philosophie gilt und somit auch Geräte wie Massenspeicher oder Partitionen mit einem file descriptor wie eine Datei angesprochen werden können.
Somit kopiert dd einfach nur den Inhalt bitweise von einem Eingang (input file, if) zu einem Ausgang (output file, of).
Soll nun eine ISO-Datei (hier beispielhaft ubuntu-19.04-desktop-amd64.iso) auf einen USB-Massenspeicher kopiert werden, der im System als /dev/sdb eingehangen ist, sieht das Kommando folgendermaßen aus:
sudo dd if=ubuntu-19.04-desktop-amd64.iso of=/dev/sdb
Wird das Kommando direkt als root ausgeführt, entfällt das vorangestellte sudo. Wichtig ist es in jedem Fall, if und of nicht zu vertauschen, da sonst Datenverlust möglich ist.
dd ist mit bzgl. einer Fortschrittsanzeige immer sehr zurückhaltend, mit neueren Versionen (GNU coreutils ab Version 8.24) lässt sich mit der neuen Option status=progress
allerdings ein laufend aktualisierter Zwischenstand anzeigen. Das sieht dann ingesamt so als Kommando aus:
sudo dd if=ubuntu-19.04-desktop-amd64.iso of=/dev/sdb status=progress
Einzelnachweise und Anmerkungen
- ↑ zumindest in früheren Versionen, ich habe aktuell keine neueren Informationen hierzu