mit Bootproblemen hatte ich bisher nicht zu kämpfen und daher ist das Ganze eher Neuland für mich. Nun habe ich ein Problem und versuche dieses zu verstehen um es anschließend beheben zu können. Hoffe der eine oder andere kann hier mit hilfreichen Tips weiterhelfen
Es handelt sich um ein Notebook mit ausgeliefertem Windoof. Es gibt nur eine Platte im System. Ich hatte damals um GNU/Linux Debian erweitert, also Multibootsystem so dass ich beim Notebookstart wählen konnte, ob ich Windoof oder Linux gestartet haben möchte. Im BIOS ist EFI aktiviert, SecureBoot deaktiviert. Das Booten in Windoof oder Debian war bis vor kurzem problemlos möglich. Abgesehen von den EFI (= /dev/sda2) und Windoof-Partitionen, hier die Partitions-Infos zur bisherigen alten Debian Installation:
Linux OS 1 (Debian)
/dev/sda7 --> ext2, Bootpartition (daran war immer /boot gemountet)
/dev/sda8 --> crypto_LUKS, beim Öffnen ist es ext4, Debian Installation ohne separate /home /usw...
Eine swap Partition hatte ich damals bewußt nicht angelegt und verwende daher kein swap. Also eigentlich ziemlich simpel und transparent. Nun hatte ich noch ca. 31GB frei auf der Platte und wollte eine neue zusätzliche Linux-Installation testen. Im grafischen installer habe ich manuell zwei neue Partitionen erstellt, beide mit LUKS verschlüsselt, eine davon ist die gesamte Datenplatte und die andere für swap-Auslagerung. Beim Booten dieses Linux2 werde ich also zwei mal nach dem richtigen Passwort gefragt.
Linux OS 2 (neu installiert)
/dev/sda10 --> crypto_LUKS, beim Öffnen ist es ext4 (auch hier wieder ohne separate Home- usw.. Partitionen), ca. 30GB
/dev/sda11 --> swap, verschlüsselte swap-Partition, ca. 1GB
Meine Idee (und vermutlich mein Fehler?) war, dass ich meine vorhandene unverschlüsselte ext2 boot Partition /dev/sda7 für das neue Linux OS mitverwenden wollte, um das Verzeichnis /boot zu mounten und dort die neuen Kernels etc. abzulegen, Platz war ja vorhanden. Also habe ich für den /boot mount das device /dev/sda7 eingestellt. Nachdem das System fertig installiert war, habe ich alles getestet. Wie ich sehe macht (U)EFI keine Probleme denn wenn ich F12 beim BIOS/Bootvorgang klicke erhalte ich das Notebook Bootmenü und sehe dort alle 3 Installationen:
[A] Windoof --> funktioniert und bootet
[B] Linux 1 (meine alte Installation) --> funktioniert nicht mehr
[C] Linux 2 (meine neue Installation) --> funktioniert und leitet mich weiter zum GRUB-Bootmenü
Wenn ich [ B ] drücke --> dann lande ich in "grub rescue" und normalerweise würde ich hier jetzt mit "prefix=(hd0,gpt7)/grub" und "insmod normal" und "normal" das System starten können aber ich erhalte schon nach "insmod normal" den Fehler
Wenn ich [C] drücke --> dann bekomme ich ein GRUB Bootmenü zu sehen, welches von der frischen neuen Linuxinstallation erzeugt wurde, erkennbar an dessen Hintergrundbild. Dort wiederum sehe ich 4 Einträge:error: symbol `grub_is_lockdown' not found.
[E] Linux 2 --> die neue Linux Installation startet ganz normal
[F] Advanced Options
[G] Windoof Boot Manager (on /dev/sda2) --> Windoof startet ganz normal
[H] System setup --> Notebook rebootet und ich lande automatisch im BIOS setup Menü
Wenn ich [F] drücke --> sehe ich hier 4 Einträge:
[V] Linux 2, with Linux 5.10.0
[W] Linux 2, with Linux 5.10.0 (recovery mode)
[X] Linux 1, with Linux 4.19.0
[Y] Linux 1, with Linux 4.19.0 (recovery mode)
Die Einträge V und W für das neu installierte Linuxsystem funktionieren anstandslos. Die Einträge X und Y deuten eigentlich auf mein altes Linux1 hin, erkennbar am alten Kernelversionstand. Also dachte ich mir, ich probier die mal aber sie funktionieren beide nicht. Es fängt nämlich mit einem Bootvorgang an und dann hängt er mit der Zeile:
Die dort erwähnten UUID=11111111-xxxx-xxxx-xxxx-... und UUID=22222222-xxxx-xxxx-xxxx-... entsprechen allerdings /dev/sda10 und /dev/sda11. Des Weiteren sollte er nicht nach einem suspend/resume device suchen, denn auf der alten Linux1 Installation hatte ich ja gar kein swap im Einsatz. Ausserdem sehe ich an der BusyBox Version, dass diese aktueller ist als die vorhandene auf meinem alten Linux OS. Ich habe nämlich /dev/sda8 entschlüsselt und auf /mnt gemountet so dass ich vergleichen konnte.[...]
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... cryptsetup: Waiting for encrypted source device UUID=11111111-xxxx-xxxx-xxxx-...
cryptsetup: Waiting for encrypted source device UUID=22222222-xxxx-xxxx-xxxx-usw
[...]
Begin: Running /scripts/local-premount ... Begin: Waiting for suspend/resume device ... Begin: Running /scripts/local-block ...
[...und irgendwann dann...]
Gave up waiting for suspend/resume device
Gave up waiting for root file system device. Common problems:
[...]
Alert! UUID=... does not exist. Dropping to a shell!
BusyBox v1.30.1 (Debian 1:1.30.1-6+b1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)
Meine Interpretation und Fazit:
Die Installationsroutine von Linux2 hat die mitverwendete /boot Partition /dev/sda7 durchsucht und durch "updateinitramfs" wurden meine alten initrd Dateien der Linux1 Installation überschrieben. Wenn ich mir /etc/initramfs-tools/update-initramfs.conf anschaue sowohl auf der Linux2 als auch auf Linux1 dann ist dort der Eintrag vorhanden
Code: Alles auswählen
backup_initramfs=no
Deshalb vermute ich jetzt, dass der Linux2-Installer die auf /boot Partion sda7 vorhandene initram Dateien der alten Linux1 überschrieben und somit zerstört hat Kann das sein
Lösungsansätze und bisher probiert:
Ich habe probiert mit unmkinitramfs, cpio, etc. die vorhandenen /boot/initrd* zu extrahieren und zu betrachten aber ich bin nicht wirklich weitergekommen. Damit ich nicht weitere Zeit und Nerven da rein investiere, würde ich gerne erst erfahren ob ich auf dem richtigen Weg oder auf dem Holzweg bin
wenn es wirklich daran liegen sollte, stellt sich die ultimative Frage -> wie komme ich an eine für Linux1 gestaltete initrd ran? Dazu müsste ich diese ja irgendwie bauen mit den benötigten Modulen, Einstellungen, usw... aber alles auf Linux1 bezogen. Wie? und woher krieg ich alle Infos dafür? Das alte Linux1 System /dev/sda8 kann ich ja problemlos auf /irgendwohin mounten und auf das filesystem zugreifen.
Bin für jeden Tip sehr dankbar und sorry für den langen Roman. Wollte aber so viel Details wie möglich aufzeigen, die zur Lösung hilfreich beitragen könnten.
Schönes Wochenende wünscht euch
Pangu