Verwenden Sie den Befehl 'dd', um einen bootfähigen USB-Stick zu erstellen


11

Warum können ISO-Images einiger Ubuntu- Varianten mit dem Befehl dd auf einen USB-Stick übertragen und erfolgreich gestartet werden, während andere Versionen dies nicht tun? Außerdem scheint es auch von einem bestimmten USB-Stick abhängig zu sein. Ich habe es mit Standard-Ubuntu versucht:

$ sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129

Und es funktioniert wie Charme, ich meine: booten und installieren oder Live-Ubuntu ausführen. Wenn ich jedoch einen anderen USB-Stick verwende, der auf die gleiche Weise vorbereitet wurde, kann der BIOS-Fehler des Betriebssystems nicht gefunden werden.

Wenn ich das Ubuntu GNOME ausprobiere, bootet es einfach nicht mit demselben Fehler wie im vorherigen Beispiel, unabhängig davon, welchen USB-Stick ich verwende.

Ich weiß, dass es in Ubuntu eine Startup Disk Creator- Anwendung gibt, aber ich war überzeugt, dass es sich nur um eine GUI-Fassade für einfache dd- Befehle handelt, und ich kann dd immer verwenden , um einen bootfähigen USB-Stick zu erstellen, zumindest für Linux. Liege ich falsch?


Ich persönlich benutze Unetbootin und hatte noch nie ein Problem.
Tim

Antworten:


5

Wenn Sie Startup Disk Creator ausführen, werden Sie feststellen, dass es drei (vier) Dinge tut:

  1. Formatieren Sie das Laufwerk
  2. Kopieren Sie die Daten von der ISO auf das Laufwerk
  3. (Fügen Sie eine zusätzliche Casper 1- Datei für die Persistenz hinzu, falls ausgewählt. Dies ddgibt Ihnen keine Persistenz.)
  4. Installieren Sie einen Bootloader

Es ist keine GUI für dd(es gibt GUIs für dd, aber die DEZA ist keine davon). Sie können sich vorstellen, dass dies den manuellen Methoden von Arch Linux oder Gentoo entspricht . Sie sollten in der Lage sein, einen bootfähigen USB-Stick mit den meisten (einigermaßen beliebten) Installations-ISOs von Distributionen zu erstellen. Dies war vor drei oder vier Jahren nicht der Fall, als ich Arch ansah. Erst 2010 erhielten alle Arch-ISOs diese Funktion (wo Sie sie direkt auf ein USB-Laufwerk schreiben konnten) - von 2008 bis 2010 hatten sie spezielle USB-Images.

Wenn Sie ddein Laufwerk direkt verwenden, ist dieses Laufwerk effektiv schreibgeschützt, bis Sie es formatieren oder den verbleibenden Speicherplatz irgendwie nutzen. Eine von SCD erstellte Festplatte kann weiterhin als USB-Laufwerk verwendet werden, obwohl der Inhalt von der Live-Umgebung aus nicht leicht zugänglich ist. Wenn Sie also dd1 GB ISO auf ein 8- oder 16-GB-USB-Laufwerk übertragen, verlassen Sie den verbleibenden Speicherplatz effektiv, sofern keine zusätzlichen Schritte unternommen werden.


1 In der Regel verwenden die meisten Live-Images eine SquashFS- Datei für die Root- Partition. SquashFS ist schreibgeschützt, daher wird aus Gründen der Persistenz eine casper-rwDatei in erstellt /casper. Ich bin mir nicht sicher, woher casper. boot=casperSoweit ich weiß, überlagert der Kernel beim Booten mit der Option die Casper-Datei (erstellt eine, falls keine vorhanden ist) über den Squashfs, sodass sie Schreibfähigkeit erhält. caspermuss keine Datei sein, es kann auch eine Partition sein .


Was ist "Casper-Datei"? Bitte erkläre.

@ MikołajBartnicki Ich bin mir nicht sicher, aber ich habe die Antwort aktualisiert.
Muru

Casper ist ein Geist (den Sie alle kennen). Wie Sie sagten, überlagert es einige Ordner im ro-Dateisystem. Wenn Sie das Dateisystem von einem laufenden Live-Image mit aktivierter Persistenz aus untersuchen, werden einige Verzeichnisse 'Upper' und 'Lower' angezeigt, die sowohl auf dem schreibgeschützten als auch auf dem Schreibsystem vorhanden sind, aber auf dem laufenden System als eines angezeigt werden, ähnlich einem Mount über einem bereits vorhandenen vorhandener Ordner
oneindelijk

2

versuchen Sie es zuerst:

su -c 'mkfs.vfat /dev/sdc -I'

Um eine bootfähige USB-Festplatte aus einer ISO-Datei mit dem Befehl dd zu erstellen , darf die Festplatte keine Partitionen wie / dev / sdc1 haben (eine von vier möglichen primären Partitionen von disk / dev / sdc ). Sie können keine Iso-Dateiblöcke auf die primäre Partition klonen, da DVDs oder CDs diese auch nicht haben. Aus diesem Grund müssen Sie ein Dateisystem genau auf der Festplatte / dev / sdc erstellen , nicht auf der primären Partition.

Außerdem haben Sie durch Eingabe des Befehls dd einige Fehler gemacht .

Versuche dies:

su -c 'dd if=/home/user/debian.iso of=/dev/sdc bs=4M;sync;eject /dev/sdc'

Ihr Befehl wird ohne mkfs.vfat nicht korrigiert. kann sein, wenn Sie auch den Bootloader installieren und die Partition aktivieren. Andere USB-Laufwerke funktionieren möglicherweise nicht, weil Ihr USB-Port mit einem anderen USB-Port geteilt werden kann oder Sie nicht über Strom für ein Live-USB-Betriebssystem verfügen, wahrscheinlich über ein funktionierendes Festplattenlaufwerk und eine andere USB-Festplatte, die mehr Strom als gewöhnlich benötigt. Als der durchschnittliche Stromverbrauch dieser Art von Geräten (wie Festplatten im externen Fall mit USB vom Sata-Adapter)


2

Sie können sogar einen bootfähigen USB-Stick mit erstellen cp(dies scheint mir viel einfacher zu sein als ddeine GUI):

sudo cp path/to/ISO /dev/sdX


Denken Sie daran , dass /dev/sdXmit dem Namen Ihres Blockgerät ersetzt werden sollte (zB /dev/sdb, /dev/sdc).


1
Das war wirklich neu für mich. Zusammen mit progress unix.stackexchange.com/a/301329/87264 zeigt es auch Fortschritte
Jonas Eberle
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.