Files
rm-MULTIBOOT/investigacion-plan.md
T
Ricardo MonlaandClaude Sonnet 4.6 489af9b387 feat: initial multiboot manager script and research doc
Script interactivo para configurar multiboot desde disco interno.
Auto-detecta sistema, crea partición MULTIBOOT en espacio libre,
gestiona ISOs con entradas GRUB automáticas (loopback + fallback).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 16:55:22 -03:00

8.9 KiB
Raw Blame History

Multiboot Nativo desde HD — Investigación y Plan

Objetivo

Reemplazar el pendrive booteable con ISOs por una partición del disco duro interno que permita arrancar distintas ISOs de instalación de Linux directamente, sin depender de hardware externo.

Flujo deseado:

Reiniciar PC → Menú GRUB → Elegir ISO → Instalar distro en la PC de turno

Panorama de Enfoques

Opción A — GRUB2 Loopback Manual

¿Qué es? GRUB2 incluye soporte nativo para montar ISOs en tiempo de arranque (loopback) y pasar el kernel/initrd directamente desde el archivo .iso sin descomprimirlo.

Cómo funciona:

  1. La ISO vive en cualquier partición que GRUB pueda leer (ext4, NTFS, FAT32)
  2. GRUB monta la ISO como loop device en tiempo de boot
  3. Se carga el kernel + initrd extraídos de adentro de la ISO
  4. El kernel recibe un parámetro que le indica dónde está la ISO para continuar

Requisito clave: La ISO debe incluir un archivo boot/grub/loopback.cfg — la mayoría de distros modernas lo tienen (Ubuntu, Debian, Fedora, Arch, etc.).

Ejemplo de entrada GRUB:

menuentry "Ubuntu 24.04 LTS" {
    set isofile="/isos/ubuntu-24.04-desktop-amd64.iso"
    loopback loop (hd0,3)$isofile
    linux  (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
    initrd (loop)/casper/initrd
}

Pros:

  • Sin dependencias externas — GRUB puro
  • Control total sobre el menú
  • Funciona con BIOS/Legacy y UEFI (con Secure Boot desactivado)

Contras:

  • Cada ISO requiere una entrada manual en grub.cfg
  • Sintaxis varía entre distros (Ubuntu usa casper, Fedora usa rd.live.image, Arch es diferente)
  • Mantenimiento manual al agregar ISOs

Opción B — GLIM (GRUB2 Live ISO Multiboot)

Repo: https://github.com/thias/glim

¿Qué es? Colección de scripts y configuraciones GRUB prehechas para arrancar múltiples ISOs. Detecta la distro por nombre de archivo y aplica la configuración correcta automáticamente.

Estructura de uso:

/boot/isos/
  ubuntu/    ← Ubuntu ISOs van aquí
  debian/    ← Debian ISOs van aquí
  fedora/    ← Fedora ISOs van aquí
  arch/      ← Arch Linux ISOs van aquí
  ...

Soporte de particiones:

  • Partición 1: FAT32, etiqueta GLIM (100MB mínimo, para el bootloader)
  • Partición 2: ext4, etiqueta GLIMISO (para ISOs > 4GB que no caben en FAT32)

Pros:

  • Agregar ISO = copiar archivo a la carpeta correcta
  • Soporta > 60 distros out-of-the-box
  • Maneja automáticamente las diferencias de sintaxis por distro

Contras:

  • Diseñado para USB, adaptarlo a HD interno requiere ajustes
  • Requiere partición FAT32 separada para el bootloader GLIM
  • Puede coexistir con un OS existente, pero necesita configuración adicional

Opción C — Ventoy en Disco Interno

Repo: https://github.com/ventoy/Ventoy

¿Qué es? Herramienta que convierte un disco (o partición) en un multiboot que simplemente copia ISOs y listo.

Instalación en HD interno:

# Instalar Ventoy en un disco dedicado o partición reservada
sudo sh Ventoy2Disk.sh -I /dev/sdX
# Luego copiar ISOs a la partición Ventoy

Pros:

  • La más simple: copiar ISO → aparece en el menú al reiniciar
  • Soporta > 1300 sistemas operativos
  • Funciona con BIOS y UEFI (incluyendo Secure Boot)
  • Soporta ISO, WIM, IMG, VHD, EFI

Contras / Riesgo importante:

  • Ventoy toma control del MBR/GPT del disco donde se instala
  • Si se instala en el disco del OS actual: riesgo de romper el boot existente
  • La solución más segura es un disco físico separado o un disco dedicado solo a Ventoy
  • Durante la instalación de un OS destino, el installer puede confundirse y seleccionar el disco Ventoy

Mitigación: Reservar un disco SSD secundario o una segunda unidad NVMe solo para Ventoy.


Opción D — grml-rescueboot (paquete Debian/Ubuntu)

¿Qué es? Paquete que se integra con update-grub. Escanea /boot/grml/ y agrega entradas automáticamente al GRUB del sistema.

sudo apt install grml-rescueboot
# Copiar ISO a /boot/grml/
sudo update-grub  # agrega la entrada automáticamente

Pros: Extremadamente simple, integrado con el sistema

Contras: Diseñado principalmente para ISOs Grml, soporte limitado para otras distros


Comparativa Rápida

Criterio A: GRUB Manual B: GLIM C: Ventoy HD D: grml-rescueboot
Simplicidad de uso Baja Media Alta Alta
Agregar nueva ISO Manual Copiar a carpeta Copiar a partición Copiar + update-grub
Soporte de distros Todas* ~60 +1300 Grml + pocas
Riesgo para OS actual Bajo Bajo Alto Bajo
UEFI Secure Boot No** No** No**
Scripteabilidad Total Alta Alta Media

*con entrada GRUB correcta
**requiere desactivar Secure Boot


Recomendación: Plan en 3 Fases

Fase 1 — Estructura Base (mínimo viable)

Arquitectura elegida: Partición dedicada ext4 en el disco actual + GRUB2 Loopback + script de gestión

¿Por qué esta combinación?

  • Sin riesgo para el OS actual (es solo una partición nueva)
  • Control total (no dependemos de proyectos externos)
  • Scripteabilidad completa para automatizar el flujo
  • Compatible con BIOS y UEFI

Pasos:

  1. Crear partición dedicada (2050 GB, ext4, etiqueta MULTIBOOT)

    # Identificar disco y espacio libre
    lsblk
    sudo fdisk /dev/sdX   # o parted / gparted
    sudo mkfs.ext4 -L MULTIBOOT /dev/sdXN
    
  2. Punto de montaje permanente en /etc/fstab:

    LABEL=MULTIBOOT  /mnt/multiboot  ext4  defaults,noatime  0  2
    
  3. Estructura de carpetas:

    /mnt/multiboot/
      isos/
        ubuntu/
        debian/
        fedora/
        arch/
      grub/
        grub.cfg        ← configuración principal
        entries/        ← un .cfg por ISO
    
  4. Entradas GRUB: Agregar a /etc/grub.d/40_custom o crear /etc/grub.d/41_multiboot:

    menuentry "--- Multiboot ISOs ---" { echo }
    source (hd0,X)/grub/grub.cfg
    

Fase 2 — Script de Gestión (add-iso.sh)

Script que dado un archivo ISO:

  1. Lo copia a la partición en la carpeta correcta según la distro detectada
  2. Genera automáticamente la entrada GRUB para esa ISO
  3. Ejecuta sudo update-grub para registrarla
#!/bin/bash
# add-iso.sh <ruta-al-iso>
# Uso: ./add-iso.sh ~/downloads/ubuntu-24.04.iso

Detección de distro por nombre: ubuntu* → carpeta ubuntu, debian* → debian, etc.

Fase 3 — Mejoras

  • Script list-isos.sh: listar ISOs disponibles con info de tamaño y fecha
  • Script remove-iso.sh: eliminar ISO y su entrada GRUB
  • Soporte para ISOs con loopback.cfg nativo (delegar la config a la propia ISO)
  • Considerar migrar a GLIM si el número de distros crece mucho

Consideraciones Importantes

UEFI vs BIOS Legacy

  • Si la PC usa UEFI, hay que asegurarse de que Secure Boot esté desactivado para que GRUB cargue ISOs de terceros
  • En UEFI, el GRUB de la partición EFI existente es el que controla el arranque

ISOs que soportan loopback.cfg (recomendadas)

  • Ubuntu / Xubuntu / Kubuntu / Lubuntu
  • Debian (live e installer)
  • Linux Mint
  • Fedora Workstation
  • openSUSE
  • Manjaro
  • Kali Linux

ISOs con soporte limitado o especial

  • Arch Linux: no tiene loopback.cfg, requiere entrada GRUB personalizada
  • Windows ISOs: requieren enfoque diferente (memdisk o Ventoy)
  • Alpine Linux: funciona pero con parámetros especiales

Riesgo de confusión del installer

Cuando se arranca una ISO de instalación desde el HD interno y se va a instalar en otra PC (escenario típico del usuario), no hay problema porque la ISO corre en la PC fuente como live environment. El riesgo existe si se intenta instalar en la misma PC del multiboot.


Próximos Pasos Concretos

  1. Determinar la máquina host: ¿Qué disco/partición tiene espacio libre? (lsblk -f)
  2. Elegir modo boot: ¿BIOS/Legacy o UEFI? ([ -d /sys/firmware/efi ] && echo UEFI || echo BIOS)
  3. Crear la partición MULTIBOOT con el espacio disponible
  4. Implementar add-iso.sh con soporte inicial para Ubuntu, Debian y Fedora
  5. Probar el boot con una ISO conocida antes de ampliar

Fuentes y Referencias