Crear “Bootable USB” en Linux usando el comando “dd” a partir de imagen ISO.

Google Partners Agencia ReVLVeR Digital
Somos GOOGLE PARTNERS
Agosto 24, 2015
Show all

Crear “Bootable USB” en Linux usando el comando “dd” a partir de imagen ISO.

Comandos linux revlver digital

¿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:

  1. Insertar el “USB drive” en el sistema.
  2. Abrir la terminal.
  3. Buscar el “USB drive” que queremos formatear, para esto podemos usar el comando “df” para identificar los dispositivos o discos disponibles o el comando “lsblk” para identificar la ruta del dispositivo donde está montado.

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

  • Se requiere acceso de “root” para correr el comando.
  • dd remplaza por completo los datos del USB, cualquier dato en el se perderá.
  • dd necesita escribir a la ruta del disco, no a la ruta de la partición.

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.

Patricio Espinoza
Patricio Espinoza
Mercadólogo Dígital, Emprendedor, Entusiasta digital, Startupper con grado de maestría en Administración de empresas y 13 años de experiencia en la aplicación del Mercadeo Digital. Apasionado aprendíz de tendencias digitales, Vegetariano, Amante de la Vida y de la Gente, Humanista.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *