¿Cómo escribir una imagen ISO en una memoria USB desde la línea de comandos de Linux?

23

Tengo problemas para descubrir cómo escribiría una imagen de disco ISO en un dispositivo de memoria flash USB desde la línea de comandos en Ubuntu. Tengo la utilidad Startup Disk Creator, pero necesito poder escribir este trabajo.

Encontré el paquete usb-creator, pero parece que no hay ninguna documentación y python -m usbcreatorda usbcreator is a package and cannot be directly executed.

Miré a unetbootin, pero parece otra utilidad solo para GUI.

¿Hay alguna solución obvia que estoy pasando por alto?

mikepurvis
fuente

Respuestas:

12

Sé que puedes hacer esto en UNetbootin gui. No lo he probado yo mismo, pero parece que también puedes hacerlo mediante la línea de comandos:

http://sourceforge.net/apps/trac/unetbootin/wiki/commands

método unetbootin = diskimage isofile = "my.iso" installtype = USB targetdrive = / dev / sdc1

Ian
fuente
^ la respuesta que iba a dar. unetbootinmaneja automáticamente los pasos necesarios para mover la mayoría de los archivos ISO a medios USB.
MikeyB
Para mí en Fedora Core 23 se inicia unetbootin guipero con la configuración proporcionada en la línea de comando.
Yaroslav Nikitenko
25

¿Estás seguro de que la imagen ISO funcionará en un dispositivo USB? Algunos ISO que se iniciarán si están en un CD / DVD no se iniciarán realmente desde un dispositivo USB.

Suponiendo que el ISO que desea tiene un gestor de arranque que funcionará, entonces debería ser tan simple como dd if=filename.iso of=/dev/usbdeviceesto, pero esto reemplazará todo lo que está actualmente en el disco USB.

Si desea colocar el ISO en un sistema de archivos existente en la unidad USB y arrancarlo, configurarlo puede ser mucho más complicado.

Zoredache
fuente
No, esto es perfecto; exactamente lo que necesitaba ¡Gracias!
mikepurvis
1
Ack ... no del todo. Este método carga el sistema de archivos, pero no parece hacer que el disco sea arrancable como lo hace la herramienta Startup Disk Creator (con el mismo ISO).
mikepurvis
2
Como mencioné, depende un poco de qué gestor de arranque está presente en el ISO y cómo está configurado. Algunas imágenes funcionarán simplemente haciendo un dd, otras no. Por ejemplo, un Debian Live funcionará bien utilizando el método dd. Para asegurarse de que puede probarlo, o lea los documentos de cualquier iso del que esté hablando para ver si es compatible.
Zoredache
2
@ Zoredache para verificar si isoes de arranque, puede usar file. Si se puede iniciar, se imprimirá bootableal final de la línea de salida.
Yaroslav Nikitenko
10

Desde Linux hay una manera muy fácil de crear una tarjeta de memoria de arranque a partir de una imagen ISO, y esto debería funcionar para cualquier sistema operativo. Suponiendo que el dispositivo de memoria es /dev/sdby la imagen es /home/username/Downloads/system.iso.

Solo haz esto (como root):

dd if=/home/username/Downloads/system.iso of=/dev/sdb

Mucho más fácil que la unetbootina o cualquier otro método del que haya oído hablar.

Paul
fuente
Esto supone que el gestor de arranque está incluido en la iso, que generalmente no es el caso.
mikepurvis
66
El único paso importante es escribir / archivo de salida en el dispositivo, no una partición. Es decir of=/dev/sdby NO of=/dev/sdb1. (Solo quería comentar sobre este problema, no hay nada malo con tu publicación: o))
sjas
Esto funcionó para mí cuando intenté instalar Debian 9 en un viejo netbook de PC Asus Eee. Unetbootin produjo unidades que no arrancaron en absoluto en este caso.
unfa
0

Yo uso el siguiente procedimiento:

1. Lectura del tamaño del bloque y el tamaño del volumen:

[root@testserver ~]# isoinfo -d -i /path_to_iso | grep -i -E 'block size|volume size' 
Logical block size is: 2048
Volume size is: 327867

2. Ejecutando dd con los parámetros para el tamaño del bloque y el tamaño del volumen:

root@testserver ~]# dd if=/path_to_iso of=/dev/your_usb_device bs=block-size-from-above count=volume-size-from-above
mixtou
fuente