¿Cómo creo un MBR en una memoria USB usando la herramienta de línea de comando DD?

16

Bien, estoy tratando de crear una imagen de Windows 7 INICIABLE en una llave USB desde una Mac con Lion. Mi imagen tiene formato .iso. Lo intenté:

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

Y esto logró escribir los archivos, excepto en DISK UTILITY en el mac, muestra el tipo de partición como GUID Partition Table y no 'Master Boor Record'. Arrancar la clave en mi computadora con Vista produce el error "Sin sector de arranque en dispositivo USB

Por lo que puedo decir, bs = 1m en el comando DD debería haber dejado 1 Megabyte para el sector de arranque, pero por alguna razón esta área de la llave USB no está configurada correctamente para que arranque

¿Cómo puedo solucionar esto o usar correctamente dd para escribir una imagen de CD de arranque de modo que ahora sea una unidad usb de arranque?

Nota: en las instrucciones que leí, me recomendaron cambiar el nombre de mi Win7.iso a Win7.dmg antes de usar DD, lo que no tenía ningún sentido para mí, por lo que no lo hice. Podría intentar con ese paso ahora, pero lleva 1.99 horas escribir la imagen en la unidad USB, por lo que hay una gran penalización de prueba y error aquí. Gracias.

Lana molinero
fuente
¿Has verificado que el .isoarchivo tiene un sector de arranque válido? Si lo extrajo directamente de un CD de arranque, es posible que algo haya salido mal, ya que los CD tienen sectores de 2048 bytes y la mayoría de las unidades flash tienen sectores de 512 bytes.
LawrenceC
FYI. DD es una utilidad para encubrir y copiar un archivo. No sabe nada sobre tablas de particiones o sectores de arranque. bs = 1m significa leer y escribir hasta 1 megabyte a la vez. Si quisieras dejar espacio en la parte delantera de la unidad, usarías seek = BLOCKS. Donde bloques = tamaño del sector que por defecto es 512.
Matt H
@MattH Escribiste "FYI. DD es una utilidad para encubrir y copiar un archivo". <--- Eso está muy mal y lo sabes. Y en cuanto a lo que sabe, usted dice "No sabe nada acerca de las tablas de particiones". Claro que no, pero aún así puede afectarlos. Se trata de copiar los bytes sin procesar de la partición o del disco duro completo, no del archivo, y lo sabes. Y lo que se copia puede incluir archivos y (aunque no soy un experto), supongo que incluiría una tabla de particiones.
barlop
dd no suena como la herramienta adecuada para convertir un iso de cd en una imagen para usb. Hay muchas formas de poner un win7 iso a USB, ¡y no creo que dd sea una de ellas! ¡Al menos nadie lo usaría normalmente! dd / ddrescue es bueno si tiene dos discos duros idénticos y desea copiar uno a otro. o si un disco duro tenía algunos errores y desea crear una imagen de él cuando otro software de imágenes no lo hace.
barlop
@barlop - página de manual de dd - "Copie un archivo, convirtiéndolo y formateándolo de acuerdo con los operandos".
Matt H

Respuestas:

7

Use las Opciones de la Utilidad de Discos para establecer el tipo de partición en Registro de arranque maestro antes de hacer dd.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Kobaltz
fuente
44
Esto falló. Era consciente de la configuración representada en sus capturas de pantalla, pero después de hacer esto primero, luego DD, la imagen resultante todavía no encontraba un sector de arranque. El comando DD parece desechar todo lo que hace la utilidad de disco de todos modos, parece que está escribiendo en un modo sin procesar de muy bajo nivel. Desearía que esto funcionara, pero sinceramente no lo hizo, y es estúpido que la utilidad de disco no admita imágenes .iso para restaurar.
Lana Miller
5

Tuve un problema similar al intentar crear un disco USB de arranque desde OSX. El problema era que UnetBootin no configuraba el registro de arranque maestro correctamente en el disco USB. Tiene que hacer esto manualmente con Disk Util y fdisk.

  1. Formatee el disco en la Utilidad de Discos, con el MBR correcto

    1. Utilidad de disco abierto
    2. Seleccione el dispositivo USB
    3. Haga clic en Partición
    4. Seleccione 1 partición en el diseño de partición
    5. Seleccione "Master Boot Record" en las opciones
    6. Seleccione MS-DOS (FAT) en el tipo de formato.
    7. Haga clic en Aplicar, luego en Partición
    8. Cerrar utilidad de disco
      Esto borrará el disco USB y lo configurará con el registro de arranque correcto
  2. Instale el binario MBR del proyecto SysLinux

    1. Use la línea de comandos diskutil para encontrar el nombre del dispositivo para su unidad USB.
      lista diskutil
    2. Desmonte la unidad USB con la línea de comando. NB: asegúrese de cambiar la referencia del dispositivo (en mi caso es / dev / SOMEdisk2) con la correcta para su clave usb que identificó en el paso anterior; esto cambiará para cada máquina.
      diskutil unmountDisk / dev / SOMEdisk2
    3. Marque la partición activa, luego vuelva a desmontarla
      sudo fdisk -e / dev / SOMEdisk2
      impresión
      f 1
      escribir
      impresión
      salida
      diskutil unmountDisk / dev / SOMEdisk2
    4. Descargue Syslinux y extraiga el archivo mbr.bin
    5. Instale el MBR
      sudo dd conv = notrunc bs = 440 count = 1 if = mbr.bin of = / dev / SOMEdisk2
      NB: consulte mis instrucciones completas si necesita más ayuda con los pasos 4 y 5.
  3. Use UnetBootin para instalar los archivos de instalación de su sistema operativo

    1. Descargue e instale UnetBootin si aún no lo ha hecho
    2. Cargue la aplicación, elija su distribución preferida y luego haga clic en Aceptar
    3. Cuando termine, expulse la llave USB y úsela

Instrucciones completas

Paul Maunders
fuente
Hola Paul, si solo publicas un enlace, sé amable y agrega más contenido. Agregué tus instrucciones paso a paso si no te importa. De lo contrario, puede revertir la edición
nixda
No hay problema, puedo ver que hace que sea más rápido / fácil llegar a la respuesta, así que lo haré la próxima vez, gracias por hacerlo por mí :)
Paul Maunders
Hay 3 mbr.bin en syslinux zip, ¿cuál debo usar?
Olivier Lalonde
Simplemente use el estándar syslinux-5.00 / mbr / mbr.bin
Paul Maunders
No me funcionó. Aún así, recibí el mensaje "Disco no del sistema".
Residuos
1

Formatee una llave USB con un Master Boot Record (MBR)

  • en Terminal: lista diskutil

  • anote el nombre de su llave USB (la mía era / dev / disk1)

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

  • reemplace / dev / disk1 con el nombre de su llave USB

Montar una imagen de disco de Windows 10

  • en la Utilidad de Discos: seleccione Archivo ›Abrir Imagen de Disco› seleccione su .iso

  • en el panel izquierdo: haga clic en la imagen recién montada

  • en el panel derecho: seleccione el nombre y cópielo: algo así como CCSA_X64FRE_FR-FR_DV5

Copie la imagen del disco a la llave USB WINDOWS10

  • en el terminal: cd / Volumes

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

  • reemplace el nombre de la imagen en el ejemplo con el nombre de su imagen de disco

  • la barra al final (después de DV5 en el ejemplo) es importante

  • se tardó más de 90 minutos en copiar a una llave USB 2.0 USB sin indicador de progreso

Andrew Swift
fuente
0

Este método no usa dd ni lo he probado.

Debería poder utilizar UNetBootIn para transferir el sistema de archivos en ISO a una unidad USB. UNetBootIn es una utilidad multiplataforma de código abierto para transferir imágenes de CD / DVD de arranque a unidades USB.

Ejecute UNetBootIn (se ejecuta en Windows, Mac OS X y Linux) y seleccione el Disk Imagebotón de opción . Luego, elija ISOdel menú desplegable (ISO es el valor predeterminado) y coloque la ruta al archivo ISO en el campo de ruta. Desde allí, seleccione la unidad USB deseada para transferirla y haga clic en Aceptar.

ingrese la descripción de la imagen aquí

Andrew Lambert
fuente
2
Lo probé, parecía funcionar, se encontró el sector de arranque, pero advierte de que falta el sistema operativo. No estoy seguro de si eso es un problema con la imagen que utilicé, pero lo dudo. Voy a jugar con esto un poco más, ya que parecía escribir correctamente el sector de arranque.
Lana Miller
@LanaMiller Recibo el mismo error, mientras intentaba arrancar con un dispositivo USB con Windows 7 Professional x64, ¿lograste resolverlo?
Chris-Top
0

Acabo de encontrar una respuesta aquí

# 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
fuente