Grub-mkconfig źle generuje plik konfiguracyjny [Arch Linux]


(sajmon17099) #1

Witam. Mam komputer z UEFI. Poprzednio był na nim zainstalowany Ubuntu a obok niego Arch, i Arch był bootowany z GRUBa zainstalowanego przez Ubuntu. Postanowiłem się ostatnio pozbyć Ubuntu, bo z niego nie korzystam. Usunąłem więc partycję z Ubuntu i sformatowałem partycję EFI. Na Archu zainstalowałem pakiety grub, efibootmgr i os-prober, ogólnie postępowałem tak jak na wiki Archa. Zamontowałem partycję EFI (ok. 200MB z flagami boot i esp, sformatowana na Fat32) na /boot i wykonałem

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

oraz

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

Po ponownym uruchomieniu wita mnie GRUB Rescue, a dokładniej na początku nie pisze “GRUB Rescue”, tylko po prostu “GRUB”. Z tego co czytałem oznacza to, że poprawnie zainstalowałem GRUBa, lecz GRUB nie znajduje pliku grub.cfg. I właśnie nie wiem, co robię nie tak. Plik się niby generuje po grub-mkconfig -o /boot/grub/grub.cfg, jednakże po wpisaniu nie widać żadnych linii typu “Found Linux […]”. Po prostu wpisałem to i pokazało mi się jedynie

Generowanie pliku konfiguracyjnego GRUB-a...
gotowe

Co może być tego przyczyną? Dlaczego grub-mkconfig nie wykrywa Linuxa? Dlaczego GRUB nie wykrywa grub.cfg?
Wygenerowane grub.cfg


(marcin82) #2

Uruchom dowolne livecd i podaj wynik bootinfoscript:


(sajmon17099) #3

Muszę to robić z Live CD? Już jestem w Archu (wklepałem kilka komend do GRUB Rescue). Oczywiście nie naprawiło to GRUBa, ale mam teraz chociaż dostęp do systemu.

EDIT:

Wynik skryptu uruchomionego z Archa:
https://pastebin.com/8vvcEaZm


(marcin82) #4

Pokaż jescze wyniki komend (druga jako root):
ls -la /sys/firmware/efi/
efibootmgr -v
ls -la /boot


(sajmon17099) #5

Proszę:
https://pastebin.com/GehFu3nz


(marcin82) #6

Pliki kernela zostały w porzednim miejscu - albo przenieś albo zainstaluj od nowa (kernel nie system …) - prościej będzie zainstlować:
pacman -S linux


(sajmon17099) #7

Ok, spróbuję. Domyślam się, że po tym będę musiał ponownie konfigurować GRUBa?


(marcin82) #8

Nie. Uruchom system tak jak miałeś uruchomiony jak dawałeś wyniki komend. Zainstaluj kernel tak jak pisałem wyżej i wygeneruj konfigurację Gruba:
grub-mkconfig -o /boot/grub/grub.cfg


(sajmon17099) #9

No to o to mi poprzednio chodziło. Wielkie dzięki - wszystko mi już działa :grin:


(marcin82) #10

Trzeba by było jeszcze sprzątnąć pliki kernela ze starej lokalizacji, to już tylko z livecd nie montując partycji ESP.


(sajmon17099) #11

Dlaczego z live CD? Nie można ich usunąć bezpośrednio w Arch Linuxie?


(marcin82) #12

Nie, bo ty już TERAZ uruchamiasz system z zamontowaną “na stałe” partycją ESP w punkcie /boot:
Device Mount_Point Type Options
/dev/sda1 /boot vfat [...]

Stary kernel BYŁBY widoczny w /boot do momentu, w kŧórym nie zostanie zamontowana w tym punkcie partycja ESP :smiley: