Ubuntu bootet wegen lvmetad nicht

Ubuntu bootet wegen lvmetad nicht

Ich habe dieses Tutorial befolgt, um Ubuntu 15.10 zu installieren:

https://web.archive.org/web/20180530122126/http://thesimplecomputer.info/vollständige Festplattenverschlüsselung mit Ubuntu

Nach dem Neustart meines Computers gelangte ich zum Grub-Menü und wählte Ubuntu. Kurz darauf erhielt ich diesen Fehler:

/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

Diese Meldungen werden jede Sekunde auf einem schwarzen Bildschirm angezeigt. Nach einer Weile erhalte ich Zugriff auf die initramfsAsh-Konsole.

Was mache ich falsch?

Antwort1

Ich habe heute denselben Fehler auf einem Laptop mit Ubuntu 15.10 gesehen, das ich immer auf dem neuesten Stand gehalten, aber einen Monat lang nicht neu gestartet hatte, bis ich einen aktuellen Kernel testen wollte (d. h. es gab möglicherweise kürzlich eine Änderung).

Wie dem auch sei, ich habe festgestellt, dass in meinem Fall die zugrunde liegende Ursache tatsächlich eine „fehlende“ Swap-Partition aufgrund eines Setup-Fehlers war, als ich das obige Tutorial befolgte. Wenn dies der Fall ist und/oder Sie tatsächlich verwenden lvm, können Sie Schritt 2 unten möglicherweise überspringen. Natürlich kann die obige Fehlermeldung auch angezeigt werden, wenn Ihre Systempartition (oder eine sekundäre Datenpartition) beschädigt ist oder nicht gefunden werden kann (siehe Schritt 3).

Schritt 1: Mounten Sie Ihr System und booten Sie die Partitionen gemäß dem oben genannten Tutorial

Angenommen, Ihre (ext2-)Bootpartition ist /dev/sdX1, Ihre (verschlüsselte) Swappartition ist /dev/sdX2, Ihre (verschlüsselte) Datenpartition ist /dev/sdX3 und Sie haben letztere erfolgreich mit entschlüsselt und cryptsetup luksOpen /dev/sdX3 dataanschließend gemountet: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Achten Sie auf die Bind-Mounts im Lernprogramm und stellen Sie sicher, dass Sie /dev/sdX1 mounten, damit Sie vom /boot-Verzeichnis Ihrer Systempartition darauf zugreifen können (das ist wichtig, da wir es ausführen müssen update-initramfs).

Im Folgenden gehen wir davon aus, dass Sie erfolgreich ausgeführt haben chroot /tmp/data/@ubuntu1510(oder wie auch immer Ihre gemountete Systempartition heißt)

Schritt 2: Beseitigen Sie die obige Fehlermeldung

Ich verwende btrfs (wie Sie vielleicht schon anhand des erwähnten Subvolume-Namens erraten haben), daher kann lvmetad ohne Funktionsverlust wie folgt einfach deaktiviert werden:

  • editieren Sie /etc/lvm/lvm.conf und ändern Sie use_lvmetad=1inuse_lvmetad=0
  • ausführenupdate-initramfs -k $(uname -r) -u ; sync

Jetzt dukönntestarten Sie neu und die Fehlermeldung sollte verschwunden sein.Jedoch,in meinem Fall hat mich die nächste Fehlermeldung[1] auf das oben genannte zugrunde liegende Problem hingewiesen, also, wenn wir schon dabei sind, ...

Schritt 3: Stellen Sie sicher, dass /etc/crypttab auf die richtigen, unbeschädigten Partitionen verweist

Führen Sie zunächst aus sfdisk --list /dev/sdXund überprüfen Sie, ob Ihre verschlüsselte Swap-Partition (in meinem Fall /dev/sdX2) tatsächlich funktioniertnichtals (normale) Swap-Partition angezeigt. Wenn dies der Fall war (wie in meinem Fall), bedeutete dies, dass beim Booten, z. B. mithilfe einer Rettungsdiskette, wahrscheinlich diese verfügbare Swap-Partition verwendet wird, wodurch Ihre Cryptsetup-bezogenen Metadaten (Schlüsselphrase und UUID) überschrieben werden.

Als nächstes schau dir /dev/disk/by-uuid an und vergleiche die jeweiligen UUIDs deiner verschlüsselten Partitionen mit denen in /etc/crypttab. Meine Vermutung an dieser Stelle: In deinem Fall gibt es eine Diskrepanz.

Wenn die dedizierte, verschlüsselte Swap-Partition nirgends unter /dev/disk/by-uuid zu finden ist, liegt das daran, dass sie derzeit von Ihrem Rettungssystem verwendet wird. Gehen Sie in diesem Fall wie folgt vor:

  • Stellen Sie sicher, dass Sie die Verwendung der Partition beenden:swapoff -a
  • formatieren: mkfs.ext2 /dev/sdX2(das istentscheidend, insbesondere bei Verwendung von GPT-Partitionen[2], da es den Fehler behebt, den ich zuvor erwähnt habe. Der wahrscheinliche Grund dafür, dass die Partition in der Sfdisk-Liste als Typ „Swap“ angezeigt wird, ist, dass Sie/ich mkswap /dev/sdX2beim Einrichten der Partition am Anfang fälschlicherweise Folgendes verwendet haben.)
  • Folgen Sie dem Tutorial, um die Partition zu verschlüsseln und eine Passphrase festzulegen. Öffnen Sie sie anschließend mit cryptsetup und formatieren Sie diejetzt entschlüsseltPartitionieren (mit etwas wie mkswap /dev/mapper/swap)
  • Stellen Sie sicher, dass sfdisk --list /dev/sdXdie Swap-Partition nicht als solche identifiziert wird (wiederholen Sie in diesem Fall die letzten Schritte).

Überprüfen Sie nun erneut, ob die in /etc/crypttab aufgeführten UUIDs mit dem übereinstimmen, was Sie unter /dev/disk/by-uuid für Ihre jeweiligen verschlüsselten Partitionen sehen.

Um die Änderungen dauerhaft zu machen, müssen Sie sie erneut update-initramfswie oben gezeigt ausführen.

Wenn Sie zufrieden sind, stellen Sie sicher, dass alles auf die Festplatte geschrieben wurde, und starten Sie das System neu (Sie müssen nicht alles manuell aushängen). Danach sollte Ihr Problem behoben sein.

[1] Vielleicht habe ich beim ersten Mal nicht aufgepasst oder die erste Fehlermeldung hat die zweite "maskiert". Das heißt, erst nach dem Neustart (mit use_lvmetad=0) wurde mir "Alle physischen Datenträger werden gelesen. Dies kann eine Weile dauern ..." (mehrfach wiederholt), gefolgt von "ACHTUNG! /dev/disk/by-uuid/... existiert nicht.". (Es sei darauf hingewiesen, dass update-initramfsauch eine fehlende Partition bemängelt wurde.)

[2] weil ihr Typ aus der Analyse ihres Inhalts abgeleitet wird und nicht letztendlich durch ein Flag/Byte spezifiziert wird (deshalb gibt es keine einfache Möglichkeit, beispielsweise den GPT-Dateisystemtyp mithilfe von zu ändern [g]parted.)

Antwort2

Der Failed to connect to lvmetadFehlerdürfenpassiert, weil die Festplatte zu 100 % voll ist. Um das zu beheben, booten Sie von einem USB-Stick, mounten Sie die volle Festplatte, löschen Sie einige nicht benötigte Dateien und starten Sie neu. Ich habe auch das Bootsystem neu installiert – ich weiß nicht, ob das notwendig ist oder nicht.

Dies sind die Befehle, die das Problem für mich gelöst haben. Sie wurden von einem Terminal ausgeführt, nachdem ich vom USB-Laufwerk gebootet hatte. Ich habe Ubuntu 18.04 mit vollständiger Laufwerksverschlüsselung. Ihre Ergebnisse können abweichen.

  1. Mounten Sie das Laufwerk:

    sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
    sudo vgscan --mknodes
    sudo vgchange -ay
    sudo mount /dev/mapper/ubuntu--vg-root /mnt
    
  2. Löschen Sie nicht benötigte Dateien ( cd /mnt/home/your_username... rm ...)

  3. (möglicherweise nicht erforderlich) Installieren Sie das Bootsystem neu:

    cd /mnt/
    sudo mount /dev/sda1 boot
    for d in dev sys proc run; do sudo mount --bind /$d $d; done
    sudo vi etc/crypttab # make sure first line uses "sda5_crypt"
    sudo chroot .
    update-grub
    grub-install /dev/sda
    update-initramfs -u -k all
    exit
    sudo umount dev sys proc run boot
    
  4. Aushängen:

    cd /
    sudo umount /mnt
    sudo vgchange -an
    sudo cryptsetup close sda5_crypt
    
  5. Neustart:

    sudo reboot
    

Antwort3

Ubuntu 18.04.1 LTS hier. Es lief einige Monate unbeaufsichtigt, aber als ich zurückkam, stellte ich fest, dass die Tastatur nicht erkannt wurde. Beim Neustart erhielt ich die Meldung „Verbindung zu lvmetad nicht möglich“ und mehr darüber, dass die „UEFI-Datenbankliste“ nicht abgerufen werden konnte.

Ich habe ohne Festplattenverschlüsselung installiert.

Die UEFI-Meldung war beunruhigend, da dies meine erste Installation auf einem UEFI-Computer war, ich also keine Erfahrung hatte und ehrlich gesagt noch immer nicht über die Nützlichkeit informiert bin. Mein Problem wurde dadurch verschärft, dass ich „lvm“ auf meinem zukünftigen „/“-Root-Volume verwendet hatte. (Tatsächlich habe ich bereits vergessen, wie ich DAS überhaupt geschafft habe! Hey. Ich bin alt.)

Als die Maschine jedoch nicht neu startete, suchte ich nach einer Lösung und fand nichts Endgültiges, bemerkte aber, dass a) meine EFI-Partition kleiner war als die auf einer Site empfohlenen 500 MB und b) die separate /boot/-Partition, die ich eingerichtet hatte, wahrscheinlich irrelevant und unbenutzt war. Ich dachte, es sei möglich, dass ein unbeaufsichtigtes Upgrade möglicherweise dazu geführt hatte, dass der zugewiesene Speicherplatz voll war.

Ich habe mich für eine Neuinstallation entschieden, die funktioniert hat und meine /home/-Verzeichnisstruktur unberührt gelassen hat. Ich habe /etc/ nicht überprüft, aber vorher Kopien von beiden gemacht[1], damit ich es später überprüfen kann. /etc/ ist wirklich klein.

Ich habe auch die Partitionen für EFI und /boot/ gelöscht und zu einer einzigen, größeren EFI-Partition (> 750 MB) kombiniert.

Es startet jetzt neu, aber eine einzelne Fehlermeldung blinkt zu schnell, um sie zu lesen, und mir wird kein Boot-Menü mit Linux-Images zum Booten angeboten, sondern es bootet direkt in Ubuntu. Es gibt noch mehr Arbeit zu tun, vermutlich mit Grub, um dieses Problem zu beheben. Aber zumindest sind meine Dateien wieder da.

[1] Ich habe die Ubuntu-Installation von einem USB-Stick gebootet und die Option „Ubuntu ausprobieren“ ausgewählt. Dadurch konnte ich Kopien von etc. und Home erstellen, bevor ich auf dem Desktop die Option „Installieren“ ausgewählt habe.

Antwort4

Es ist nicht notwendig, Ihr System von einem USB-Stick oder etwas anderem zu booten. Ich hatte das gleiche Problem und einen Grund – weil die Festplatte zu 100 % voll ist. Die folgende Lösung hat mir geholfen.

  1. Starten Sie Ihr System neu. Halten Sie im BIOS schnell die Umschalttaste gedrückt, um das GNU GRUB-Menü aufzurufen.

  2. Drücken Sie anschließend 'e', ​​um die Ubuntu-Einstellungen zu bearbeiten.dieses ProblemSie können Bildschirme finden. Suchen Sie nach einer Zeichenfolge, die mit „linux *“ beginnt, wie folgt:

    linux     /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-e\
    c5b-44ee-a099-a88eb9520989 ro  quiet splash $vt_handoff
    

    Löschen:

    ro  quiet splash $vt_handoff
    

    Und füge hinzu:

    init=/bin/bash
    

    Wenn Sie bereit sind, drücken Sie zum Booten Ctrl+xoder F10.

  3. Die Root-Partition ist nur schreibgeschützt gemountet. Um sie schreibgeschützt zu mounten, geben Sie den Befehl ein

    mount -o remount,rw /
    
  4. Finden Sie heraus, was schief gelaufen ist:

    df -hT
    

verwandte Informationen