Mounten Sie das Root-Dateisystem von initramfs

Mounten Sie das Root-Dateisystem von initramfs

Das ist ein häufiges Szenario. Aus irgendeinem Grund konnte das initramfs (OpenSUSE, falls das wichtig ist) das Root-Dateisystem nicht finden und schickt Sie in eine Rettungsshell. Ich weiß jedoch ganz genau, welches Gerät gemountet werden muss. Meine Frage:

Was ist das richtige Verfahren zum Mounten des Root-Dateisystems und Fortsetzen der Boot-Sequenz?

Das ist vermutlich das GanzePunktder Rettungskonsole. Und doch scheint niemand dokumentiert zu haben, wie man das tatsächlich macht.

Offensichtlich kann ich das Root-Dateisystem irgendwo mounten. Aber wie mache ich das?Wurzeldes Dateisystembaums? Und fahre ich danach mit dem normalen Startvorgang fort? (Ich dachte, das Beenden der Shell würde ausreichen ... aber das ist nicht der Fall.) Was genau müssen Sie mounten, bevor Sie fortfahren, und wie fahren Sie fort?

Antwort1

exec switch_root /mnt/root /sbin/init

https://wiki.gentoo.org/wiki/Custom_Initramfs#Init

Antwort2

Dies hängt von der Art des Problems ab. Wenn das Problem darin bestand, das Initramfs-Image selbst zu beschädigen, müssen Sie es tatsächlich neu generieren (update-initramfs ausführen), um das Problem zu beheben. Denken Sie daran, dass das Initramfs-Dateisystem ein RAM-Dateisystem ist. Um also etwas zu beheben, müssen Sie das komprimierte Initramfs-Image und/oder das Root-Dateisystem reparieren.

Ich habe das folgende Verfahren auf einem mit LUKS verschlüsselten Ubuntu-System verwendet, um einen durch ein fehlerhaftes Crypttab unterbrochenen Bootvorgang fortzusetzen.

Zuerst entschlüsselte ich die Partition

cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

Beachten Sie, dass dies device_cryptnicht zufällig ist. Es muss mit dem Namen übereinstimmen, der normalerweise beim Mounten Ihres Systems verwendet wird (Partition + _crypt scheint Standard zu sein).

Als Nächstes müssen Sie die Volume-Gruppen auf dieser jetzt entschlüsselten Partition aktivieren.

vgchange -ay

Jetzt können Sie versuchen, die Dateisysteme /, /boot, proc, swap usw. zu mounten und die Dinge auf diese Weise zum Laufen zu bringen.

In meinem Fall musste ich jedoch nur exit eingeben und initramfs sah die logischen Volumes dort und setzte den Bootvorgang problemlos fort. An diesem Punkt war es einfach, den Schaden zu beheben und auszuführenupdate-initramfs -u

Antwort3

Führen Sie den Befehl einfach fsckohne Optionen aus initramfsund starten Sie dann neu

Beispiel: die Root-Partition istsda3

fsck /dev/sda3

Antwort4

normales Verfahren ist

  1. montieren Sie /dev/sdX /mnt
  2. Problem auf /mnt beheben
  3. Neustart

Du möchtest vielleicht

  1. montieren Sie /dev/sdX /mnt
  2. Fehlerbehebung /mnt
  3. umount /mnt
  4. einhängen /dev/sdX /
  5. Bootvorgang manuell beenden

Dies wird nicht empfohlen. Sie müssen es bei jedem Start durchführen. In einer Produktionsumgebung können Sie nicht sicher sein, dass beim manuellen Start dieselben Schritte ausgeführt werden wie beim automatischen.

In einem Notfall mit kritischen Daten läuft Schritt 5 jedoch normalerweise auf Folgendes hinaus:

  • 5.1 Netzwerk einrichten
  • 5.2 Wichtige Dateien an einen sicheren Ort kopieren

verwandte Informationen