Hat aufgehört, auf das Root-Gerät zu warten, Ubuntu - vg-root existiert nicht


16

Heute habe ich Ubuntu 64-Bit auf einem Netbook installiert. Beim Booten des Netbooks wurde ein Fehlerbericht angezeigt. Ich denke, es gibt ein Problem mit den Partitionen.

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/ubuntu--vg-root does not exist. Dropping to a shell! 

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

(initramfs)

Ausgabe von lsblk wie gewünscht:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
starte lsblkund füge die Ausgabe deiner Frage hinzu.
Psusi

6
@psusi Was ist, wenn lsblknicht verfügbar?
Sitilge

Antworten:


10

Fügen Sie der Frage die Ausgaben von lsblk -fs, fdisk / dev / sda mit p-Flag und den Bericht über die Grub-Reparatur als Pastebin-Links hinzu.

Basierend auf Suche, scheint es ähnliche Fragen über Fragen Ubuntu zu sein , die keine Antwort auf den neuesten Stand haben hier und hier eine Antwort gegeben , die über RAID erklärt und ubuntu.

Es scheint mehrere Vorschläge zu geben, von denen einige für einige Leute zu funktionieren scheinen.

  1. Geben Sie an der Eingabeaufforderung von initframs Folgendes ein ls /dev/mapperund prüfen Sie, ob Ihr Root-Volume aufgeführt ist. Wenn es nicht aufgeführt ist, warten Sie 10 Sekunden und führen Sie ls erneut aus.

    Wenn es jetzt aufgeführt ist, geben Sie Folgendes ein exitund es sollte nun das Root - Gerät und den Start (von hier aus) finden

  2. Bearbeiten Sie die Startkonfiguration, indem Sie auf ewhen grub alert drücken , um das Betriebssystem auszuwählen, und ersetzen Sie es root=UUID-6500...durch root=/dev/sdxsdx als Startpartition. Das Problem hier scheint zu sein, dass die UUID entweder falsch ist oder /dev/disk/by-UUID...nicht existiert (1)

  3. Das Hinzufügen des Parameters all_generic_ideam Ende der Boot-Zeile kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_idescheint für einige Leute zu funktionieren (2)
  4. Die Super-User-Frage hier scheint darauf hinzudeuten, dass der Fehler auf LVM zurückzuführen ist. Die Lösung ist auch in der gleichen gegeben, die lvm2 zu installieren ist.
  5. Dieselbe Super User-Site empfiehlt auch das Booten mit einem älteren Kernel, falls verfügbar. Es scheint für einige Leute zu funktionieren. Der Versuch, mit der RecoveryOption zu booten, funktioniert möglicherweise bei einigen Personen
  6. Post von nux_man777 hier scheint darauf hinzudeuten , dass der Fehler möglicherweise im Installationsmedium liegt.
  7. Der Fehler /dev/mapper/ubuntu-vg-rootscheint mit dem hier beschriebenen Überfall zu zusammenhängen .

    "Klicken Sie in der Installationszusammenfassung direkt vor dem Start des Kopiervorgangs auf die Schaltfläche Erweitert. Ändern Sie die Startpartition (dies ist die übergeordnete Partition im MSDOS-Stil, nicht die Linux-Partitionen) in / dev / mapper / pdc_feddabdf (oder in eine andere Liste) Stellen Sie sicher, dass das Kontrollkästchen aktiviert ist, um von dieser Festplatte zu booten. Beachten Sie, dass das Installationsprogramm grub2 so ändert, dass es auf die richtige logische Partition / dev / mapper / pdc_feddabdf1 oder was auch immer / aktiviert ist. "

    Detaillierte Anweisungen zur Installation finden Sie auf der angegebenen Seite. Weitere Informationen zur Installation von grub finden Sie dort.

  8. Das Booten eines Live-Installationsmediums und das Aktualisieren von Ubuntu durch Ändern von root using chrootscheint für einige Leute zu funktionieren ( hier von cpttripzz vorgeschlagen ). Eine Anleitung zur Chroot gibt es hier . Sie können sich auch bei Unix & Linux auf diese Frage beziehen . Weitere Details finden Sie im Arch Wiki und im Gentoo Wiki .
  9. Das Ändern des SATA-Controllers auf native IDE von RAID und das Ausführen einer Neuinstallation scheint für einige Leute hier und hier zu funktionieren
  10. IDE-Kabel oder Festplatte sind möglicherweise defekt (dasselbe Ubuntu-Forum wie oben auf Seite 40)

Das vorherige Betriebssystem war Win7
Jonas Franz





8

In bestimmten Ubuntu-Versionen (zB Xubuntu 18.10) kann dieses Problem durch eine apt autoremove. Aufgrund dieses Fehlers schlägt apt vor, ihn zu entfernen

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

Dadurch ist das System nicht mehr bootfähig (da die Root-Partitionierung mit LVM nicht eingehängt und unverschlüsselt werden kann).

Wenn Sie LVM und Festplattenverschlüsselung nicht verwenden, ist diese Antwort wahrscheinlich nicht für Sie.

Ich konnte es beheben, indem ich cryptsetup und lvm2 in einer Chroot-Umgebung neu installierte: Booten von einem Live-USB-Stick, Ausführen der folgenden Befehle in einem Terminal, Neustart.

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

Diese Fragen und Antworten halfen mir beim Sammeln der Befehle.


1
Ohh, Sie haben mir gerade drei Tage Arbeit erspart, die ich in die Einrichtung eines neuen Geräts gesteckt habe. Perfekt funktioniert! Ersetzt nvme0n1p3mit sda5und nvme0n1p2mit sda1(Linux-Partition innerhalb der LVM und die kleine Boot-Partition außerhalb der LVM)
Oliver U

1
@OliverU toll, dass es funktioniert hat! Auch wenn Sie es nicht mehr booten können, sollten Sie dennoch in der Lage sein, Ihr Home-Verzeichnis und möglicherweise Teile von / etc oder so auf eine Neuinstallation zu kopieren. Das dürfte wohl weniger Arbeit sein als das anfängliche Setup.
Lumbric

1
Funktionierte perfekt für Ubuntu 18.10, wo mir das Problem nach der apt autoremoveAusgabe passiert ist . Wie Oliver oben musste ich in der Anleitung nur Folgendes ersetzen: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Mit der richtigen Vermutung, keine Notwendigkeit, chrootdoppelt so cat /etc/crypttab | cut -f1 -d " "viel wie im Inneren einzugeben, chrootwird nur bestätigen, dass Sie die richtige Vermutung gemacht haben. Wenn Sie zweimal eingeben müssen, tun Sie dies nach einem Neustart, da das Schließen und erneute Öffnen der crytpsetup + LVM2-Umgebung ohne Neustart… komplex erscheint.
Tanius

Zu beachten ist auch, dass diese Anleitung hervorragend mit der nicht bootenden Festplatte funktioniert, die in ein Laufwerkgehäuse eingebaut und über USB an einen anderen (ordnungsgemäß funktionierenden) Ubuntu-Computer angeschlossen wurde. Dann ist kein Live-System erforderlich.
Tanius

Danke Mann, das hat nach 4 Stunden geholfen. Funktioniert sogar unter Ubuntu 19.10
WellBloud

3

Ich hatte dieses Problem und nichts an irgendwelchen Stellen hier oder anderswo konnte helfen. Speziell in meinem Fall konnte ich sehen, dass /dev/mapperdiesbezüglich nichts ubuntu--vg-rootoder nichts anderes enthalten war . Dies bedeutet, dass entweder ein Fehler aufgetreten ist, als LVM versucht hat, die Volumes bereitzustellen / zuzuordnen, oder ein Fehler aufgetreten ist, der zu einem früheren Zeitpunkt während des Startvorgangs aufgetreten ist.

Das zweite war der Fall für mich und nur, weil ich darüber gelesen habe, dass initramfsich in der Lage war, das Problem zu verstehen und zu diagnostizieren. Dies sollte das erste sein, was Sie tun, wenn Sie den Verdacht haben, dass etwas schief gelaufen ist, bevor LVM seine Sache tut.

In meinem Fall (der möglicherweise nicht mit Ihnen identisch ist, dessen Dokumentation sich lohnt) war die vollständige Festplattenverschlüsselung (LUKS) aktiviert, und die cryptsetupTools wurden entfernt initramfs, sodass ich nicht aufgefordert wurde, die Passphrase zum Entsperren einzugeben Die Laufwerke waren nicht zugänglich, was bedeutete, dass /dev/sdaXsie nicht gemountet und daher ubuntu--vg-rootnicht gemountet / gemappt werden konnten /dev/mapper. Wenn Sie versuchen, cryptsetupvon der BusyBox-Eingabeaufforderung aus zu starten , kann Ihr ll know you have the same issue if theCryptsetup nicht gefunden werden.

Die Lösung war, von einer Live-CD zu booten, das Laufwerk manuell zu entsperren cryptsetup, chrootin das Root-Dateisystem zu gelangen, neu zu installieren cryptsetupund aufzurufen update-initramfs.


Willkommen bei Ask Ubuntu! :-) Kannst du die letzte Zeile in aktuelle Befehle umwandeln?
Fabby

1
Ich habe ein Skript für diesen Fall (LUKS + LVM) auf einem NVMe-Laufwerk geschrieben, kann es aber auch auf /dev/sd*Laufwerke mit Stil erweitern . unix.stackexchange.com/a/467113/103652
dragon788

2

Für diejenigen, die hier an Verschlüsselungsproblemen leiden, wie in der Antwort von @ Zanna, müssen Sie einen ähnlichen Vorgang ausführen:

  1. Starten Sie Ihr System über eine Live-Distribution / USB.

  2. Mounten Sie die verschlüsselte Partition (in Ubuntu sollte das verschlüsselte Volume auf dem Desktop verfügbar sein; ein Doppelklick und die Eingabe des Passworts sollten ausreichen). Die Partition wird um gemountet /media/ubuntu/[mount point]. (Der Benutzername ändert sich je nach Distribution. Xubuntu verwendet ihn beispielsweise xubuntu.)

  3. Öffnen Sie ein Terminalfenster und einen Bourbon.

  4. Legen Sie die entsprechenden Bindungen für Einhängepunkte im System fest:

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot in das Stammverzeichnis Ihrer verschlüsselten Festplatte: chroot /media/ubuntu/[mount point]

  6. Stellen Sie sicher , dass Ihr System geeignet hat initramfsPakete installiert: sudo apt install cryptsetup-initramfs lvm2.

  7. Entscheidend ist , müssen Sie auch sicherstellen , dass Ihre Konfigurationsdateien zwingen initramfsdie Cryptsetup Binärdateien enthalten, die zu einem bestimmten Zeitpunkt entfernt wurden, wie es scheint : nano /etc/cryptsetup-initramfs/conf-hookKommentar- die CRYPTSETUPLinie, und stellen Sie sicher , es liest CRYPTSETUP=Y.

  8. Führen Sie zum Schluss den Computer aus, fahren Sie ihn update-initramfs -u -k allherunter, ziehen Sie die Live-Medien ab und starten Sie den Vorgang erneut.

Ihr Kilometerstand kann hier variieren, je nachdem, was mit Ihrem System passiert ist. Wenn Sie beispielsweise den LVM-Gruppennamen oder die UUID geändert haben, müssen Sie möglicherweise die richtigen Bezeichner ausrichten /etc/crypttabund /etc/fstabverwenden. Wenn Sie wie ich von einer Version zu einer anderen migriert haben, stellen Sie möglicherweise fest, dass Sie zwei verschlüsselte Volumes mit demselben Gruppennamen haben - dies erschwert das Mounten des Datenträgers ziemlich (Sie müssen die UUID explizit verwenden).

Alles in allem war das Upgrade auf Xubuntu 18.10 deswegen schrecklich. (Ein Standardsystem würde nicht neu starten, sobald die Upgrades auf den Kernel eingespielt wurden!) Zumindest im aktuellen Setup ist das System durch Neustarts stabil.

Nb, die ACPI-Fehler, die mich im Internet nach einer Lösung suchten, waren ein roter Faden: Sie haben keinen Einfluss darauf, ob Sie von einer verschlüsselten Festplatte booten können.


Was ist sdXin diesem Fall? Beim Booten von einer Live-CD gibt es keine /bootPartition, daher ist nicht klar, was dort rein gehen soll.
Italien

@ralien - sdXist das Laufwerk, auf dem sich die verschlüsselte Partition befindet, wahrscheinlich sdain den meisten Systemen. In meinem Fall habe ich die Hauptfestplatte ( sda) während einer Neuinstallation verschlüsselt .
Ethan

0

Versuche Folgendes:

(initramfs) reboot

Versuchen Sie dann an der Eingabeaufforderung der Betriebssystemauswahl, mit einem älteren Kernel zu booten.

Wenn Sie erfolgreich sind, wird dies wahrscheinlich das Problem beheben, wie in den Aufzählungszeichen 4 und 5 von @One Face vorgeschlagen, und den Link, auf den es verweist:

sudo apt-get install lvm2

Wenn lvm2 nicht installiert ist, bootet der ältere Kernel nicht. lvm2 Paket und Kernel ist nicht Dinge verknüpft. Es muss mit Rescue System gestartet und das Paket über chroot installiert werden.
PRIHLOP
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.