Das System startet nicht mehr, hat das Warten auf das Root-Gerät aufgegeben (initramfs), / dev / mapper / gnome-root existiert nicht


10

Nach der Installation eines Updates startet mein System nicht mehr. Ich habe die vollständige Festplattenverschlüsselung (die vom Installationsprogramm für Sie eingerichtet wurde) aktiviert, sodass normalerweise nur Sekunden nach dem Booten nach GRUB nach dem Schlüssel gefragt wird. Jetzt wird die Frage nach dem Schlüssel übersprungen, versucht, Gnome zu laden, und dann wird der unten abgebildete Bildschirm angezeigt. Das System ist eine 64-Bit-System76-Box mit Ubuntu Gnome 13.04. Dies ist mir jedoch in der Vergangenheit einmal auf einem Dell XPS 8300 64-Bit mit Ubuntu Gnome Remix 12.10 passiert. In diesem Fall habe ich das Betriebssystem neu installiert. Allerdings möchte ich das Problem dieses Mal tatsächlich beheben, damit ich weiß, wie ich in Zukunft damit umgehen soll. Es ist auch äußerst unpraktisch, von Grund auf neu zu installieren.

Mein Verdacht ist, dass etwas in einer Konfigurationsdatei in / boot so durcheinander geraten ist, dass es nicht merkt, dass die Festplatte verschlüsselt ist, aber ich habe nichts gesehen, als ich dort herumgestochert habe. Haben Sie Ideen, wie Sie das Problem beheben können (abgesehen von der Neuinstallation des Betriebssystems)?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

Antworten:


9

Ich habe es repariert !!! Für zukünftige Generationen müssen Sie also nicht die qualvollen Tage und endlosen Stunden durchmachen, die ich getan habe:

Erstens konnte ich das System über die (initramfs)Eingabeaufforderung zum Booten bringen, indem ich Folgendes eingab (ich habe diese Forenseite als Krücke verwendet):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Dadurch wurde mein System ordnungsgemäß gestartet. Nach dem Booten habe ich geändert /etc/crypttab, um auf eine andere UUID als zuvor zu verweisen. Ich habe die UUID von meinem ausgewählt /etc/fstab. Speichern Sie den ursprünglichen UUID-Wert. Sie benötigen es in wenigen Schritten. Ich lief dann (von einem Terminal):

update-initramfs -k all -c

Wenn Sie eine Warnung erhalten, die so oder ähnlich aussieht:

WARNING: invalid line in /etc/crypttab

Gehen Sie dann zum Anfang zurück und verwenden Sie stattdessen das sda5_crypt, was sich in Ihrem befindet crypttab.

Ich habe dann neu gestartet. Diesmal habe ich die Eingabeaufforderung für die Passphrase erhalten! Aber sei nicht zu aufgeregt, denn es hat nicht funktioniert. Ich habe ungefähr 7 Mal das richtige Passwort eingegeben und es hat sie alle abgelehnt. (initramfs)Nach etwa 90 Sekunden kehrte es zur Eingabeaufforderung zurück.

Ich wiederholte Schritt eins und ließ es erneut booten. Ich habe dann den ursprünglichen UUID-Wert wiederhergestellt crypttabund Schritt zwei erneut ausgeführt. Ich habe dann neu gestartet und ERFOLG!


5

Da die Vollplattenverschlüsselung in Ubuntu 14.04 eine Option ist, wollte ich nur darauf hinweisen, wie ich dieses Problem gelöst habe, da mein initramfs-Terminal mir nicht erlaubte, Folgendes zu verwenden cryptsetup:

  1. Booten Sie von einer Live-DVD / USB (USB wird viel schneller sein).

  2. Öffnen Sie ein Terminal und geben Sie Folgendes ein:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
  3. Starten Sie neu und hoffen Sie, dass es funktioniert.


Diese Lösung hat mir besser gefallen, da ich nicht herausfinden musste, wie ich eine initramfs-Eingabeaufforderung erhalten oder mehr als einen Neustart durchführen kann. In meinem Fall hatte ich ein Upgrade von Ubuntu 15.04 auf 15.10 durchgeführt und konnte mein Laufwerk während des Startvorgangs nicht mehr entsperren. Eine Ergänzung ist, dass ich festgestellt habe, dass der in Zeile 2 angegebene Zuordnungsname (z. B. sda5_crypt) mit Ihrer Crypttab-Datei übereinstimmen muss.
Der Wolf

1
Das obige funktioniert nur, wenn Sie einen Eintrag in haben /etc/crypttab. Nachdem Sie die Chroot gemäß den obigen Schritten eingegeben haben, aber bevor Sie sie update-initramfsausführen nano /etc/crypttab, führen Sie sie aus und stellen Sie sicher, dass dort eine Zeile mit dem Namen des Mappers und der Laufwerks-UUID vorhanden ist. Wenn die Datei nicht existiert oder leer ist, update-initramfswird das Problem nicht behoben! Fügen Sie die Crypttab-Zeile in der Chroot-Umgebung hinzu. Diese Antwort sollte bearbeitet werden, um dies widerzuspiegeln. Außerdem denke ich, dass dies cryptsetupnur an der Eingabeaufforderung initramfs /etc/crypttabvorhanden ist, wenn vorhanden, und Einträge enthält, wenn initramfs aktualisiert wird.
Nick

0

Korrigieren Sie Ihren Grub durch Booten über eine Live-CD / Live-USB. Auf dieser Seite finden Sie Details zum Vorgang. Lesen Sie den Abschnitt "über das LiveCD-Terminal" auf der Seite.

Durch das Korrigieren des Grubs sollten alle fehlerhaften Dateien behoben werden, die möglicherweise in der Grub-Konfiguration vorhanden sind.


Danke für den Tipp. Ich habe alles versucht, was Sie vorgeschlagen haben, aber ohne Erfolg. Ich habe es aber gerade herausgefunden. Es ist ziemlich verrückt ...
Freedom_Ben

0

Überprüfen Sie, ob Sie cryptsetupauf Ihrem System installiert haben. Möglicherweise wurde es durch Ausführen entfernt apt-get autoremove. Weitere Infos .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.