¿Cómo crear un disco de arranque con Linux en el terminal?
Información basada en kali
dd
Este programa permite copiar exactamente la información desde un archivo –.iso
en nuestro caso– a un disco/memoria. Suponiendo que se ha descargado una imagen que llamaremos linux.iso
, por otro lado tendremos una memoria USB. Cuando se intruduce la mencionada memoria en un USB libre el sistema Linux una forma de saber el pseudo archivo que le asigna el sistema es mediante el siguiente comando.
El comando mostrará los últimos eventos del sistema, entre ellos se observará uno que indica la introducción de la memoria y su asignación. La línea hará mención de algo del timpo sdb o sdc, aunque la última letra podría variar dependiendo del número de discos/memorias ya conectadas.
Con esa información ahora procederemos a copiar el fichero en la memoria USB. Hay que tener precaución y estar seguro que nombre asignó Linux a nuestra memoria (sbx). Si se ejecuta el siguiente comando contra el disco duro que contiene el sistema de arranque la información se perderá. En el comando siguiente se supondrá que la memoria USB se encuentra en /dev/sdc
.
El proceso tardará cierto tiempo, dependiendo del tamaño de la imagen linux.iso
, pero el comando no devolverá ninguna salida hasta que termine, habrá pues que tener paciencia.
Aprovechamiento de espacio adicional
Siguiendo el proceso anterior ya sería suficiente para crear un disco de arranque, pero quedaría espacio perdido en la memoria. En este apartado se mostrará como hacer para poder usarlo.
Mediante el siguiente comando veremos el estado inicial de la memoria, suponiendo como antes que esta se encuenta asignada a /dev/sdc
.
Como se puede ver en la salida del comando observamos que la memoria tiene una capacidad de 14.9 GB pero las particiones apenas emplean 3GB. Para recuperar los gigas perdidos haremos lo siguiente.
Primero veremos cuanto ocupa la imagen que hemos grabado con dd
y la pasaremos a una variable del sistema que llamaremos inicio.
Ahora crearemos una variable con la capacidad final que tiene la memoria, en ejemplo diremos que es 14GB, pero si fuese mayor o menor deberemos modificar el valor.
Finalmente invocamdos a parted
para que genere la nueva partición. Será necesario resonder Yes e Ignore.
Una vez terminado lo anterior ahora habrá que dar formato a la nueva partición, para ello haremos lo siguiente –La parte de ‘-L memoria’ es una etiqueta, es opcional y se puede cambiar–.
Otra forma de darle una etiqueta es mediante e2label
.
Verificación
Podremos comprobar si los cambios anteriores han surtido efecto mediante el siguiente comando.
Cifrado
En caso de que deseemos cifrar el contenido de la partición mediante una contraseña, una vez creada la partición y antes de darle formato –esto es: inmediatamente despues de ejecutar parted
– debemos ejecutar el siguiente comando.
Nota: Suponemos que la partición a encriptar está en /dev/sdc3
y que cryptsetup está instalado, de no estarlo instalarlo con sudo apt-get install cryptsetup
Debian y con sudo yum install cryptsetup
en CentOS.
Tras ejecutar el comando anterior se nos pedirá la contraseña dos veces para verificar que es la misma.
El siguiente paso es abrir el canal cifrado en la partición mediante LUKS, para ello hacemos lo siguiente –miUSB es el nombre que hemos seleccionado pero valdría cualquier otro–:
Ahora creamos una partición de tipo ext3.
Lo etiquetamos.
Mediante los siguientes crearemos un directorio en /mnt/miUSB
, montamos la unidad y la desmontamos. Si queremos añadir algún michero o directorio el momento será después de montarlo.
Finalmente cerramos el canal cifrado con el comando siguiente: