¿Qué es un ISO?
ISO, ISO9660 https://en.wikipedia.org/wiki/ISO_9660 es el formato estandar del sistema del «filesystem» para discos de media ópticos.
¿Porqué queremos escribir un ISO a un «USB drive»?
Primero por compatibilidad, necesitamos bootear el ISO en una computadora que no tiene lector de CD.
Segundo por conveniencia, los USB son mucho más pequeños, más rápidos, re-escribibles y más robustos que los CDs.
Paso a paso crearemos una USB booteable desde línea de comandos.
Suponiendo que queremos instalar Ubuntu en una laptop, lo primero sería ir a la página de Ubuntu http://www.ubuntu.com/download/desktop y descargarlo a nuestra máquina.
Una vez que tengamos el ISO en nuestra máquina pasamos a dar formato al «USB drive», asegurándonos que el dispositivo USB tenga al menos 2G de espacio disponible.
Existen diferentes maneras de formatear un dispositivo USB, el siguiente se ejecuta con línea de comandos mkfs:
Dar formato desde Línea de Comandos:
# lsblk
sdd 8:48 1 1.9G 0 disk
└─sdd1 8:49 1 1.9G 0 part /media/pendrive
En mi caso el sistema montó automáticamente el «USB Drive» en /media/pendrive en el disco sdd, la partición sdd1.
Sabiendo esto, desmontamos el dispositivo.
# umount /media/pendrive
Ahora vamos a formatear el «USB drive» a EXT4:
$ sudo mkfs.ext4 -L «UBUNTUS» /dev/sdd1
Enténdamos este comando:
mkfs: es utilizado para construir un sistema de archivos de linux en un dispositivo, usualmente una partición del disco duro. El argumento del dispositivo es o el nombre del dispositivo (ej. /dev/hda1, /dev/sdb2, /dev/sdd1), o un archivo regular que contenga el «filesystem».
ext4: formatear el dispositivo a EXT4, otros formatos disponibles son: mkfs.bfs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.minix, mkfs.msdos, mkfs.vfat, mkfs.xfs, mkfs.xiafs etc.
-L: el nombre del volumen, en nuestro caso actual se llama «pendrive» pero le cambiaremos el nombre a «UBUNTUS».
Una vez que lo hemos formateado, probamos de nuevo el comando
# lsblk
sdd 8:48 1 1.9G 0 disk
└─sdd1 8:49 1 1.9G 0 part /media/UBUNTUS
Ahora si, listo el dispositivo USB procedemos a desmontarlo para copiar los archivos vía el comando «dd».
# umount /media/UBUNTUS
Usamos dd para escribir la imagen ISO a la ruta del disco. En este caso sería a /dev/sdd en lugar de /dev/sdd1.
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdd && sync
Recordemos que:
Es bueno mencionar que el argumento bs=4M configura el tamaño del bloque para la operación dd a 4MB, lo que mejora considerablemente la velocidad de todo el conjunto.
Entendamos el comando dd:
dd bs=4M if=/path/to/file.iso of=/dev/sdd && sync
sudo: Esto es porque estamos usando un bloque del dispositivo en /dev y para esto necesitamos permisos de Super Usuario para poder escribir en el.
dd: «Data dupe», Duplicar Datos.
if: «Input file». Lo lee como un archivo (Recordemos que en Linux todo es un archivo) entonces podemos usar /dev/random para escribir datos a el «output».
of: «Output file». A donde estamos escribiendo, en este caso, directamente a un bloque del dispositivo USB.
bs: «Block size». Este argumento le dice a dd como procesar las operaciones. Si configuramos el bs a 1K, significa que lea 1kb de datos de «if», y después escriba 1kb de datos a «of» .
En nuestro ejemplo le estamos diciendo 4 megabytes. Esto es útil si se sabe el tamaño del bloque del «filesystem» o dispositivo.
sync: Rellena cada bloque leído con ceros, hasta el tamaño determinado por ibs.
Después de completar la operación «dd» el «USB drive» está listo para ser usado.
Comparte está información si te sirvió de algo.