Come faccio a creare un MBR su una chiavetta USB usando lo strumento da riga di comando DD


16

Ok, sto provando a creare un'immagine Windows7 BOOTABLE su una chiave USB da un Mac con Lion. La mia immagine è in formato .iso. Provai:

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

E questo è riuscito a scrivere i file, ad eccezione di DISK UTILITY sul Mac, mostra il tipo di partizione come Tabella delle partizioni GUID e non "Master Boor Record". L'avvio della chiave sul mio computer Vista genera l'errore "Nessun settore di avvio sul dispositivo USB"

Da quello che posso dire, bs = 1m nel comando DD avrebbe dovuto lasciare 1 Megabyte per il settore di avvio, ma per qualche ragione quest'area della chiave USB non è impostata correttamente in modo che si avvii

Come posso risolvere questo problema o utilizzare correttamente dd per scrivere un'immagine cd avviabile in modo che ora sia un'unità USB avviabile?

Nota: nelle istruzioni di cui ho letto, mi hanno consigliato di rinominare il mio Win7.iso in Win7.dmg prima di usare DD, il che non ha assolutamente senso per me, quindi non l'ho fatto. Potrei provare con questo passaggio ora, ma ci vogliono 1,99 ore per scrivere l'immagine sull'unità USB, quindi qui c'è una penalità enorme per tentativi ed errori. Grazie.


Hai verificato che il .iso file abbia un settore di avvio valido? Se lo hai strappato direttamente da un CD avviabile, potrebbe essersi verificato un problema poiché i CD hanno settori a 2048 byte e la maggior parte delle unità flash ha settori a 512 byte.
LawrenceC,

FYI. DD è un'utilità per convertire e copiare un file. Non sa nulla delle tabelle delle partizioni o dei settori di avvio. bs = 1m significa leggere e scrivere fino a 1 megabyte alla volta. Se si desidera lasciare spazio nella parte anteriore dell'unità, utilizzare seek = BLOCKS. Dove blocchi = dimensione del settore che per impostazione predefinita è 512.
Matt H

@MattH Hai scritto "FYI. DD è un'utilità per convertire e copiare un file." <--- È così totalmente sbagliato e tu lo sai. E per quello che sa, dici "Non sa nulla delle tabelle delle partizioni" Beh, certo che non lo fa, ma può comunque influenzarle. Si tratta di copiare i byte grezzi dalla partizione o dall'intero disco rigido, non dal file, e tu lo sai. E ciò che viene copiato può includere file e (mentre io non sono un esperto), suppongo che includerebbe una tabella delle partizioni.
barlop

dd non suona come lo strumento giusto per convertire un iso cd in un'immagine per usb. Esistono molti modi per inserire un iso win7 su USB e non credo che dd sia uno di questi! Almeno nessuno userebbe normalmente nessuno! dd / ddrescue è utile se si hanno due dischi rigidi identici e si desidera copiarli uno sull'altro. o se un disco rigido presenta degli errori e si desidera crearne un'immagine quando altri software di imaging non riescono.
barlop

@barlop - dd man page - "Copia un file, convertendolo e formattandolo secondo gli operandi."
Matt H

Risposte:


7

Utilizzare le Opzioni dell'utilità disco per impostare il tipo di partizione su Master Boot Record prima di eseguire dd.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


4
Questo è fallito. Ero a conoscenza delle impostazioni rappresentate nei tuoi screenshot ma dopo averlo fatto prima, poi DD, l'immagine risultante non trovava ancora un settore di avvio. Il comando DD sembra spazzare via qualunque cosa faccia l'utilità del disco, sembra che stia scrivendo in una modalità raw di livello molto basso. Vorrei che funzionasse, ma onestamente no, ed è stupido che l'utilità del disco non supporti le immagini .iso per il ripristino.
Lana Miller,

5

Ho avuto un problema simile durante il tentativo di creare un disco USB avviabile da OSX. Il problema era quello UnetBootin non impostava correttamente il Master Boot Record sul disco USB. Devi farlo manualmente con Disk Util e fdisk.

  1. Formattare il disco in Utility Disco, con l'MBR corretto

    1. Apri Utilità disco
    2. Seleziona il dispositivo USB
    3. Fai clic su Partizione
    4. Seleziona 1 partizione nel layout della partizione
    5. Seleziona "Master Boot Record" nelle opzioni
    6. Selezionare MS-DOS (FAT) nel tipo di formato.
    7. Fai clic su Applica, quindi su Partizione
    8. Close Disk Utility
      Questo pulirà il disco USB e lo configurerà con il record di avvio corretto
  2. Installa il binario MBR dal progetto SysLinux

    1. Utilizzare diskutil della riga di comando per trovare il nome del dispositivo per l'unità USB.
      elenco diskutil
    2. Smonta l'unità USB con la riga di comando. NB: assicurati di scambiare il riferimento del dispositivo (nel mio caso è / dev / SOMEdisk2) con quello corretto per la tua chiave USB che hai identificato nel passaggio precedente - questo cambierà per ogni macchina.
      diskutil unmountDisk / dev / SOMEdisk2
    3. Contrassegna la partizione come attiva, quindi smontala di nuovo
      sudo fdisk -e / dev / SOMEdisk2
      Stampa
      f 1
      Scrivi
      Stampa
      Uscita
      diskutil unmountDisk / dev / SOMEdisk2
    4. Scarica Syslinux ed estrai il file mbr.bin
    5. Installa l'MBR
      sudo dd conv = notrunc bs = 440 count = 1 if = mbr.bin of = / dev / SOMEdisk2
      NB: consulta le mie istruzioni complete se hai bisogno di ulteriore aiuto con i passaggi 4 e 5.
  3. Utilizzare UnetBootin per installare i file di installazione del sistema operativo

    1. Scarica e installa UnetBootin se non l'hai già fatto
    2. Caricare l'applicazione, selezionare la distribuzione preferita e quindi fare clic su OK
    3. Al termine, espellere la chiave USB e usarla

Istruzioni complete


Ciao Paul, se pubblichi un link per favore sii gentile e aggiungi altro contenuto. Ho aggiunto le tue istruzioni dettagliate se non ti dispiace. Altrimenti puoi ripristinare la modifica
nixda

Nessun problema, posso vedere che rende più veloce / facile ottenere la risposta, quindi lo farò la prossima volta - grazie per averlo fatto per me :)
Paul Maunders,

Ci sono 3 mbr.bin in syslinux zip, quale dovrei usare?
Olivier Lalonde

Basta usare quello standard syslinux-5.00 / mbr / mbr.bin
Paul Maunders

Non ha funzionato per me. Tuttavia, ho ricevuto il messaggio "Disco non di sistema".
rifiuti

1

Formattare una chiave USB con un Master Boot Record (MBR)

  • nel Terminale: elenco diskutil

  • annota il nome della tua chiave USB (la mia era / dev / disk1)

  • nel Terminale: diskutil eraseDisk MS-DOS "WINDOWS10" MBR / dev / disk1

  • sostituire / dev / disk1 con il nome della chiave USB

Montare un'immagine del disco di Windows 10

  • in Utility Disco: seleziona File ›Apri immagine disco› seleziona il tuo .iso

  • nel riquadro sinistro: fare clic sull'immagine appena montata

  • nel riquadro destro: selezionare il nome e copiarlo: qualcosa come CCSA_X64FRE_FR-FR_DV5

Copia l'immagine del disco sulla chiave USB WINDOWS10

  • nel Terminale: cd / Volumes

  • nel Terminale: cp -R CCSA_X64FRE_FR-FR_DV5 / WINDOWS10

  • sostituire il nome dell'immagine nell'esempio con il nome dell'immagine del disco

  • la barra alla fine (dopo DV5 nell'esempio) è importante

  • ci sono voluti più di 90 minuti per copiare su una chiave USB USB 2.0 senza indicatore di avanzamento


0

Questo metodo non utilizza dd né l'ho testato.

Dovresti essere in grado di utilizzare UNetBootIn per trasferire il file system nell'ISO su un'unità USB. UNetBootIn è un'utilità multipiattaforma open source per il trasferimento di immagini CD / DVD di avvio su unità USB.

Esegui UNetBootIn (funziona su Windows, Mac OS X e Linux) e seleziona il Disk Imagepulsante di opzione . Quindi scegliere ISOdal menu a discesa (ISO è l'impostazione predefinita) e inserire il percorso del file ISO nel campo percorso. Da lì selezionare l'unità USB desiderata su cui trasferirlo e fare clic su OK.

inserisci qui la descrizione dell'immagine


2
L'ho provato, sembrava funzionare, il settore di avvio è stato trovato, ma avverte di "sistema operativo mancante". Non sono sicuro che si tratti di un problema con l'immagine che ho usato, ma ne dubito. Giocherò un po 'di più con questo dato che sembrava scrivere correttamente il settore di avvio.
Lana Miller,

@LanaMiller Ricevo lo stesso errore, durante il tentativo di avvio con una chiavetta USB con Windows 7 Professional x64, sei riuscito a risolverlo?
Chris-Top,

0

Ho appena trovato una risposta qui

# 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/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.