Crear un USB persistente con Linux

Crear un Disco Duro USB Fácilmente

Tabla de Contenido

USB Image

Descripción

En general los USB aun siguen existiendo de diversos tamaños y capacidades pero sabias que se puede crear un disco duro portable en Linux con ellos...

Sí y ahora les voy a enseñar como se hace tanto para distribuciones como Debian o Arch Linux comenzamos.

Veamos como se hace con Arch Linux en primeras instancias ya que me pareció muy peculiar que esta distribución también se pueda instalar en un pendrive yo pensé que por si su complejidad ya era bastante engorroso instalarlo en un computador común imagínense ahora en un USB,

No obstante deben de imaginar que su proceso de creación es muy difícil por ende les voy a explicar cada uno de los pasos para que no se pierdan como yo al inicio de crear un USB de pruebas..

Elementary Os

Proceso de Elaboración del Pendrive USB a Disco Duro

  1. Primero formateamos el pendrive en modo Fat32 con la terminal como en la imagen o desde el propio administrador de particiones o dependiendo de la distribución que tengas instalada ojo para hacer este paso con Arch Linux necesitamos como mínimo una unidad de 8GB esto para poder usar [Arch Linux][Archsin entorno gráfico si quieres añadir entorno y programas adicionales que no trabajen sobre consola deberás ampliar la capacidad, para este ejemplo lo instalare en una unidad de 8GB para poder ver sus uso en consola.

Paso Inicial Formateo

  • Otra opción de formateo es desde la terminal usando los siguientes comando puedes copiar y pegar obviamente si usas una distribución linux como base:

    $ sudo fdisk -l # sirve para ver los discos montados en el sistema

  • Aquí en donde la letra x y el signo numeral deben ser remplazados por el resultado arrojado por el comando anterior aquí un ejemplo de lo que a mi me salio obvio no es igual a lo que te saldrá a ti ejemplo (/dev/sdc2)

    $ sudo mkfs.vfat -F 32 /dev/sdx# # aquí un ejemplo /dev/sda2 o /dev/sdb3 depende del resultado
    
  1. Una vez echo y asegurándonos que esta limpio el USB para proceder a hacer otro formato pero esta vez lo haremos reconocible para una distro Linux utilizamos gparted o cfdisk cualquier herramienta que nos sirva para particionar discos en Linux servirá ya que debemos crear un formato al USB completo con la extensión de fichero ext4.

Captura en Cfdisk

Ahora listo nuestro USB procedemos a ubicarnos en consola para los siguientes pasos.

  • Creamos nuevamente la partición ext4 con el siguiente comando para que se vuelva persistente en almacenar datos nuevos en el.

    $ sudo mkfs.ext4 "^has_journal" -L "ARCHDISKPORTABLE" /dev/sdbX 
    

Recuerda la (x) debes remplazarla por lo que te salio a ti según la lectura del comando fdisk.

Procedimiento de Instalación del SO Linux

Lo siguiente que haremos serán los pasos de descarga del núcleo del S.O que vamos a montar en este caso Arch Linux , para eso vamos a la pagina oficial donde se alojan los servidores escojamos el mas cercano o el de nuestro respectivo países y nos bajamos tanto la llave como el núcleo en si que están comprimidos en comando tar.

Descarga del SO

  • Ahora los bajamos ya sea dándole el click y descargar o de manera mas profesional usando una terminal yo me creare una carpeta temporal en donde almacenare todos estos archivos que descargare (Por cierto tenemos que verificar que el paquete que vamos a descargar tenga la misma arquitectura de nuestro sistema eso lo hacemos con el comando

    $ uname -a | (en consola como usuario normal o root)
    

    Imagen Uname

  • Lo primero hacer antes de continuar es validar que la llave que descargamos junto al núcleo no este expirada y sea valida para eso usamos el comando.

    $ gpg --key-server-options autokey-retrieve --verify arch-key-xxxxx-xxx.tar.gz.sig
    

    Clave Validor

  • En donde veremos que el resultado si nos dice que la firma es correcta procedemos con el siguiente paso..

  • Creamos una carpeta llamada arch_chroot y con el comando descomprimimos el núcleo del sistema dentro de esta misma..

     $ tar -xzv 
    

Imagen Comando Tar

  • Nos debe de quedar una carpeta root.ARCH_NAME con el nombre de la arquitectura que bajamos recuerden que tiene que ser la misma de la maquina ya que vamos a usar unas librerías del sistema que tengamos instalado para que funcione en mi caso es root.x86_64 porque tengo un intel de 64 bits

Imagen Reference

  • Ahora con nano editamos la siguiente ruta arch_chroot/root.x86_64/etc/pacman.d/mirrorlist en el cual editamos el fichero mirrorlist y des-comentamos las lineas de los servidores globales de Arch Linux para poder hacer la comunicación con los paquetes pacman también les recomiendo des-comentar los de su país o cercanía para tener una respuesta rápida en paquetes.

Pacman Mirrorlist

Montaje y creación de Directorios del SO

Ahora comenzamos a montar muchas cosas primero montamos el bind del sistema en esa carpeta con el comando.

  $ sudo mount --bind arch_chroot/root.x86_64/ arch_chroot/root.x86_64/

Mount Chroot

  • Y veremos como se nos crean los ficheros con los directorios de la siguiente forma.

Ficheros Sistema

  • Luego copiamos y montamos las siguientes cosas puedes copiar los comandos que dejo a continuación

    !# copia y pega en orden para que funcione
    
    $ sudo cp /etc/resolv.conf etc/
    
    $ sudo mount -t proc /proc proc
    
    $ sudo mount --rbind /sys sys 
    
    $ sudo mount --rbind /dev dev
    
    $ sudo mount --rbind /run run
    

Montaje del Sistema

Super usuario y modificaciones para correcto funcionamiento

Ahora entramos como chroot al sistema que descargamos para ello empleamos el siguiente comando pero para ello nos dirigimos a la carpeta donde se alojan los archivos que descargamos.

  $ sudo chroot /bin/bash

Super usuario

  • Ahora activamos las llaves de ArchLinux con el siguiente comando

    $ pacman-key --init
    $ pacman-key --populate archlinux
    

    Validación de las Keys

  • Luego después de que se cargue actualizamos y instalamos el sistema base de esta forma usando los comandos.

    $ sudo pacman -Sy base base-devel --noconfirm
    

    Sistema Base

Montamos ahora el sistema en el usb y después configuramos el sistema de Arch Linux haciendo hincapié en algunos de los pasos ya que algunas configuraciones son necesarias para que funcione el USB en estado optimo sin ningún tipo de fallo al portarse a otra arquitectura por ejemplo pasar de un Hardware con Intel a uno con AMD.

  $ sudo mount /dev/sdx 

Instalación básica del sistema Arch Linux

  • Ahora entramos como chroot al sistema que montamos en el usb y continuamos con la configuración de instalación en la cual haremos hincapié en algunos de los pasos seguiré la guía que hice de como instalar Arch Linux que esta aquí en este enlace de este post anterior puedes seguir las mismas configuraciones yo no explicare eso porque ya esta detallado dale click y veras el resultado que vemos aquí solo me adelantare al paso mas importante de este tutorial.

Completando instalación de ArchLinux

Continuamos con la instalación

Configuración de Internet y Conexiones

Esto también esta en la guía de instalación de Arch Linux que hice pero haremos hincapié en algunas cosas puede que este método vuelva a fallar la carga del internet pero para evitar eso cargaremos unos módulos a continuación necesarios para la estabilidad y correcto funcionamiento

En los hosts configuramos el localhost por si queremos usar un sistema persistente como un hosts de pruebas para paginas web es opcional solo ponen los siguiente

  1 # configuramos el host del sistema
  2 $ nano /etc/hostname
  3
  4  # Incluimos el nombre de nuestra maquina a gusto para reconocerlo al enchufar e iniciar sesión
  5  ARCH_USB_DISK
  6
  7  # configuración del host de dominio opcional
  8  $ nano /etc/hosts
  9
  10  # Static table lookup for hostnames.
  11  # See hosts(5) for details.
  12 
  13 127.0.0.1   localhost
  14 ::1         localhost
  15 127.0.1.1   ARCH_USB_DISK.localdomain    ARCH_USB_DISK
  16 # Added by Docker Desktop
  17 #  ESTE ES UN EJEMPLO DE COMO SE CREA EL HOST Y SE CONFIGURA
  18 # End of section
  19

Hostname

Carga de Módulos del Kernel para el Sistema

Ahora en el mkinitcpio tendremos que añadir unos módulos que se cargaran para que en modules o modulos en español es donde añadiremos los siguientes módulos a cargar que son crc32 libcrc32c crc32c_generic crc32-intel crc32-pclmul después de añadir también comprobamos que este cargado en cabeceras o hooks tiene que estar añadido el block para que se carguen los bloques añadidos en el modulo.. y creamos el arranque del ramdiz

  1 # Carga de Módulos en el Kernel
  2 $ nano /etc/mkinitcpio.conf
  3
  4 # vim:set ft=sh
  5 # MODULES
  6 # The following modules are loaded before any boot hooks are
  7 # run.  Advanced users may wish to specify all system modules
  8 # in this array.  For instance:
  9 #     MODULES=(piix ide_disk reiserfs)
  10 MODULES=(btrfs nvidia nvidia_modeset nvidia_uvm nvidia_drm)
  11
  12 # BUSCAMOS LA PARTE QUE DICE MODULES EN SU CASO VENDRÁ VACIÓ AÑADIMOS LAS SIGUIENTES LINEAS SEGÚN EL SOPORTE QUE QUEREMOS TENER TAMBIÉN PODEMOS AÑADIR MÓDULOS PARA LAS TARJETAS GRÁFICAS PERO ES MEJOR USAR UNOS DRIVERS OPEN SOURCE PARA MAYOR COMPATIBILIDAD
  13 MODULES=(crc32 libcrc32c crc32c_generic crc32-intel crc32-pclmul)
  14
  15 # RESULTADO FINAL ASI DEBE QUEDAR

Adición de Módulos

  • Ahora terminamos la configuración cargando el grub dentro del usb y hacemos un --recheck para que se instale de manera correcta sin ningún tipo de errores para cargar bien el arranque sin que cachee al insertar este usb en alguna otra maquina..

    # Modulo de GRUB para ejecutar el encendido del sistema dentro de nuestro usb disk
    1 $ sudo pacman -Sy grub grub-bios efitools
    2
    3 # instalación del grub
    4 $ sudo grub-install --recheck --target=i386-pc /dev/sdx1 # en donde (x) es el nombre de tu partición que usaste en el usb
    5
    6 $ sudo grub-install --recheck --target=x86_64-efi --efi-directory=/boot/efi --removable --boot-directory=/boot/efi/EFI --bootloader-id=grub /dev/sdx1 # este es para los que deseen soporte para equipos UEFI la primera opción es universal pero bueno los tiempos cambian
    7
    8 # Instalación del fichero de configuración de encendido
    9 $ sudo grub-mkconfig -o /boot/grub/grub.cfg
    10 # End Commands
    11 # Listo no debería haber errores
    

Si seguiste esta parte hasta aquí ya veremos el resultado a intentar bootear desde el pendrive sin tener un disco duro como si fuera un Live CD de Ubuntu.

Reparación fix de la conexión a internet si llega a fallar

Internet

  • Ahora para la configuración de Internet tenemos 2 caminos configurar de manera manual usando dhcpcd

  • O solo habilitando Networkmanager que es un servicio de demonio que configura de manera automática los drivers ya sea de wifi o de conexión cableada.

  • Si lo hacemos con NetworkManager usamos el siguiente comando:

    # primero debemos conectarnos por cable a nuestra pc y logearnos para poder hacer esto corroboramos que si tenemos repuesta con este comando
    # ping -c 3 google.com
    
    PING google.com(2800:3f0:4005:407::200e (2800:3f0:4005:407::200e)) 56 data bytes
    64 bytes from 2800:3f0:4005:407::200e (2800:3f0:4005:407::200e): icmp_seq=1 ttl=116 time=64.0 ms
    64 bytes from 2800:3f0:4005:407::200e (2800:3f0:4005:407::200e): icmp_seq=2 ttl=116 time=64.2 ms
    64 bytes from 2800:3f0:4005:407::200e (2800:3f0:4005:407::200e): icmp_seq=3 ttl=116 time=64.0 ms
    
    --- google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 64.020/64.088/64.209/0.085 ms
    
    # si tenemos esa salida entonces reinstalamos los paquetes
    
    $ sudo pacman -S install Networkmanager
    $ sudo systemd enable NetworkManager
    $ sudo systemd start NetworkManager
    
  • El comando de NetworkManager deben de recargarlo cada vez que usen el pendrive en otra pc para que reconozca la tarjeta de red de ese equipo

  • Si lo hacen con DHCPCD tienen que habilitar la tarjeta de red y crear un enlace symbolico a esta para que pueda funcionar.

    # el conector debe ser lo que nos arroje el comando ipconfig en caso puede ser estos que son comunes eth0, enp0s3, enp0s8, etc
    
    $ ipconfig
    $ sudo dhcpcd enp0s3 up
    $ sudo dhcpcd enable enp0s3 | -> ( ejemplo de una configuración )
    $ sudo systemctl enable enp0s3@dhcpcd 
    -> ejemplo de creación
    

Así es como se configura con dhcpcd al igual que Network Manager debemos recargar la configuración cada vez que lo usemos en maquina diferentes.

Extras

Añadir un entorno de escritorio

Escritorio

si usamos Arch Linux podemos dejar como esta en terminal funcionara igual o añadimos cualquier entorno gráfico aquí unos muy usados que pueden ejecutarse sin problemas, aunque depende de la potencia de la maquina donde lo vayamos a probar.

  # primero instalamos los controladores gráficos y el entorno que queremos usar
  1 $ sudo pacman -Sy xorg xorg-server --noconfig
  2 $ sudo systemctl enable --now xorg.service
  3
  4 # ahora podemos elegir a nuestro gusto
  5 $ sudo pacman -Sy xfce xfce-goodies # ligero entorno de escritorio Xfce
  6 $ sudo pacman -Sy lxqt qt5 # escritorio de lxqt ligero 
  7 $ sudo pacman -Sy gnome gnome-extra # escritorio de Gnome
  8 $ sudo pacman -Sy plasma plasma-applications # escritorio plasma de kde

También puedes consultar la wiki de Arch Linux hay puedes elegir el que mas te guste yo recomiendo mas el de xfce o lxqt ya que si quieres mayor estabilidad y compatibilidad son los mejores en rendimiento digamos si quieres enchufar ese SO en una maquina cavernicola correrá mejor con esos entornos que con Gnome o Plasma que necesitan mas recursos para su funcionamiento.

También puedes instalar aplicaciones como firefox o una suit office si quires usando el comando pacman -Ss (paquete) puedes buscar lo que quieras.

Método con un Live USB de otro Sistema

Si no te gusta Arch Linux puedes usar esta alternativa no se si funcionara aun igual ya que todo se actualiza pero en caso te enseñare como lo hice con un live de Xubuntu que puedes descargar aquí

Xubuntu

  • Tenemos que tener el USB formateado de la misma forma que con la instalación de Arch Linux corremos el entorno gráfico de instalación para que y seguimos los pasos normales solo que en la parte de instalar el sistema operativo seleccionamos el USB o disco externo y cargamos toda la configuración en este y también el grub de arranque para que lo configure bueno en el caso de distribuciones con entorno gráfico se recomiendo mínimo 32GB para arriba para su correcto funcionamiento en mi caso usare uno de 64GB..

Install Xubuntu 1

  • Hacemos la instalación de como si lo hiciéramos en una unidad solida normal con todos los pasos en siguiente

Install Xubuntu

  • Solo agregamos el usuario y ya esperamos a que termine el proceso de instalación

Termine

Listo probamos el arranque debería ser normal ya que no debemos hacer nada el instalador lo hará todo por nosotros según yo asi funciono en un futuro puede que cambie en caso puedes hacérmelo saber en los comentarios.

Conclusión

Elementary

Si seguiste esta parte hasta aquí ya veremos el resultado a intentar bootear desde el pendrive sin tener un disco duro como si fuera un Live CD de Ubuntu, pero con la diferencia que este puede realizar cambios permanentes de como si un SO fuera sido instalado la ventaja que esto no solo se puede aplicar a solo un USB sino también podemos realizarlo con un disco DURO por USB y tener un SO Portable en toda plataforma si hay algún problema comenta y puede que mejore la instalación o renueve el tutorial para que puedas elaborar el tuyo.

Te gusto danos una valoración en los comentarios. ★★★★★

LinusGems

Soy una persona muy interactiva le gusta descubrir y visitar muchos lugares

1 Comentarios

Comentar con moderación y respeto , leer las normas y condiciones sino estar de acuerdo! Contacto info@thelinusgems.com

Artículo Anterior Artículo Siguiente

Consentimiento de Cookies!

Este sitio web utiliza cookies para ofrecerle una mejor experiencia de navegación. Al utilizar nuestro sitio web, usted acepta el uso de cookies

Leer Mas