Der Grub-Befehl „Loopback Loop …“ funktioniert unter Ubuntu 19.10 nicht

Der Grub-Befehl „Loopback Loop …“ funktioniert unter Ubuntu 19.10 nicht

Während des Startvorgangs rufe ich die Grub2-Befehlszeile auf, indem ich cauf das Grub-Menü drücke.

Wenn ich den folgenden Befehl eingebe ...

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

...Grub hängt, es gibt keine Ausgabe oder Aktivität mehr auf dem Terminal und irgendwann drehen die Lüfter des Laptops auf, weil dieser heiß wird.

Der Pfad (hd0,gpt2)/ubuntu-19.10-desktop-amd64.isoist auf meinem System gültig.

Ich erhalte unabhängig vom verwendeten ISO immer das gleiche Ergebnis und habe die Prüfsummen der ISOs überprüft.

Ich erlebe dies in Ubuntu 19.10 und hatte dieses Problem in früheren Ubuntu-Versionen nicht. Die Version, die grub2-commonich habe, ist 2.04-1ubuntu12.

Wie kann ich den loopbackGrub-Befehl zum Laufen bringen? (Muss ich zum Beispiel vor der Ausführung bestimmte Module laden oder andere Befehle eingeben loopback?)

(Fügen Sie bitte auch einen Kommentar hinzu, wenn dieses Problem bei Ihnen unter 19.10 ebenfalls auftritt. Ich möchte feststellen, ob dies nur bei meiner Installation auftritt oder ob es sich um ein größeres Problem handelt.)

(Bitte beachten Sie, diese Frage bezieht sich aufnoch eine Frage zum Booten von einer ISO-Datei auf der FestplatteIch habe sie gepostet, aber ich glaube, sie sind ausreichend unterschiedlich, um einen separaten Post zu rechtfertigen).

Antwort1

Da ist einProblemumgehungzum Ubuntu-Bug#1851331...

Deaktivieren Sie dieTPMModul, indem Sie es rmmod tpmals ersten Befehl zu Ihrer Grub-Konfigurationsdatei hinzufügen.

Hier ist beispielsweise meine /etc/grub.d/40_customDatei ...

#!/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
}

Denken Sie daran, Grub nach der Änderung zu aktualisieren.

sudo update-grub

Antwort2

Grub.cfg für die Loop-Montage von ISOs

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
}

Grub.cfg-Beispiel, das bei mir funktioniert.

Ich habe gerade die grub.cfg bearbeitet, die ich vom ISO kopiert habe.

Es gibt viele Gründe, warum ein persistenter USB-Stick möglicherweise nicht bootet, darunter:

  • Schlechtes MD5SUM / beschädigte ISO-Datei

  • Falscher Pfad zum ISO in Grub

  • Falsche Root-Partition

  • Casper-rw-Partition, kein Ext-Dateisystem

  • Falscher persistenter Pfad (falls verwendet) in Grub

  • Casper-rw-Partition aus vorheriger Version wiederverwendet

  • Casper-RW-Datei voll

  • Modifizierte oder beschädigte ISO9660-Partition

  • Falscher Dateityp für vmlinuz und initrd (.efi und .lz)

  • Grub-Menüeintrag passt nicht zum Betriebssystem

  • USB wurde entfernt, bevor die ISO-Datei vollständig kopiert wurde

  • Probleme mit BIOS- oder UEFI-Bootpartitionen oder -dateien.

  • USB nicht als erste Festplatte in Grub festgelegt

  • Fehlerhaftes Flash-Laufwerk

  • Defekte USB-Buchse

  • Nicht genug RAM

  • Inkompatible Computer-CPU

  • Inkompatible Computer-GPU

Bitte teilen Sie mir alle Gründe mit, die ich übersehen habe.

Antwort3

Ähnliches Problem, denke ich: Ich verwende Live-Ubuntu als Basis für meine „Swiss Army“-Flash-Laufwerke und externen SSDs. Ich kann seit einiger Zeit eine Vielzahl von Linux- und anderen ISOs in einer Schleife starten und booten.

Wenn ich 19.04 für meine Basisinstallation verwende – eigentlich nur Dateien, die auf den Flash-Speicher kopiert werden – kann ich ISOs booten. Wenn ich 19.10 verwende, bleibt der Bildschirm hängen. Der Drei-Finger-Gruß startet den Testlaptop neu, aber das eigentliche Booten des ISOs scheint nicht fortzufahren.

Beispiel dessen, was ich getan habe: http://www.beezmo.com/geezblog/?p=1955

Beispielstrophe, die funktioniert, wenn 19.04 die Basis ist, aber nicht, wenn 19.10 die Basis ist:

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 
}

Ich würde bei 19.04 bleiben, aber seit 17.x verbrennt Snapd alle meine CPU-Zyklen, wenn ich Persistenz aktiviere, und ist unbrauchbar. 19.10 scheint das behoben zu haben.

[Bearbeiten, um hinzuzufügen] Bin neu hier und habe mich im Editor noch nicht zurechtgefunden. Tut mir leid wegen der Formatierung :(

[weitere Bearbeitung zum Hinzufügen] Und ich denke, das hätte ein Kommentar sein sollen, keine „Antwort“. Irgendwann werde ich es verstehen …

Antwort4

Ich konnte auch kein Loopback des ISO durchführen.
Ich habe das ISO gemountet und alle Dateien und Verzeichnisse nach (hd0,gpt7) kopiert.
Dann habe ich den PC neugestartet und Folgendes in die Grub-Befehlszeile eingegeben.

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

Es hat funktioniert!
Auch wenn ich kein Loopback des ISO durchführen konnte, konnte ich dasselbe wie beim Booten vom ISO.

verwandte Informationen