Problem mit „grub-mkconfig“ bei der Arch Linux-Installation: „grub-mkconfig“ kann keine Verbindung zu lvmetad herstellen

Problem mit „grub-mkconfig“ bei der Arch Linux-Installation: „grub-mkconfig“ kann keine Verbindung zu lvmetad herstellen

Ich habe ein Problem mit einer Neuinstallation vonArch Linuxauf einem Computer mit Dual-Boot von Windows 10.

Aus verschiedenen, voneinander unabhängigen Gründen habe ich beschlossen, alles in meiner alten Arch Linux-Installation zu sichern und neu zu beginnen. Ich habe das Arch Linux-Livemedium auf einem USB-Stick, also habe ich davon gebootet (inUEFI), habe meine Linux-Partition formatiert und die Installationsanleitung für Arch Linux durchgearbeitet.

Alles schien gut zu funktionieren, bis ich zum Abschnitt „Bootloader installieren“ kam. Ich war mir nicht 100 % sicher, was ich hier tun sollte, da die Anleitung für Anfänger, die ich zuvor verwendet hatte, zugunsten der (viel, viel kürzeren) Installationsanleitung gelöscht wurde.

Ich weiß, dass meineEFIDie Partition enthielt bereits alle benötigten GRUB-Inhalte, aber ich ging davon aus, dass dies für eine Neuinstallation geändert werden müsste.

  • Ich habe den /boot/EFI/grub.efiStumpf gelöscht und /boot/grub/in umbenannt /boot/grub.bak.
  • Ich rannte
    pacman -S grub os-prober
    
    führte den grub-installBefehl aus dem Arch-Installationshandbuch mit target=x86_64-efiund directory=/boot(mein Einhängepunkt für meine EFI-Partition) aus und führte dann aus
    grub-mkconfig -o /boot/grub/grub.cfg
    

Hier fingen meine Probleme an. Beim Ausführen des grub-mkconfigBefehls wurde mir ein failed to connect to lvmetadFehler angezeigt und es wurde mir mitgeteilt, dass in den Fallback-Modus zurückgekehrt wird. Es wurde erfolgreich eine grub.cfgDatei im richtigen Verzeichnis erstellt, es waren jedoch keine Menüeinträge vorhanden.

Beim Versuch zu booten bekomme ich nur eine GRUB-Befehlszeile. Ich gehe zurück zu meinem Arch Linux Live-Medium und mache die erneut arch-chroot, gehe in mein /boot/grub.bakund kopiere die Menüeinträge für Arch Linux von dort, wobei ich darauf achte, die alte UUID durch die zu ersetzen, die aktuell in meinem angezeigt wird.fstabfür mein Stammverzeichnis. Dadurch wurde beim Neustart das GRUB-Menü wiederhergestellt, aber bei der Auswahl von Arch Linux trat ein Fehler auf, der /vmlinux couldn't be found.

Ich ging zurück in mein chrootLive-Medium und führte es erneut aus grub-config. Immer noch keine Menüeinträge. Ich fanddiese Fragemit einem ähnlichen Problem, bei dem es hieß, dass es ein bekanntes Problem mit dem grub-mkconfigHilfsskript gäbe. Das war von 2014, also dachte ich, es sei unwahrscheinlich, dass mein Problem dasselbe war, aber ich folgte der dort besten Antwort. Der Vorschlag war, Folgendes zu tun:

bin gerade auf dasselbe Problem gestoßen und habe eine andere Problemumgehung gefunden. Im Wesentlichen geht es darum, /rundem Gast das Hosts-Verzeichnis zur Verfügung zu stellen.

Zuerst mounten wir es /rundort, wo es vom Gast aufgerufen werden kann. Ich gehe davon aus, dass Ihre Installationspartition unter gemountet ist /mnt.

mkdir /mnt/hostrun
mount --bind /run /mnt/hostrun

Dann chrootbetreten wir das Gästehaus und besteigen die Sitze unseres Gastgebers /run/lvmim Gästehaus /run.

arch-chroot /mnt /bin/bash
mkdir /run/lvm
mount --bind /hostrun/lvm /run/lvm

Sie können dann ohne LVM-Fehler ausführen grub-mkconfig. grub-installDadurch funktionieren die Befehle auch, wenn Sie mit LVM installieren, was auch immer das bedeutet.

Wenn Sie fertig sind, denken Sie daran, /run/lvmvor dem Verlassen des Chroots das Unmount durchzuführen.

Dadurch wurde mein fails to connect to lvmetadFehler tatsächlich behoben, aber durch ein ersetzt /dev/sdx not initialized in UDEV. Der Befehl erzeugt immer noch ein grub.cfgohne Menüeinträge.

Ich kann in Windows gelangen, indem ich den Windows-Boot-Manager aus dem F12Menü „Beim Booten hämmern“ meines Laptops auswähle.

Antwort1

Das Problem tritt nur auf, weil Sie in sind arch-chrootund verwenden os-prober. Was mein Problem gelöst hat, war:

  • Sichern Sie den aktuellen Stand grub.cfg, falls Sie dies noch nicht getan haben.
  • Entfernen os-prober( pacman -R os-prober,oder Sie können es deaktivieren)
  • Laufengrub-mkcondig
  • Starten Sie Arch neu
  • Installierenos-prober
  • Führe es grub-mkconfignochmals aus

Antwort2

Ich hatte das gleiche Problem. Dies ist ein alter Beitrag, aber ich werde meinen Workaround posten, falls er jemandem hilft.

Wie Sie hatte ich ein komplettes Backup, inklusive einer Arbeitsdatei grub.cfg. Ich habe die benötigten Menüeinträge aus der alten grub.cfgDatei extrahiert und zu hinzugefügt /etc/grub.d/40_custom. Als nächstes habe ich

grub mkconfig -o /boot/grub/grub.cfg

Jetzt ist alles gut.

os-proberist ein Komfortelement mit niedriger Priorität und nicht wirklich wichtig. Ich persönlich würde nicht viel Zeit damit verbringen, es zum Laufen zu bringen. Es ist eine persönliche Entscheidung. Manche Leute lieben es, solche Probleme zu beheben, und ich danke ihnen für ihre Bemühungen, aber andere brauchen ihre Systeme für die eigentliche Arbeit, haben Zeitbeschränkungen und müssen sie zum Laufen bringen.

Dieses Problem wird irgendwann entweder durch Software oder Dokumentation behoben. Wenn Sie Fragen dazu haben, wie Sie Menüeinträge in der 40_customDatei einrichten, finden Sie bei einer Websuche zahlreiche Beispiele.

verwandte Informationen