Wie erstelle ich einen MBR auf einem USB-Stick mit dem DD-Befehlszeilentool?

16

Okay, ich versuche, ein bootfähiges Windows7-Image auf einem USB-Stick von einem Mac mit Lion zu erstellen. Mein Bild hat das ISO-Format. Ich habe es versucht:

sudo dd if=/Users/myusername/Win7.iso of=/dev/disk1 bs=1m

Und dies gelang beim Schreiben der Dateien, außer dass in DISK UTILITY auf dem Mac der Partitionstyp als GUID-Partitionstabelle und nicht als 'Master Boor Record' angezeigt wird. Das Booten des Schlüssels auf meinem Vista-Computer führt zur Fehlermeldung "Kein Bootsektor auf dem USB-Gerät".

Nach allem, was ich sagen kann, sollte bs = 1m im DD-Befehl 1 Megabyte für den Bootsektor übrig haben, aber aus irgendeinem Grund ist dieser Bereich des USB-Sticks nicht richtig eingerichtet, damit er bootet

Wie kann ich dieses Problem beheben oder mit dd ein bootfähiges CD-Image erstellen, sodass es sich nun um ein bootfähiges USB-Laufwerk handelt?

Hinweis: In den Anweisungen, die ich gelesen habe, wurde empfohlen, meine Datei "Win7.iso" in "Win7.dmg" umzubenennen, bevor DD verwendet wird. Dies ergab für mich absolut keinen Sinn, weshalb ich dies nicht tat. Ich könnte es jetzt mit diesem Schritt versuchen, aber es dauert 1,99 Stunden, um das Image auf das USB-Laufwerk zu schreiben. Vielen Dank.

Lana Miller
quelle
Haben Sie überprüft, ob die .isoDatei einen gültigen Bootsektor hat? Wenn Sie es direkt von einer bootfähigen CD gerippt haben, ist möglicherweise etwas schiefgelaufen, da CDs 2048-Byte-Sektoren und die meisten Flash-Laufwerke 512-Byte-Sektoren haben.
LawrenceC
Zu Ihrer Information. DD ist ein Dienstprogramm zum Verbergen und Kopieren einer Datei. Es weiß nichts über Partitionstabellen oder Bootsektoren. bs = 1m bedeutet, dass Sie bis zu 1 MB gleichzeitig lesen und schreiben können. Wenn Sie vor dem Laufwerk Platz lassen möchten, verwenden Sie seek = BLOCKS. Wobei Blöcke = Sektorgröße, die standardmäßig 512 ist.
Matt H
@MattH Sie haben geschrieben "FYI. DD ist ein Dienstprogramm zum Verbergen und Kopieren einer Datei." <--- Das ist so total falsch und du weißt es. Und was es betrifft, sagen Sie: "Es weiß nichts über Partitionstabellen." Nun, sicher, es weiß nicht, aber es kann sie immer noch beeinflussen. Es geht darum, die unformatierten Bytes von der Partition oder der gesamten Festplatte zu kopieren, nicht von der Datei, und Sie wissen es. Und was kopiert wird, kann Dateien enthalten und (obwohl ich kein Experte bin) würde es vermutlich eine Partitionstabelle enthalten.
Barlop
dd klingt nicht nach dem richtigen werkzeug, um eine cd iso in ein bild für usb zu konvertieren. Es gibt viele Möglichkeiten, eine win7-ISO auf USB zu übertragen, und ich glaube nicht, dass dd eine davon ist! Zumindest würde niemand normalerweise verwenden! dd / ddrescue ist gut, wenn Sie zwei identische Festplatten haben und eine auf eine andere kopieren möchten. oder wenn auf einer Festplatte Fehler aufgetreten sind und Sie ein Image davon erstellen möchten, wenn andere Imaging-Software dies nicht kann.
Barlop
@barlop - dd man page - "Eine Datei kopieren, entsprechend den Operanden konvertieren und formatieren."
Matt H

Antworten:

7

Verwenden Sie die Festplatten-Dienstprogrammoptionen, um den Partitionstyp auf Master Boot Record zu setzen, bevor Sie dd ausführen.

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Kobaltz
quelle
4
Dies ist fehlgeschlagen. Mir waren die in Ihren Screenshots gezeigten Einstellungen bekannt, aber nachdem Sie dies zuerst getan haben, dann DD, fand das resultierende Image immer noch keinen Bootsektor. Der DD-Befehl scheint sowieso alles zu verwerfen, was die Festplatte tut. Es scheint, als würde sie in einem sehr einfachen Raw-Modus schreiben. Ich wünschte, dies hätte funktioniert, aber ehrlich gesagt nicht, und es ist dumm, dass die Festplatten-Utilities keine .iso-Images für die Wiederherstellung unterstützen.
Lana Miller
5

Ich hatte ein ähnliches Problem beim Versuch, ein bootfähiges USB-Laufwerk unter OSX zu erstellen. Das Problem war, dass UnetBootin den Master Boot Record auf dem USB- Stick nicht richtig einrichtet. Sie müssen dies manuell mit Disk Util und fdisk tun.

  1. Formatieren Sie die Festplatte im Festplatten-Dienstprogramm mit dem richtigen MBR

    1. Öffnen Sie Disk Utilty
    2. Wählen Sie das USB-Gerät aus
    3. Klicken Sie auf Partition
    4. Wählen Sie 1 Partition im Partitionslayout aus
    5. Wählen Sie in den Optionen "Master Boot Record"
    6. Wählen Sie MS-DOS (FAT) als Formattyp.
    7. Klicken Sie auf Übernehmen und dann auf Partition
    8. Festplatten-Dienstprogramm schließen
      Damit wird die USB-Festplatte gelöscht und mit dem richtigen Startdatensatz eingerichtet
  2. Installieren Sie die MBR-Binärdatei aus dem SysLinux-Projekt

    1. Verwenden Sie die Befehlszeile diskutil, um den Gerätenamen für Ihr USB-Laufwerk zu ermitteln.
      diskutil liste
    2. Hängen Sie das USB-Laufwerk über die Befehlszeile aus. NB: Vergewissern Sie sich, dass Sie die Gerätereferenz (in meinem Fall / dev / SOMEdisk2) mit der richtigen für Ihren im vorherigen Schritt identifizierten USB-Schlüssel austauschen - dies ändert sich für jeden Computer.
      diskutil unmountDisk / dev / SOMEdisk2
    3. Markieren Sie die Partition als aktiv und hängen Sie sie dann wieder ab
      sudo fdisk -e / dev / SOMEdisk2
      drucken
      f 1
      schreiben
      drucken
      Ausfahrt
      diskutil unmountDisk / dev / SOMEdisk2
    4. Laden Sie Syslinux herunter und extrahieren Sie die Datei mbr.bin
    5. Installieren Sie den MBR
      sudo dd conv = notrunc bs = 440 count = 1 if = mbr.bin von = / dev / SOMEdisk2
      NB: Lesen Sie meine vollständigen Anweisungen, wenn Sie weitere Hilfe bei den Schritten 4 und 5 benötigen.
  3. Verwenden Sie UnetBootin, um die Installationsdateien Ihres Betriebssystems zu installieren

    1. Laden Sie UnetBootin herunter und installieren Sie es, falls noch nicht geschehen
    2. Laden Sie die Anwendung, wählen Sie Ihre bevorzugte Distribution aus und klicken Sie auf OK
    3. Wenn es fertig ist, werfen Sie den USB-Stick aus und verwenden Sie ihn

Vollständige Anweisungen

Paul Maunders
quelle
Hallo Paul, wenn du nur einen Link postest, sei bitte so nett und füge etwas mehr Inhalt hinzu. Ich habe Ihre Schritt-für-Schritt-Anleitung hinzugefügt, wenn Sie nichts dagegen haben.
Andernfalls
Kein Problem, ich kann sehen, dass es schneller / einfacher ist, zur Antwort zu kommen, also werde ich es beim nächsten Mal tun - danke, dass du es für mich getan hast :)
Paul Maunders
In syslinux zip gibt es 3 mbr.bin, welches soll ich verwenden?
Olivier Lalonde
Verwenden Sie einfach den Standard syslinux-5.00 / mbr / mbr.bin
Paul Maunders
Es hat bei mir nicht funktioniert. Trotzdem wurde die Meldung "Keine Systemfestplatte" angezeigt.
Verschwenden Sie den
1

Formatieren eines USB-Sticks mit einem Master Boot Record (MBR)

  • im Terminal: Diskussil-Liste

  • notiere den Namen deines USB-Sticks (meiner war / dev / disk1)

  • im Terminal: diskutil eraseDisk MS-DOS "WINDOWS10" MBR / dev / disk1

  • Ersetzen Sie / dev / disk1 durch den Namen Ihres USB-Sticks

Hängen Sie ein Windows 10-Image ein

  • Im Festplatten-Dienstprogramm: Wählen Sie Datei ›Festplatten-Image öffnen› Wählen Sie Ihre ISO-Datei

  • Im linken Bereich: Klicken Sie auf das neu eingebundene Bild

  • Im rechten Fensterbereich: Wählen Sie den Namen aus und kopieren Sie ihn. Beispiel: CCSA_X64FRE_FR-FR_DV5

Kopieren Sie das Disk-Image auf den WINDOWS10-USB-Stick

  • im Terminal: cd / Volumes

  • im Terminal: cp -R CCSA_X64FRE_FR-FR_DV5 / WINDOWS10

  • Ersetzen Sie den Image-Namen im Beispiel durch den Namen Ihres Disk-Image

  • Der Schrägstrich am Ende (nach DV5 im Beispiel) ist wichtig

  • Das Kopieren auf einen USB 2.0-USB-Stick ohne Fortschrittsanzeige dauerte mehr als 90 Minuten

Andrew Swift
quelle
0

Diese Methode benutzt weder dd noch habe ich sie getestet.

Sie sollten UNetBootIn verwenden können , um das Dateisystem in der ISO auf ein USB-Laufwerk zu übertragen. UNetBootIn ist ein plattformübergreifendes Open-Source-Dienstprogramm zum Übertragen bootfähiger CD / DVD-Images auf USB-Laufwerke.

Führen Sie UNetBootIn aus (läuft unter Windows, Mac OS X und Linux) und aktivieren Sie das Optionsfeld Disk Image. Wählen Sie dann ISOaus dem Dropdown-Menü (ISO ist die Standardeinstellung) und geben Sie den Pfad zur ISO-Datei in das Pfadfeld ein. Wählen Sie dort das gewünschte USB-Laufwerk aus, auf das es übertragen werden soll, und klicken Sie auf OK.

Bildbeschreibung hier eingeben

Andrew Lambert
quelle
2
Ich habe es getestet, es schien zu funktionieren, der Bootsektor wurde gefunden, aber es warnt vor 'fehlendem Betriebssystem'. Ich bin nicht sicher, ob das ein Problem mit dem von mir verwendeten Bild ist, bezweifle es aber. Ich werde ein bisschen mehr damit spielen, da es so aussah, als würde es den Bootsektor richtig beschreiben.
Lana Miller
@LanaMiller Beim Versuch, mit einem USB-Stick unter Windows 7 Professional x64 zu booten, wird derselbe Fehler angezeigt. Haben Sie es geschafft, ihn zu beheben?
Chris-Top
0

Habe gerade hier eine Antwort gefunden

# fdisk /dev/sdY

create single partition type 7+bootable partition

# mkfs.ntfs -f /dev/sdY1
# ms-sys -7 /dev/sdY

# mount -o loop win7.iso /mnt/iso
# mount /dev/sdY1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/
holms
quelle