El comando Grub `loopback loop...` no funciona en Ubuntu 19.10

El comando Grub `loopback loop...` no funciona en Ubuntu 19.10

Durante el arranque, ingreso a la línea de comandos de grub2 presionando cen el menú de Grub.

Cuando escribo el siguiente comando...

loopback loop (hd0,gpt2)/ubuntu-19.10-desktop-amd64.iso

...grub se cuelga, no hay más salida ni actividad en el terminal y, finalmente, los ventiladores de la computadora portátil giran porque la computadora portátil se calienta.

La ruta (hd0,gpt2)/ubuntu-19.10-desktop-amd64.isoes válida en mi sistema.

Obtengo el mismo resultado, independientemente del ISO que utilice, y he verificado las sumas de verificación de los ISO.

Estoy experimentando esto en Ubuntu 19.10 y no tuve este problema en versiones anteriores de Ubuntu. La versión que grub2-commontengo es 2.04-1ubuntu12.

¿Cómo puedo hacer loopbackque funcione el comando grub? (Por ejemplo, ¿necesito cargar módulos específicos o ingresar otros comandos antes de ejecutarlos loopback?)

(Además, agregue un comentario si también experimenta este problema en 19.10; me gustaría determinar si esto es específico de mi instalación o si se trata de un problema mayor).

(Tenga en cuenta que esta pregunta está relacionada conotra pregunta sobre arrancar desde una ISO en discoHe publicado, pero creo que son lo suficientemente diferentes como para justificar una publicación separada).

Respuesta1

Hay unsolución alternaal error de Ubuntu#1851331...

Deshabilitar elTPMmódulo agregando rmmod tpmcomo primer comando en su archivo de configuración de grub.

Por ejemplo, aquí está mi /etc/grub.d/40_customarchivo...

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Install" {
    rmmod tpm
    set isofile="/ubuntu.iso"
    loopback loop (hd0,2)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd
}

Recuerde actualizar grub después de realizar el cambio.

sudo update-grub

Respuesta2

Grub.cfg para ISO de montaje en bucle

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

set timeout=5

menuentry "ubuntu-19.10-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/ubuntu-19.10-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-1/ splash --
        initrd (loop)/casper/initrd
}
menuentry "lubuntu-16.04.3-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/lubuntu-16.04.3-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-2/ splash --
        initrd (loop)/casper/initrd.lz
}

Ejemplo de Grub.cfg que funciona para mí.

Acabo de editar el grub.cfg que copié de la ISO.

Hay muchas razones por las que un USB persistente podría no arrancar, entre ellas:

  • MD5SUM incorrecto/archivo ISO corrupto

  • Ruta incorrecta a ISO en grub

  • Partición raíz incorrecta

  • La partición Casper-rw no es un sistema de archivos ext

  • Ruta persistente incorrecta, (si se usa), en grub

  • Partición Casper-rw reutilizada de la versión anterior

  • Archivo casper-rw lleno

  • Partición ISO9660 modificada o dañada

  • Tipo de archivo incorrecto para vmlinuz e initrd (.efi y .lz)

  • La entrada del menú de Grub no se adapta al sistema operativo

  • USB eliminado antes de que el archivo ISO se copie por completo

  • Problemas con particiones o archivos de arranque BIOS o UEFI.

  • USB no configurado como primer disco duro en grub

  • Unidad flash defectuosa

  • Toma USB defectuosa

  • No hay suficiente RAM

  • CPU de computadora incompatible

  • GPU de computadora incompatible

Por favor, háganme saber cualquier motivo por el que me haya perdido.

Respuesta3

Creo que hay un problema similar: uso Ubuntu en vivo como base para mis unidades flash y SSD externos del "ejército suizo". He podido realizar bucles e iniciar una variedad de Linux y otros ISO durante algún tiempo.

Si uso 19.04 para mi "instalación" básica (en realidad, solo archivos copiados a la memoria flash), puedo iniciar ISO. Si uso 19.10 se me cuelga la pantalla en negro. El saludo con tres dedos reiniciará la computadora portátil de prueba, pero el inicio real del ISO no parece continuar.

Ejemplo de lo que he estado haciendo: http://www.beezmo.com/geezblog/?p=1955

Estrofa de muestra que funciona si 19.04 es la base pero no si 19.10 es:

menuentry "Ubuntu 16.10 64-bit Desktop ISO" {
    set isofile="/bootable/iso/ubuntu-16.10-desktop-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt splash --
    initrd (loop)/casper/initrd.lz 
}

Me quedaría con 19.04, pero desde 17.x, si habilito la persistencia, snapd quema todos los ciclos de mi CPU y es inutilizable. 19.10 parece haber solucionado eso.

[editar para agregar] Nuevo aquí y no he encontrado el editor. Perdón por el formato :(

[edición adicional para agregar] Y supongo que esto debería haber sido un comentario, no una "respuesta". Al final me daré cuenta...

Respuesta4

Tampoco pude hacer loopback iso.
Monté iso y copié todos los archivos y directorios en (hd0,gpt7).
Luego reinicié la PC y escribí como se muestra a continuación en la línea de comando de grub.

set root=(hd0,gpt7)
linux /kernel
initrd /initrd.img
boot

¡Funcionó!
Incluso si no pudiera hacer un loopback iso, podría hacer lo mismo que arrancar desde iso.

información relacionada