Cómo crear USB multibotual con Linux

Cómo crear USB multibotual con Linux

Objetivo

Cree un dispositivo USB de arranque que contenga múltiples distribuciones de Linux.

Requisitos

  • Un dispositivo USB con suficiente tamaño para contener múltiples ISOs
  • Permisos de raíz para modificar las particiones del dispositivo e instalar grub

Dificultad

MEDIO

Introducción

Poder ejecutar un sistema operativo completo directamente desde un medio de instalación, es extremadamente útil: podemos probar una distribución, usarla para fines de copia de seguridad o tal vez para reparar un sistema existente. La forma habitual de crear un medio de arranque es escribir una imagen del sistema utilizando el dd comando o alguna herramienta dedicada. En este tutorial veremos cómo crear un dispositivo USB multibotual que pueda alojar múltiples imágenes de distribuciones.

Una palabra sobre BIOS vs UEFI

UEFI (Interfaz de firmware extensible unificado) Es el firmware moderno creado como un reemplazo para el legado Biografía (Basic Input Output System). La mayoría de las distribuciones recientes de Linux pueden iniciarse en ambos modos sin problemas: el instalador ajustará automáticamente su comportamiento en consecuencia.

Los dos firmwares están, por estándar, asociados con un diseño de tabla de partición específico: UEFI va de la mano con GPT, mientras Biografía Viene con el MSDOS uno. Sin embargo, esas asociaciones no son estrictamente obligatorias, ya que, al menos en teoría, un UEFI El firmware puede iniciar el proceso de arranque desde un MSDOS diseño de disco y un legado Biografía el sistema puede hacer lo mismo desde un GPT disco dividido.



En el primer caso el EFI La partición debe ser la primera en el disco y formatearse con el Fat32 fileystem, en este último, un bota de biogs La partición sin ningún sistema de archivos debe existir, necesario para almacenar la etapa de Grub 1.5, ya que en un GPT Diseño de la brecha entre el registro de arranque maestro y la primera partición no existe (aquí es donde generalmente se instala esta etapa de grub).

Prepararemos nuestro dispositivo utilizando un tradicional MSDOS Diseño, instalación del cargador de arranque de grub tanto en modo EFI como en modo heredado para poder iniciar las distribuciones tanto en UEFI y Biografía modo.

Preparando el dispositivo

Lo primero que tenemos que hacer es preparar nuestro dispositivo. Crearemos dos particiones, en orden:

  • Un EFI dividir
  • Una partición de datos

El primero es necesario para arrancar UEFI Modo, ya que es donde se instala Grub-Efi. La partición debe formatearse con un Fat32 sistema de archivos. Teóricamente, la configuración funcionaría incluso con solo esta partición, ya que también podríamos usarla para almacenar las imágenes de distribuciones que queremos usar. Sin embargo, en ese caso estaríamos limitados, ya que Fat32 no admite archivos lager que 4GB, y algunos ISO pueden exceder este tamaño.

La segunda partición se formateará con un sistema de archivos compatible con Grub, y alojará las imágenes y los archivos de configuración de GRUB.

En aras de este tutorial, asumiré que el dispositivo que queremos preparar es /dev/sdb.

La tabla de partición y la partición EFI

Lo primero que debe hacer es crear un MSDOS tabla de partición en el dispositivo:

$ sudo separado -s /dev /sdb mklabel msdos

Después de este paso, podemos crear el EFI Partición y formatearlo con un Fat32 sistema de archivos. El tamaño recomendado para la partición es 550 MIB: En particiones más pequeñas podríamos recibir un error, como "no suficientes grupos para grasa de 32 bits":

$ sudo separado -s /dev /sdb mkpart primario 1mib 551mib


Luego procederemos a activar el espíritu y bota banderas:

$ sudo separado -s /dev /sdb set 1 esp en $ sudo separado -s /dev /sdb set 1 arranque en 

Finalmente debemos crear el Fat32 sistema de archivos:

$ sudo mkfs.grasa -f32 /dev /sdb1

La partición de datos

La otra partición que debemos crear es la partición de datos, que alojará las imágenes ISO de las distribuciones y los archivos de configuración de grub. Podemos ajustar el tamaño de la partición a nuestras necesidades: cuanto más grande sea, más imágenes podrá contener. Aquí usaremos todo el espacio restante en el dispositivo:

$ sudo separado -s /dev /sdb mkpart primario 551mib 100%

Podemos formatear la partición con uno de los sistemas de archivos compatibles con Grub. En este caso usaré ext4:

$ sudo mkfs.ext4 /dev /sdb2

Crea los puntos de montaje y monta las particiones

El siguiente paso es montar el EFI Partición y la partición de datos en algún lugar de nuestro sistema para que podamos crear los directorios necesarios en ellos, instalar grub y poner nuestros archivos ISO en su lugar:

# Crear los puntos de montaje $ sudo mkdir /medios /efi, data # Monte la partición EFI $ sudo monte /dev /sdb1 /media /efi # Monte la partición de datos $ sudo monte /dev /sdb2 /medios /data 

Instalación del cargador de arranque de grub

Para que nuestro dispositivo pueda trabajar en ambos legado y UEFI modos necesitamos instalar grub y grub para EFI. En Fedora, el binario de Grub se llama grub2 y para generar una configuración personalizada en una configuración de UEFI, la instalación del grub2-efi-módulos El paquete también es necesario. En algunas otras distribuciones, el nombre del binario es solo "comida":

# Instalación de Legacy Grub2 Sudo Grub2-Install \--Target = I386-PC \--Recheck \ --Boot-Directory = "/Media/Data/Boot"/Dev/SDB # Instalación de GRUB para EFI SUDO Grub2-Install \-- -target = x86_64-eFi \--recheck \--removable \ --efi-diirectory = "/medios/efi" \ --boot-diirectory = "/media/data/boot" 

Como puede observar, en ambos casos usamos /Media/Data/Boot Como el directorio de arranque de grub. Este directorio se creará automáticamente cuando se inicien los comandos anteriores, y alojará archivos de configuración de Grub.

Copie las imágenes y cree la comida.archivo cfg

Para crear o actualizar una configuración de grub en un sistema moderno de Linux, generalmente ejecutamos el grub2-mkconfig comando, o, en distribuciones basadas en Debian, el GRUB ACTUALIZADO envoltura. Estas herramientas realizan las operaciones necesarias automáticamente.



En nuestro caso, sin embargo, debemos ensuciarnos las manos y crear la configuración manualmente. No todas las distribuciones requieren las mismas directivas, pero aquí verá algunos ejemplos comunes. Primero debemos crear el directorio que alojará las imágenes de nuestras distribuciones:

$ sudo mkdir/media/data/boot/iso

Opcionalmente, es posible que deseemos tomar posesión de este directorio, para poder mover imágenes más fácilmente. Asumiendo un identificación y aturdir de 1000 correríamos:

$ sudo chown 1000: 1000/medios/data/boot/iso

Ahora, supongamos que queremos incluir la última imagen de Fedora NetInstall en nuestra configuración. Primero tenemos que descargar la imagen en el /Media/Data/ISO directorio:

$ Wget -o/Media/Data/Boot/ISO/Fedora-Workstation-Netinst-X86_64-28-1.1.iso \ https: // descargar.federaproject.org/pub/fedora/linux/comunes/28/workstation/x86_64/iso/fedora-workstation-netinst-x86_64-28-1.1.Yo asi 

Luego, una vez que termina la descarga, debemos agregar una entrada en el comida.CFG archivo en el /Media/Data/Boot/Grub2 directorio. Dado que es la primera entrada, agregamos el archivo en sí mismo debe ser creado:

MenuEntry "Fedora-Workstation-Netinst-X86_64-28-1.1 "isofile ="/boot/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO "Loopback Loop" $ Isofile "Linux (Loop)/Isolinux/Vmlinuz ISO-scan/FileName =" $ Isofile "Inst.Stage2 = HD: Label = Fedora-WS-DVD-X86_64-28 Quiet Initrd (Loop)/Isolinux/Initrd.img 

La estructura de entrada es bastante simple: definimos el isofile variable, con la ruta a nuestra imagen como valor. Grub puede arrancar desde un ISO directo, y eso es lo que el bucleza El comando es para: en el ejemplo anterior, la imagen del sistema de archivos se montará y se pondrá a disposición en el bucle dispositivo.

La línea comenzando con Linux contiene el camino a vmlinuz, cuál es el ejecutable de kernel, además de otras directivas de arranque. Entre ellos puedes notar ISO-Scan/FileName que se necesita para encontrar la imagen ISO en el disco utilizando la ruta especificada.



Finalmente, la línea comenzando con initrd Especifica la ruta al initrd. Todas esas rutas son, obviamente, en relación con el dispositivo de bucle, por eso tienen prefijo el (bucle) notación.

¿Cómo conocemos las directivas que deberíamos usar en un caso específico?? Una forma es montar la imagen en algún lugar de nuestro sistema y echar un vistazo a los archivos colocados en el directorio de Isolinux. Sin embargo, la configuración preescritada ya existe y es fácil de encontrar en línea.

Otro ejemplo, ahora: agregaremos la última imagen de lanzamiento de Ubuntu a nuestro dispositivo de arranque:

$ wget http: // versiones.ubuntu.com/18.10/Ubuntu-18.10-desktop-amd64.Yo asi?_ga = 2.232120863.1006005768.1540658570-734439277.1540658570 \ -o/medios/data/boot/iso/ubuntu -18.10-desktop-amd64.Yo asi 

Ahora, agregamos la entrada al archivo de configuración:

MenuEntry "Ubuntu 18.10 - intente sin instalar "isofile ="/boot/iso/ubuntu -18.10-desktop-amd64.ISO "Loopback Loop" $ Isofile "Linux (bucle)/casper/vmlinuz iso-scan/filename =" $ isofile "boot = casper splash --- initrd (bucle)/casper/initrd 

Así es como debería ser nuestro menú multibotual en este punto:

Menú de múltiples múltiples

Pensamientos de cierre

En este tutorial vimos cómo crear un dispositivo Multiboot-USB que contenga muchas imágenes de distribuciones. Después de esta configuración, podremos iniciar tanto en el legado en el firmware de UEFI, eligiendo qué imagen se inicia desde el menú Grub.

El
comida.La configuración de CFG aquí presentada es absolutamente mínima, y ​​se puede personalizar aún más para incluir muchos otros módulos y ajustar otras configuraciones como el tiempo de espera de grub: consultar la documentación oficial de Grub es la manera perfecta de comenzar a explorar las muchas posibilidades.

Tutoriales de Linux relacionados:

  • Crea Manjaro Linux Bootable USB
  • Introducción al rescate de grub
  • Cómo crear MS Bootable MS USB en Linux
  • Cómo crear un USB multibotual con Ventoy
  • Ubuntu 22.04 no arrancado: guía de solución de problemas
  • Crea Ubuntu 22 de arranque.04 disco de inicio USB
  • Cómo hacer un USB de arranque de un ISO en Linux
  • Cosas para instalar en Ubuntu 20.04
  • Ubuntu 22.04 Copia de seguridad y restauración del sistema
  • Crea un Ubuntu 20 de arranque.04 USB Stick en MS Windows 10