it-swarm.com.de

Warum funktioniert 'dd' nicht zum Erstellen von bootfähigem USB?

Kürzlich wollte ich ein bootfähiges USB von Linux Mint erstellen. Ich fand, dass es viele widersprüchliche Ratschläge/Erfahrungen darüber gab, ob der Befehl 'dd' zum Erstellen eines bootfähigen USB verwendet werden kann. Ich habe beschlossen, eine ISO herunterzuladen und zu versuchen. Während dd definitiv das Image auf den USB-Stick legte, war es nicht bootfähig. Meine Frage ist also, was ist die magische Zutat, die diese Funktion ausmacht, oder warum hat sich dieser Ansatz bewährt, wenn er nicht funktioniert?

Dies ist der Befehl, den ich verwendet habe,

dd if=/mint/iso/image of=/dev/sdb1 oflag=direct 
35
jdowner

Sie schreiben das Image auf die Partition 1 von/dev/sdb

Ändern Sie dies in den folgenden Befehl:

dd if=/mint/iso/image of=/dev/sdb oflag=direct

diese Informationen wurden von hier bezogen.

31
Dave G

Sie haben das Image auf die erste Partition kopiert. Versuchen Sie, nach/dev/sdb anstatt nach/dev/sdb1 zu kopieren.

Der tatsächliche Mechanismus hängt ein wenig vom verwendeten Image-Typ ab. Für einfache DOS/MBR-Images benötigen Sie jedoch eine korrekte Partitionstabelle (wobei die bootfähige Partition als bootfähig markiert ist und der MBR - der Teil der anfängliche 512 Bytes, die nicht die Partitionstabelle sind und den anfänglichen Startcode enthalten.

10
Kristof Provost

Nach meiner Erfahrung mit einer anderen Linux-Distribution müssen Sie nur die Syslinux-Bootloader-Datei ändern und sie so ändern, dass sie den USB-Stick startet. Weitere Informationen dazu finden Sie im Syslinux-Wiki .

Siehe auch diese Google-Suche .

2
Jacob J Daniels

Möglicherweise muss ein BPB in Ihren Bootloader geschrieben werden. Siehe den Beitrag von Dex vom 24. April 2009, 9:06 Uhr, unter http://f.osdev.org/viewtopic.php?f=1&t=19681

Das Wesentliche ist, dass "wenn [Ihre USB-Firmware] Benutzer Floppy-Emulation und Sie keinen BPB haben, wird es NICHT booten"

Mit diesem Rat konnte ich dieses Problem lösen. Ich benutze Linux, daher lautete mein Befehl dd:

Sudo dd bs=512 count=2880 if=IMG.bin of=/dev/sdb

Sie möchten sdb durch Ihr USB-Gerät ersetzen. Sie können es durch Laufen finden

ls -l /dev/ | grep sd

vor und nach dem einstecken des usb unter linux. Wenn Sie z.B. sdb1 und sdb haben die nicht indizierte Option gewählt.

1
define

Haben Sie sichergestellt, dass Ihr Motherboard so eingestellt ist, dass es vom USB-Gerät bootet, bevor es versucht, von Ihrer Festplatte zu booten? Ich würde vermuten, dass dies Ihr einziges Problem sein könnte - es gibt nicht viel, um dd zu verwenden, wie Sie sehen können.

0
Eli Sand

Ich bin auch ein paar Mal auf dieses Problem gestoßen.

Ich habe festgestellt, dass das meiste bei mir funktioniert, indem ich das Laufwerk zuerst mit Null fülle.

  1. Ändern Sie X in den Buchstaben oder die Nummer Ihres Laufwerks, um es zu finden:

    • Mac: diskutil list
    • Linux: lsblk
  2. Füllen Sie das Laufwerk auf Null

    • Mac: dd if=/dev/zero of=/dev/rdiskX bs=4m
    • Linux: dd if=/dev/zero of=/dev/sdX bs=4M
  3. dd dein bild nochmal

(4meg Blockgrößen scheinen für mich am schnellsten zu sein)

0
Andre Helberg