
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.efi
Stumpf gelöscht und/boot/grub/
in umbenannt/boot/grub.bak
. - Ich rannte
führte denpacman -S grub os-prober
grub-install
Befehl aus dem Arch-Installationshandbuch mittarget=x86_64-efi
unddirectory=/boot
(mein Einhängepunkt für meine EFI-Partition) aus und führte dann ausgrub-mkconfig -o /boot/grub/grub.cfg
Hier fingen meine Probleme an. Beim Ausführen des grub-mkconfig
Befehls wurde mir ein failed to connect to lvmetad
Fehler angezeigt und es wurde mir mitgeteilt, dass in den Fallback-Modus zurückgekehrt wird. Es wurde erfolgreich eine grub.cfg
Datei 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.bak
und 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.fstab
fü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 chroot
Live-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-mkconfig
Hilfsskript 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,
/run
dem Gast das Hosts-Verzeichnis zur Verfügung zu stellen.Zuerst mounten wir es
/run
dort, 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
chroot
betreten wir das Gästehaus und besteigen die Sitze unseres Gastgebers/run/lvm
im 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-install
Dadurch funktionieren die Befehle auch, wenn Sie mit LVM installieren, was auch immer das bedeutet.Wenn Sie fertig sind, denken Sie daran,
/run/lvm
vor dem Verlassen des Chroots das Unmount durchzuführen.
Dadurch wurde mein fails to connect to lvmetad
Fehler tatsächlich behoben, aber durch ein ersetzt /dev/sdx not initialized in UDEV
. Der Befehl erzeugt immer noch ein grub.cfg
ohne 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-chroot
und 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) - Laufen
grub-mkcondig
- Starten Sie Arch neu
- Installieren
os-prober
- Führe es
grub-mkconfig
nochmals 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.cfg
Datei 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-prober
ist 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_custom
Datei einrichten, finden Sie bei einer Websuche zahlreiche Beispiele.