Próbuję zainstalować Arch Linux na nowym (i bardzo kiepskim) komputerze przenośnym HP Pavillion 15.
Jest to maszyna oparta na UEFI. Po kilku huśtawkach udało mi się dojść dość daleko. Tryb starszej wersji jest wyłączony w konfiguracji systemu, a EFI uruchomił się na Arch DVD, który wypaliłem, i przejrzałem zarówno Arch Arch dla początkujących, jak i bardziej zaawansowany Podręcznik instalacji, aż do instalacji gruba.
Podczas chroot
edycji wykonuję:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
To emituje masę produkcji, w tym:
Zmienne EFI nie są obsługiwane w tym systemie
Gdy pierwszy raz dotarłem do tego punktu, kontynuowałem instalację, nie wiedząc, czy to rzeczywiście problem. Okazuje się, że tak było, ponieważ po ponownym uruchomieniu komputera nie można znaleźć nośnika startowego, a maszyna odmówiła uruchomienia. W tym momencie mogłem wejść do menu ustawień UEFI i wybrać plik EFI do uruchomienia, a Arch Linux uruchomi się.
Ale teraz wracam i ponownie instaluję, próbując naprawić powyższy problem.
Jak mogę poprawnie zainstalować GRUB?
modprobe efivarfs
pracy problem opisany przez PO nadal występuje. może ta odpowiedź wymaga aktualizacji? Skończyły mi się pomysły.modprobe efivars
dajemodprobe: FATAL: Module efivars not found in directory /lib/modules/4.16.3-301.fc28.x86_64
(świeżo zainstalowane usb na żywo)Ten błąd pojawi się, jeśli wykonałeś rozruch przy użyciu starszej wersji, a nie metody UEFI. Musisz upewnić się, że wybrałeś element rozruchowy UEFI w menu BIOS lub wybierz UEFI jako domyślną metodę rozruchu.
źródło
Wiem, to bardzo stary wątek, ale może komuś pomoże. Większość przewodników sugeruje to samo rozwiązanie do montowania wirtualnych systemów plików przed chroot:
Ale teraz (być może związane ze zmianami efivars / efivarfs) ta pętla pomija jeden bardzo specjalny podpunkt -
/sys/firmware/efi/efivars
i efibootmgr / grub nie działa.Zamiast tego użyj tej linii:
Rzeczywista historia sukcesu: Debian z wersją 4.9.0-5 (efivars) zapisaną przez Arch Linux live cd (wybrany tylko dlatego, że można uruchomić system po wyjęciu z pudełka) z 4.14.9-1-ARCH (efivarfs) po prostu przez bind-mount / sys / firmware / efi / efivars
źródło
Korzystając z Fedory 27, musiałem zamontować
efivarfs
. Zrobiłem to wewnątrz chrootfs, jednak to wciąż nie działało, ponieważ pokazany został wpis bootowaniaefibootmgr
- ale po ponownym uruchomieniu został uruchomiony z poziomu Nether, ani raz nie został pokazany w systemie operacyjnym na żywo.To, co w końcu zadziałało, to użycie gruba z nośnika na żywo, upuszczenie do powłoki i wejście
linuxefi /vmlinuz-<version> root=/dev/mapper/luks-<uuid> ro initrdefi /initramfs-<version>.img boot
Z normalnego systemu operacyjnego uruchomionego, mogłemgrub2-install
bez niego uruchomićchroot
i to działało.Nie jestem pewien, czy to był tylko problem z moim BIOS-em, czy nadal jest coś bardziej ogólnie nie tak, ale właśnie to
grub2-install
uruchomiło się bez zgłaszania żadnego błędu.# Open encrypted root partion cryptsetup luksOpen /dev/sda4 a4 mount /dev/mapper/a4 /mnt mount /dev/sda2 /mnt/boot mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev mount -t devpts pts /mnt/dev/pts/ mount -o bind /etc/resolv.conf /mnt/etc/resolv.conf chroot /mnt # run inside the chroot: mount /dev/sda1 /boot/efi mount -t efivarfs efivarfs /sys/firmware/efi/efivars grub2-install
źródło
Nie możesz! Budowanie i instalowanie to dwie różne rzeczy: maszyna, na której zbudujesz, musi być zdolna do uefi. Jeśli chcesz używać / instalować Linuksa na sprzęcie obsługującym Uefi, gpt musi już istnieć. Możesz zbudować gpt / mbr na uefi, ale nie na obu, jeśli twój sprzęt używa starych bios.
źródło