Ich versuche Arch Linux auf einem neuen (und sehr beschissenen) HP Pavillion 15 Notebook zu installieren.
Dies ist eine UEFI-basierte Maschine. Nach mehreren Schlägen habe ich es geschafft, ziemlich weit zu kommen. Der Legacy-Modus ist im System-Setup deaktiviert, und ich habe EFI auf die Arch-DVD gebootet, die ich gebrannt habe, und sowohl das Arch-Anfängerhandbuch als auch das erweiterte Installationshandbuch bis zu dem Punkt durchlaufen, an dem ich Grub installiere.
Während chroot
ed, ich führe aus:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
Dies gibt eine Menge Output aus, einschließlich:
EFI-Variablen werden auf diesem System nicht unterstützt
Als ich das erste Mal an diesen Punkt kam, fuhr ich mit der Installation fort, ohne zu wissen, ob es sich tatsächlich um ein Problem handelte. Es stellte sich heraus, dass beim Neustart der Maschine kein bootfähiges Medium gefunden werden konnte und die Maschine sich weigerte zu booten. An diesem Punkt konnte ich in das UEFI-Setup-Menü gehen und eine EFI-Datei zum Booten auswählen, und Arch Linux startete.
Aber ich gehe jetzt zurück und installiere es erneut, um das obige Problem zu beheben.
Wie kann ich GRUB dazu bringen, richtig zu installieren?
Akzeptierte Antwort:
Das Problem war einfach, dass die efivarfs
Kernelmodul wurde nicht geladen.
Dies kann bestätigt werden durch:
sh-4.2# efivar-tester
UEFI variables are not supported on this machine.
Wenn Sie chroot
sind ed in Ihre neue Installation, exit
aus und aktivieren Sie dann efivarfs
:
exit
modprobe efivarfs
(efivarfs
waren früher efivars
, wenn dies also einen Fehler zurückgibt, versuchen Sie es mit modprobe efivars
)
…und dann chroot
wieder rein. In meinem Fall bedeutet das:
chroot /mnt
aber Sie sollten chroot
genauso wie zuvor.
Testen Sie nach dem Wiedereinschalten erneut:
efivar-tester
Dadurch wird kein Fehler mehr gemeldet und Sie können Grub genauso installieren wie zuvor.
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug