Ubuntu bootet nicht wegen lvmetad

27

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

https://thesimplecomputer.info/full-disk-encryption-with-ubuntu

Nachdem ich meinen Computer neu gestartet hatte, kam ich zum Grub-Menü und wählte Ubuntu. Kurz darauf bekam 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 Zugang zur initramfsAschekonsole.

Was mache ich falsch?

Mac Dre
quelle
Aschekonsole oder Bashkonsole? Tippfehler?
Thufir

Antworten:

12

Ich habe heute den gleichen Fehler auf einem Laptop mit Ubuntu 15.10 gesehen, der immer auf dem neuesten Stand war, aber erst nach einem Monat neu gestartet wurde, als ich einen aktuellen Kernel testen wollte (dh es gab möglicherweise eine kürzlich erfolgte Änderung).

Jedenfalls stellte ich fest, dass in meinem Fall die Ursache tatsächlich eine "fehlende" Swap-Partition war, die auf einen Setup-Fehler zurückzuführen war, als ich dem obigen Tutorial folgte. Wenn dies der Fall ist und / oder Sie tatsächlich verwenden lvm, können Sie möglicherweise Schritt 2 überspringen. Natürlich wird möglicherweise auch die obige Fehlermeldung angezeigt, falls Ihre Systempartition (oder eine sekundäre Datenpartition) beschädigt wurde oder nicht gefunden werden kann (siehe Schritt 3).

Schritt 1: Hängen Sie Ihr System ein und starten Sie die Partitionen gemäß dem oben beschriebenen Lernprogramm

Lassen Sie uns sagen , dass Ihre (ext2) Boot - Partition / dev / sdX1, Ihre (verschlüsselt) Swap - Partition / dev / sdX2, Ihre (verschlüsselten) Datenpartition / dev / sdX3 und Sie haben entschlüsselt erfolgreich letztere mit cryptsetup luksOpen /dev/sdX3 data, gefolgt von Montage es: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Beachten Sie die Bind-Mounts im Lernprogramm und stellen Sie sicher, dass Sie / dev / sdX1 mounten, damit Sie über das Verzeichnis / boot Ihrer Systempartition darauf zugreifen können (dies ist für die Ausführung von entscheidender Bedeutung update-initramfs).

Im Folgenden wird davon ausgegangen, dass Sie erfolgreich ausgeführt wurden 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 anhand des erwähnten Subvolume-Namens erraten haben), so dass lvmetad leicht wie folgt deaktiviert werden kann, ohne die Funktionalität zu verlieren:

  • Bearbeiten Sie die Datei /etc/lvm/lvm.conf und wechseln Sie use_lvmetad=1zuuse_lvmetad=0
  • ausführen update-initramfs -k $(uname -r) -u ; sync

Nun, Sie könnten neu starten und die Fehlermeldung weg sein sollte. In meinem Fall hat mich die nächste Fehlermeldung [1] jedoch auf das oben erwähnte zugrunde liegende Problem aufmerksam gemacht.

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 nicht als (normale) Swap-Partition angezeigt wird . Wenn dies der Fall ist (wie in meinem Fall), bedeutet dies, dass beim Booten, z. B. mit einer Rettungsdiskette, wahrscheinlich diese verfügbare Swap-Partition verwendet wird, wodurch Ihre Cryptsetup-bezogenen Metadaten (Schlüsselphrase und UUID) überschrieben werden.

Schauen Sie sich als Nächstes / dev / disk / by-uuid an und vergleichen Sie die entsprechenden UUIDs Ihrer verschlüsselten Partitionen mit denen in / etc / crypttab. Meine Vermutung an dieser Stelle: In Ihrem Fall gibt es eine Nichtübereinstimmung.

Wenn die dedizierte verschlüsselte Swap-Partition unter / dev / disk / by-uuid nicht zu finden ist, wird sie derzeit von Ihrem Rettungssystem verwendet. In diesem Fall gehen Sie wie folgt vor:

  • Stellen Sie sicher, dass Sie die Partition nicht mehr verwenden: swapoff -a
  • Formatieren Sie es neu: mkfs.ext2 /dev/sdX2(Dies ist von entscheidender Bedeutung , insbesondere bei Verwendung von GPT-Partitionen [2], da hierdurch der zuvor erwähnte Fehler behoben wird. Die wahrscheinliche Ursache für die Anzeige der Partition als Typ "swap" in der sfdisk-Auflistung ist, dass Sie / ich es versehentlich verwendet haben mkswap /dev/sdX2beim Einrichten der Partition am Anfang.)
  • Folgen Sie dem Tutorial, um die Partition zu verschlüsseln und eine Passphrase festzulegen. Öffnen Sie es anschließend mit cryptsetup und formatieren Sie die jetzt entschlüsselte Partition neu (mit etwas Ähnlichem 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 aufgelisteten UUIDs in der Zeile stehen, die Sie unter / dev / disk / by-uuid für Ihre jeweiligen verschlüsselten Partitionen sehen.

Um die Änderungen dauerhaft zu machen, müssen Sie update-initramfswie oben gezeigt vorgehen.

Wenn Sie zufrieden sind, stellen Sie sicher, dass alles auf die Festplatte geschrieben ist, 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 darauf geachtet, oder die erste Fehlermeldung hat die zweite "maskiert". dh erst nach dem Neustart (mit use_lvmetad=0) wurde mir angezeigt, dass " alle physischen Volumes gelesen werden. Dies kann eine Weile dauern ... " (mehrmals wiederholt), gefolgt von " ALERT! / dev / disk / by-uuid / .. existiert nicht. " (Es ist zu beachten, dass update-initramfsauch über eine fehlende Partition geklagt wird.)

[2] weil ihr Typ von der Analyse ihres Inhalts abgezogen und letztendlich nicht durch ein Flag / Byte angegeben wird (daher gibt es keine einfache Möglichkeit, z. B. den GPT-Dateisystemtyp mit zu ändern [g]parted.)

Markus Überall
quelle
2

Ubuntu 18.04.1 LTS hier. Es war ein paar Monate lang unbeaufsichtigt gelaufen, aber als ich zurückkam, stellte ich fest, dass die Tastatur nicht erkannt wurde. Beim Neustart wurde die Meldung "Verbindung zu lvmetad kann nicht hergestellt werden" angezeigt. Weitere Informationen finden Sie unter "UEFI-Datenbankliste".

Ich hatte ohne Festplattenverschlüsselung installiert.

Die UEFI-Meldung war besorgniserregend, da dies meine erste Installation auf einem UEFI-Computer war. Daher hatte ich keine Erfahrung und bin offen gesagt immer noch nicht über den Nutzen informiert. Mein Problem wurde durch die Tatsache verschärft, dass ich 'lvm' für mein '/', Root, Volume verwendet hatte. (Tatsächlich habe ich bereits vergessen, wie ich DAS überhaupt erreicht habe! Hey. Ich bin alt.)

Wenn der Computer jedoch nicht neu gestartet werden konnte, suchte ich nach einer Lösung und fand nichts Bestimmtes. Dabei stellte ich jedoch fest, dass a) meine EFI-Partition kleiner war als die an einem Standort empfohlenen 500 MB und b) die separate / Boot / Partition, die ich eingerichtet hatte denn war wohl irrelevant und unbenutzt. Ich hielt es für möglich, dass ein unbeaufsichtigtes Upgrade möglicherweise dazu geführt hatte, dass etwas seinen zugewiesenen Platz ausfüllte.

Ich entschied mich für eine Neuinstallation - was funktionierte und meine / home / Verzeichnisstruktur unbeschadet ließ. Ich habe / etc / nicht überprüft, habe aber vorher Kopien von beiden erstellt [1], damit ich sie später überprüfen kann. / etc / ist wirklich klein.

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

Es wird jetzt neu gestartet, aber eine einzelne Fehlermeldung blinkt zu schnell, um gelesen zu werden, und mir wird kein Boot-Menü für Linux-Images zum Booten angeboten, sondern es wird direkt in Ubuntu gebootet. Ich nehme an, mit grub gibt es noch mehr zu tun, um das anzugehen. Aber zumindest sind meine Dateien wieder da.

[1] Ich habe die Ubuntu-Installation von einem USB-Stick gebootet und Ubuntu "ausprobiert", wodurch ich Kopien von etc und home erstellen konnte, bevor ich "Installieren" vom Desktop aus auswählte.

Sumpf
quelle
mit mount /dev/mapper/data /tmp/databekomme ich unknown filesystem type LVM2_member.
Francesco Boi
2

Der Failed to connect to lvmetadFehler kann auftreten , weil der Datenträger zu 100% voll ist. Um dies zu beheben, starten Sie von einem USB-Stick, hängen Sie die vollständige Festplatte ein, löschen Sie einige nicht benötigte Dateien und starten Sie neu. Ich habe auch das Boot-System 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 werden von einem Terminal ausgeführt, nachdem Sie vom USB-Laufwerk gebootet haben. Ich habe Ubuntu 18.04 mit Full-Drive-Verschlüsselung auf Lager. YMMV.

  • Hängen Sie das Laufwerk ein:
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • nicht benötigte Dateien löschen ( cd /mnt/home/your_username... rm ...)
  • (Möglicherweise nicht erforderlich) Installieren Sie das Boot-System 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
  • aushängen:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • Neustart:
sudo reboot
bitinerant
quelle
0

Es ist nicht erforderlich, Ihr System von einem USB-Stick oder einem anderen Gerät zu starten. Ich hatte das gleiche Problem und einen Grund - weil die Festplatte zu 100% voll ist. Die nächste 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. In diesem Problem finden Sie Bildschirme. Suchen Sie einen String, der wie folgt beginnt:

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

Sobald Sie fertig sind, drücken Sie STRG + x oder F10, um zu starten.

3) Die Root-Partition ist schreibgeschützt gemountet. Geben Sie den Befehl ein, um es mit Lese- / Schreibzugriff bereitzustellen

mount -o remount,rw /

4) Finden Sie heraus, was schief gelaufen ist:

df -hT
Ekaterina Borikova
quelle