martes, 20 de agosto de 2019

Crear un Live USB persistente con mkusb


Hola amigos del software libre,

Hoy os traigo este artículo donde podréis ver como crear un Live USB persistente.

¿Pero que es un Live USB persistente?

Es una memoria USB en la cual se ha copiado una imagen ISO de un sistema operativo GNU/Linux con el cual poderlo ejecutar en una computadora, pero con la salvedad que todos los cambios que hagáis durante la sesión serán guardados al apagar la computadora. Cambios como por ejemplo en la configuración del escritorio o de programas, instalación de aplicaciones, guardado de archivos, etc. Algo que no quedaría guardado en un Live USB.
En definitiva es un sistema operativo en un lápiz de memoria USB que os podréis llevar consigo, arrancarlo en cualquier computadora y guardar todos los cambios realizados.



Es muy útil si queréis trabajar en computadoras ajenas, hacer tests, reparaciones o recuperaciones en cualquier ordenador, ya que os podréis descargar de los repositorios cualquier programa que necesitéis y allí (en una partición del lápiz) los tendréis para las próximas sesiones.

Algo que no es posible hacer en un Live USB, ya que al cerrar la sesión perderéis todos los cambios realizados y la próxima vez que iniciéis una nueva sesión.... pues vuelta a empezar.

De echo, la diferencia entre una memoria Live USB y una LIVE USB persistente es que en la primera solo hay una partición donde se copia la imagen ISO de una distribución de GNU/Linux, y en un Live USB persistente se crean tres particiones: en una se encuentra la imagen de la distribución GNU/Linux, en otra partición se guardan los cambios de configuración, aplicaciones y documentos de dicha distribución y en una tercera partición que ha sido formateada con el sistema de archivos Fat32, poder ser leída desde cualquier sistema operativo y por tanto poder guardar todo tipo de documentos desde otros sistemas operativos, que es la función que hace una memoria USB.

¿Como creamos un Live USB persistente?

En este artículo utilizaremos la aplicación "mkusb", donde puedes elegir si utilizarla desde el emulador de comandos o como interfaz gráfica. La herramienta mkusb fue desarrollada para hacer más simple y seguro el crear unidades de arranque con el método de flashear o clonar una imagen ISO o un archivo de imagen comprimido. No se encuentra en los repositorios de Ubuntu, pero podemos añadir el ppa en el listado de repositorios con el "ppa: mkusb/ppa" del desarrollador.

Como último apunte antes de entrar en faena, deciros que la aplicación "mkusb" usa el poderosísimo comando "dd" (data duplicator), llamado de forma humorística como "disk destroyer", con él podemos copiar archivos, imágenes, entre particiones, entre unidades de almacenamiento, y formatear o sobrescribir, por tanto podemos hacer algún destrozo si no vamos con mucho ojo. De ahí el sentido que tiene utilizar "mkusb".

"mkusb" nos lleva bien agarrados de la mano, guiándonos mediante opciones bien definidas, para que no nos suceda ningún percance con la información.

Pasamos a la práctica, Estamos en una computadora HP Compaq 8200 con la distribución Ubuntu 18.04 LTS, y como ejemplo vamos a crear un Live USB persistente con la última distribución de Ubuntu hasta la fecha de creación de este artículo que es la 19.04:

1.- Añadiremos el ppa para que se añada el repositorio de los desarrolladores de "mkusb" a nuestro listado de repositorios, abrimos el terminal de comandos y escribimos:

$ sudo add-apt-repository ppa:mkusb/ppa



2.- Actualizamos el listado de versiones de programas de todos los repositorios:

$ sudo apt update


3.- Descargaremos e instalaremos los siguientes tres paquetes:

$ sudo apt install mkusb mkusb-nox usb-pack-efi


4.- Debemos tener descargada en un directorio del disco duro una imagen ISO de una distribución GNU/linux, en mi caso Ubuntu 19.04.


5.- Conectamos un lápiz USB de 8 GB o 16 GB. Para hacer esta prueba conectaré una memoria USB 2.0 de 8 GB. Mejor que sea 3.0 para mayor velocidad de transferencia de datos.
Pensad que todo lo que haya guardado en el lápiz USB se perderá, así que haced una copia de lo que tengáis guardado en el mismo.




6.- Tenemos que ver con que nombre de dispositivo ha montado el lápiz USB una vez conectado. Y aquí no podemos fallar, a ver si nos equivocamos y formateamos algún otro dispositivo de almacenamiento como por ejemplo el disco duro donde estamos trabajando. Mucho cuidado.
Para poder ver y comprobar en que nombre de dispositivo se ha montado la memoria USB tenemos varias alternativas: mediante el terminal de comandos tenemos "fdisk", y como aplicación gráfica tenemos el programa "Discos" de gnome. Para estar completamente seguros utilizaremos los dos programas.

Abrimos un terminal de comandos y ejecutamos:

$ sudo fdisk -l

Y podemos ver un resultado similar a la siguiente imagen, en la cual buscaremos el tamaño del dispositivo USB, que en mi caso es de 8GB.



Lo tengo localizado y le ha asignado el nombre /dev/sdb

Comprobamos que estamos en lo cierto y no nos hemos equivocado, ejecutamos la aplicación "Discos" que se encuentra instalada en Ubuntu, presionamos la tecla inicio y buscamos la aplicación "Discos".


Al ejecutarse se verá algo tal como esto, y a la izquierda podremos ver nuestras unidades de almacenamiento. Comprobamos que el lápiz USB está montada en /dev/sdb.



7.- Bien, una vez estamos seguros del nombre que se le ha dado a nuestro dispositivo crearemos el Live USB permanente.
Es hora de arrancar el programa mkusb.
Podemos buscarlo en el tablero como hemos echo al buscar la aplicación "Discos", Pulsamos la tecla inicio y escribimos "mkusb".


Una vez se ejecuta, se abre un terminal de comandos y nos aparece una primera ventana donde nos pregunta si queremos usar la versión "dus", es una versión del programa de interfaz gráfica donde elegiremos las diferentes opciones que se transmitirán y ejecutarán en el terminal.


Por tanto elegiremos "Si".
Ahora nos pide la contraseña de usuario administrador, ya que se necesitan permisos de superusuario para ejecutar el comando "dd", que es en realidad el comando que utiliza el programa "mkusb".


Una vez aceptamos, nos aparece una ventana de advertencia, recordándonos que se sobre escribirán los datos en el dispositivo destino o objetivo.


Continuamos y nos emerge una nueva ventana con una serie de opciones, a nosotros nos interesa la primera de todas "Instalar o crear un dispositivo arrancable".
Como podéis comprobar este programita puede hacer mas tareas, como crear backups, restaurarlos y también hacer un wipe (formato zero filling o sobre escritura de ceros).


Elegimos la primera opción y pulsamos en aceptar.
En la siguiente ventana nos aparecen mas opciones, deberemos elegir la tercera opción "persistent live".


Pulsamos en el botón "Aceptar" para continuar.
Nos pide elegir la imagen ISO que queremos copiar.


La buscamos en nuestro disco duro donde la hayamos guardado, la seleccionamos y aceptamos.
Nos pide que seleccionemos el dispositivo objetivo o destino donde queremos copiar la imagen ISO.
En mi caso solo tengo conectada una memoria USB, así me libro de problemas de error eligiendo dispositivos. Compruebo que es el dispositivo montado en /dev/sdb y que coincide el tamaño en GB.


Si tuvierais mas dispositivos conectados serían listados y deberíais de elegir el correcto. MUCHO CUIDADO en este paso.
Una vez estáis seguros del dispositivo destino aceptáis.

Esta ventana que os aparece a continuación os pide que seleccionéis el tipo de tabla de partición deseáis crear en la memoria USB.


Deberéis presionar la segunda opción, que sea el gestor de arranque de Linux "grub" que incorpora nuestra imagen ISO el que tome el control.

Aceptamos para continuar.

En la siguiente ventana que nos aparece, nos pide que seleccionemos un tamaño en porcentaje para la partición persistente (donde se almacenarán las configuraciones, programas instalados y archivos creados de nuestro sistema operativo en el USB) y otro tamaño para la partición de almacenaje de datos para todos los sistemas operativos. Restando la partición creada para la imagen ISO.

Mi memoria USB es de 8 GB, supongamos que la partición de la imagen ISO del sistema operativo nos ha ocupado 2 GB, pues nos restan aproximadamente 6 GB a repartir entre la partición persistente y la partición de almacenaje de datos.


Yo voy a dejarlo como veis en la imagen, la mitad para cada una de las dos particiones, 50% y 50%.
Pulsaré en aceptar.

Y otra ventana mas, esta es para confirmar todo. A partir de aquí no hay vuelta atrás.


Seleccionamos en "Go" y pulsamos el botón "Go".

A mi me han aparecido una serie de ventanas de advertencia que no os tienen porque aparecer a vosotros.
En esta me está diciendo: "dus-persistent 12.3.0 no puede instalar el paquete 'grub-pc' cuando se ejecuta en sistemas instalados en modo UEFI. "grub-pc 'se usa para hacer que las unidades en vivo persistentes puedan arrancarse en modo BIOS. Entonces, si desea un sistema en vivo persistente, que pueda arrancar en modo BIOS, tiene estas alternativas:
1. Arranque en modo BIOS, si puede. Instale y ejecute dus-persistent, en un sistema live, o live persistente instalado.
2. Puede instalar 'grub-pc' en todos los sistemas live, por lo que puede ejecutar dus-persistent en una sesión en live o live persistente en modo UEFI.
3. Usted * puede * también decidir usar 'grubimg', la imagen 'grub.img.xz' más adelante durante esta instalación (para crear un sistema en vivo persistente, que pueda arrancar en modo BIOS)."


En la computadora donde estoy creando la memoria live-USB, tiene UEFI BIOS, y me comenta una serie de alternativas para que luego esta memoria USB pueda ejecutarse en ordenadores con BIOS.

Ok, continuamos.

Y otra advertencia mas. En esta nos advierte: "El sistema de arranque para UEFI se puede obtener del archivo ISO".



De acuerdo, perfecto eso ya lo sabemos. Pulsamos Ok para continuar.

Y otra mas, en está continua advirtiéndonos: "dus-persistent 12.3.0 no puede instalar 'grub-pc' en sistemas instalados en modo UEFI. 'grub-pc' se usa para hacer que las unidades en vivo persistentes puedan arrancarse en modo BIOS.
En su lugar, puede usar 'grub.img', animación del contenido de grub, cuando usa GPT, la tabla de particiones GUID. Esto también seleccionará 'upefi', iniciando a través de usb-pack efi."


Bueno, mas de lo mismo, estoy creando el live USB persistente en una computadora con UEFI BIOS, y no puede instalar un paquete y me da una solución, que instale "grub.img".
Pulsamos Ok y para adelante.

Otra ventana, aquí ya no hace decidir. Nos pregunta: "¿Quieres usar 'grub.img'?"


Le diremos que "si", ya que es la opción que me llevan advirtiendo tres veces.

Y al fin empieza el proceso de creación.




Copiando y copiando .......


Y llegó a su fin.


Aceptamos y nos vuelve a aparecer el menú del principio, pulsamos en "Quit".



Ahora nos devuelve el menú inicial, volvemos a presionar "Quit" para salir del interfaz gráfica.



Y nos quedamos en el terminal de comandos donde podemos ir viendo todas las operaciones que ha realizado para crear el live USB persistente.





Si pulsamos "Enter" se cerrará el terminal de comandos.

En las siguientes tres imágenes os muestro las tres particiones creadas en el Live USB persistente:

1.- En esta partición se encuentra al imagen ISO del sistema operativo.



2.- En la siguiente partición es donde se guardan las configuraciones, aplicaciones y documentos creados desde la distro del Live USB persistente. Es la partición persistente.



3.- En esta partición se almacena cualquier documento de cualquier plataforma GNU/Linux, Windows o Mac OS.



Vamos a probar de arrancar desde nuestro nuevo Live USB persistente en la computadora HP Compaq 8200, la cual lleva una UEFI BIOS.

Conectamos el lápiz USB, arrancamos el PC y entraremos en el menú de la UEFI BIOS y bootearemos al Live USB persistente.

Una vez booteado ya toma el control el menú del gestor de arranque del grub. Estamos salvados.
Estas son las opciones que nos aparecen.



Elegiremos la primera opción.
Y una vez arrancado el Live USB persistente ya podemos trabajar en él, actualizar los paquetes del repositorio, instalar lo que queramos, etc.



Todo se guardará en la partición "casper-rw".

Como ejemplo he realizado una captura de pantalla del escritorio y como podéis comprobar se ha guardado en la partición "casper-rw" directorio "/upper/home/ubuntu/Pictures".



Y al fin termina esta mini guía-artículo.
Espero os sirva de ayuda.
Saludos.

4 comentarios:

  1. Saludos, buen manual, lo he leído, lo pondré en practica después.

    ResponderEliminar
  2. Cuánto demora en realizar la operación, ya voy para la media hora y nada 🤣🤣🤣🤣

    ResponderEliminar
    Respuestas
    1. Depende del tamaño de la distro, pero suele ser 5 minutos...

      Eliminar

Gracias por participar en este blog.