Home › Fora › Forum wsparcia › Oprogramowanie › [SOLVED] GRUB – recovery i porządkowanie
- This topic has 26 odpowiedzi, 4 uczestników, and was last updated 6 years, 6 months temu by pavbaranov.
- AutorPosty
- 8 czerwca 2018 o 23:44 #7557majoModerator
Przy okazji innego problemu, odkryłem, że mój GRUB jest w b. złym stanie i chcę zrobić z nim porządek.
Przy okazji chcę dodać opcję recovery, co wydaje się dobrze tu opisane, aczkolwiek mam pewną wątpliwość.
Widzę dwa pliki: starszy:/etc/default/grub
i nowszy/etc/default/grub.pacnew
Pytanie: Czy na pewno należy wyedytować ten starszy plik?Jeśli chodzi o GRUB, to mam następujące problemy:
1. Zapasowy, starszy Manjaro (16.10.3), który kilka miesięcy temu działał poprawnie, obecnie prawie nie działa (nie uruchamia się w trybie graficznym, a uruchomiony w tty pozwala na dalsze uruchomienie tylko niektórych pakietów). Ponieważ nie aktualizowałem tej wersji systemu, zakładam że w systemie nic się nie powinno zmienić, a za problemy odpowiada niewłaściwe wywołanie przez obecny GRUB.
2. Menu Gruba jest częściowo błędne, gdyż mam zainstalowane kernele 4.14 i 4.9, natomiast GRUB (błędnie) pokazuje mi kernele 4.9 i 4.4. W przypadku startu z kernelem 4.9 staruje dokładnie ten kernel.
W przypadku startu z Menu GRUBa z kernelem 4.4 jest oczywisty komunikat błędu o braku kernela 4.4 .
Nie mam w Menu GRUBa opcji startu z najnowszym kernela 4.14 .
Taki stan utrzymuje się, pomimo, że w międzyczasie wielokrotnie robiłem update-grub (ostatnio wczoraj) lub robił to automatycznie system:sudo update-grub Generating grub configuration file ... Found background: /usr/share/grub/background.png Found linux image: /boot/vmlinuz-4.14-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.14-x86_64.img Found initrd fallback image: /boot/initramfs-4.14-x86_64-fallback.img Found linux image: /boot/vmlinuz-4.9-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.9-x86_64.img Found initrd fallback image: /boot/initramfs-4.9-x86_64-fallback.img Found Manjaro Linux (16.10.3) on /dev/sda5 Found unknown Linux distribution on /dev/sda7 Found memtest86+ image: /boot/memtest86+/memtest.bin done
Chciałbym, o ile można, wykasować wszelkie informacje, które obecny GRUB przechowuje (i na ich podstawie powiela obecne błędy) i zrobić GRUB od zera, zakładając, że dwa powyższe problemy zostaną przy okazji rozwiązane.
Pytanie: Czy i jak można tego dokonać?Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 11:27 #7558Robert75ForumowiczNo ja robiłem zgodnie z zaleceniami @aquila, czyli edytowałem tylko plik
/etc/default/grub
, następnieupdate-grub
i wszystko jest OK. Tzn. wpis recovery jest widoczny w GRUB-e.Arch Linux Xfce - 64Bit Linux User #6211109 czerwca 2018 o 11:30 #7559pavbaranovForumowicz1. GRUB (i nie tylko on) wykorzystuje wyłącznie pliki sterujące (czyt. bez żadnego rozszerzenia; pacnew oznacza wyłącznie, że jakaś wersja GRUB dostarczyła swoją nową wersję tego pliku – należy porównać i podjąć stosowną decyzję o albo skasowaniu takiego pliku, albo połączeniu, albo podmianie z dotychczasowym; więcej masz w wiki Archa, bo niby gdzie :)).
2. GRUB w systemie ma być jeden.
3. Przeinstaluj go, utwórz nowy wg wiki z Archa (czyli na piechotę) i powinno być ok.
4. Pozycji recovery nawet nie musisz mieć, bowiem na to samo wyjdzie wystartowanie systemu z dodanym którymś z poleceń wymienionych w wiki Archa (od „Alternatively, append…”). Inna sprawa, że przy błędzie opisanym w Twoim innym poście ani recovery, ani to nie pomogłoby.
9 czerwca 2018 o 13:30 #7562azjaModerator… pacnew, pacsave, pacorig:
https://wiki.manjaro.org/index.php?title=Pacnew_and_Pacsave_FilesNie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi
9 czerwca 2018 o 15:29 #7563majoModeratorDzięki za linki. Poczytałem i wiem więcej, jednak zastanawiam się dlaczego plik
grub.pacnew
jest o 50 dni nowszy i ciągle dostępny w tym katalogu, a pacman go nie skasował, gdy już nie był potrzebny?
I dlaczego, skoro jest to nowa wersja, jej kilka zmian w porównaniu do plikigrub
nie zostało dodanych do plikugrub
?
Może istnienie obu tych plików jest przyczyną moich problemów z GRUB?Różnice między tym plikami pokazałem tu
Różnice to:
– cudzysłowy (jest ich więcej w plikugrub
)
– w linii 4: UUID mojej partycji SWAP (w plikugrub
)
– w linii 41,42 w plikugrub
dodane słowo kluczoweexport
Reasumując, skłaniam się do skasowania pliku
grub.pacnew
. Co o tym sądzicie?Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 16:01 #7566azjaModerator… .pacnew, to template, wzorzec. W link’u, który Ci podałem, jest wyjaśniona procedura, jaką pacman przeprowadza, porównując pliki w systemie, z tymi dostarczonymi przez aktualizowane pakiety. Jeżeli uzna, że jest jakiś nowy/zmodyfikowany plik konfiguracyjny, to zapisuje go jako .pacnew (w ogromnym uproszczeniu, szczegóły w wiki). Ty otrzymujesz informację, że taki plik pojawił się i podejmujesz decyzję:
– mam, to w d…, nic nie robię;
– sprawdzam, ale nie widzę różnic;
– sprawdzam, widzę różnice, ale nic nie robię;
– sprawdzam, widzę różnice i implementuję je do aktualnego pliku konfiguracyjnego w systemie;
… sam plik .pacnew możesz zostawić (nie bierze udziału w grze), albo usunąć – w zależności od przyjętego systemu. Ja zostawiam, bo mam pod ręką referencyjny plik z konfiguracją, do którego mogę zajrzeć w dowolnym momencie.Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi
9 czerwca 2018 o 18:06 #7567majoModeratorOK.
Usunąłemgrub.pacnew
,
dodałemGRUB_DISABLE_RECOVERY="false"
(u mnie w cudzysłowach),
przeładowałem gruba:sudo update-grub Generating grub configuration file ... Found background: /usr/share/grub/background.png Found linux image: /boot/vmlinuz-4.14-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.14-x86_64.img Found initrd fallback image: /boot/initramfs-4.14-x86_64-fallback.img Found linux image: /boot/vmlinuz-4.9-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.9-x86_64.img Found initrd fallback image: /boot/initramfs-4.9-x86_64-fallback.img Found Manjaro Linux (16.10.3) on /dev/sda5 Found unknown Linux distribution on /dev/sda7 Found memtest86+ image: /boot/memtest86+/memtest.bin done
Jak widać, powinienem mieć kernel 4.14 i 4.9 .
Jednak po restarcie w GRUBie nie pojawił mi się żaden dodatkowy wpis związany z „Recovery”, natomiast GRUB ciągle wygląda tak, jak wcześniej, bez kernela 4.14 i z fałszywymi wpisami do kernela 4.4.88, którego nie mam.
Przyglądnąłem się opisowi instalacji GRUBa w wiki Archa i nie widzę tu klarownej i jednoznacznej instrukcji. Widzę duże ryzyko popełnienia błędu.
Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 18:14 #7568Robert75ForumowiczWpis recovery znajduje się w advanced options.
Arch Linux Xfce - 64Bit Linux User #6211109 czerwca 2018 o 18:37 #7569majoModeratorEureka – chyba znalazłem źródło problemu :)
Zobaczyłem że GRUB widziany przez
grub-customizer
wygląda, tak jak powinien ( https://i.imgur.com/heuINSo.jpg ) i jak sprawdziłem na szybko, odpowiada wpisom z/boot/grub/grub.cfg
Wtedy skojarzyłem, że GRUB, który teraz widzę, to chyba jest wersja GRUBa, którą kiedyś pomyłkowo uruchomiłem na innej partycji z roboczą wersją Manjaro 16.10 ( na sda5), a potem przełączałem GRUBa na aktualną instalację Manjaro (na sda2).
Podejrzewam, że jakimś cudem(?) aktywował mi się w międzyczasie stary GRUB na sda5.
W takim razie biorę się za ponowne przełączenie aktywnego GRUBa na sda2.
cdn.
Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 19:46 #7570azjaModerator… bootloader – jak matka, czy władca pierścieni – powinien być jeden. Inaczej robi się zamieszanie na podwórku. No, chyba, że instalacja nie jest produkcyjna, tylko experimentalna.
Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi
9 czerwca 2018 o 20:09 #7571majoModeratorMasz zupełną rację @azja i usunę GRUBa z partycji sda5 jak tylko uda mi się aktywować ten właściwy na sda2, a z tym jest ciągle problem.
Poprawnie wykonałem przywrócenie GRUBa z sda2, łącznie z poprawkami, które musiałem dokonać, gdyż po drodze pojawił się błąd „EFI variables are not supported on this system.”
Finalnie cała procedura przywracania GRUBa została powtórzona bez żadnych komunikatów o błędach, jednak po restarcie ciągle widzę ten sam błędny wygląd GRUBa (który najprawdopodobniej pochodzi z sda5).
Co mogę dalej?Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 20:32 #7572pavbaranovForumowiczOł maj god :)
1. Skoro masz dwa GRUBe, to musisz wpierw ustalić z którego system jest bootowany. Ten drugi w dowolny sposób możesz edytować, a i tak to nic nie da. Jak wspomnialiśmy – nie kombinuj: GRUB ma być jeden. Nie istnieje żaden „zapasowy”, przedpasowy, ani żaden inny. Jest zawsze jeden.
2. Pliki typu *.pacnew są wprowadzane do systemu wraz z nowymi wersjami danego programu, gdy tego potrzebują. W normalnie używanej wersji instalacji (pacman) dostajesz o tym informację. Jak jest w różnych GUI – nie mam pomięcia i nie będę się nad tym zastanawiać. Plik taki niesie ze sobą informacje, które np. mogą się różnić składnią od poprzedniego. Po otrzymaniu informacji o zainstalowaniu takiego pliku w systemie zawsze należy się nad nim pochylić, albowiem w skrajnym przypadku system po prostu nie wstanie po reboocie. Dlaczego jest na zawsze? No właśnie po to, by z niego móc skorzystać i to nawet wówczas, gdy system nie wstanie. Innymi słowy: nie zastanawiać się (np. dlaczego pacman go nie kasuje), gdy to zastanawianie się do niczego nie prowadzi.
3. W Twoim przypadku – zrób porządek z systemem, bo masz w nim misz-masz. Zdecyduj się na jednego GRUBego, drugiego wykasuj, zdecyduj gdzie chcesz go mieć, przeinstaluj pliki konfigurujące i będzie dobrze.9 czerwca 2018 o 21:53 #7573majoModerator(bedzie bez ogonkow -sorry)
Troche sie skomplikowalo..
Probowalem ustalic, z ktorego GRUBa system jest bootowany.
Poniewaz wczesniej ponizsza komenda dawala inne rezultaty niz na stronie Efibootmgr od Gentoo, tj. bylo tak:efibootmgr -v BootCurrent: 000F Timeout: 0 seconds No BootOrder is set; firmware will attempt recovery
jako root wykonalem sugerowane komendy:
mount | grep efivars
mount -o remount,rw -t efivarfs efivarfs /sys/firmware/efi/efivars
I dodalem na bazie wzoru Z Gentoo, jak sadzilem, poprawny wpis:
efibootmgr -c -d /dev/sda -p 1 -L "Manjaro" -l /boot/SCIEZKA_DO_LIKU_W_MANJARO.efi
Po tym wpisie komenda
efibootmgr -v
pokazywala wynik podobny do tego z Gentoo, wiec wydawalo sie, ze jest OK, jednak po restarcie jest error: https://imgur.com/a/QWS0YZGI dopiero teraz kompletnie nie wiem, co robic???
Manjaro [stable] LTS, Xfce - tego używam
9 czerwca 2018 o 22:14 #7574pavbaranovForumowiczchroot – odinstaluj GRUBe do spodu (oba!), zainstaluj ponownie, skonfiguruj, umieść rozruchowy tam gdzie chesz – ma działać! Łaski nie robi. Polecam – mimo wszystko – wiki GRUBego na Archu.
9 czerwca 2018 o 22:22 #7575majoModeratorchroot – odinstaluj GRUBe do spodu
Czy dobrze rozumiem, ze masz na mysli komende:
sudo pacman -Rns grub
?
I czy po ponownej instlacji GRUBa na sda2, powinno sie pojawic normalne okno Menu GRUBa (a nie ten error https://imgur.com/a/QWS0YZG ) ?Manjaro [stable] LTS, Xfce - tego używam
- AutorPosty
- Musisz być zalogowany aby odpowiedzieć w tym wątku.