[SOLVED] GRUB – recovery i porządkowanie

Jesteś nowy na forum? Przeczytaj ...

Home Fora Forum wsparcia Oprogramowanie [SOLVED] GRUB – recovery i porządkowanie

Ten wątek zawiera 26 odpowiedzi, ma 4 uczestników, ostatnio zmodyfikowany przez  pavbaranov 4 miesięcy, 1 tydzień temu.

Oglądasz 12 posty - 16 do 27 (z 27 ogółem)
  • Autor
    Posty
  • #7576

    pavbaranov
    Forumowicz

    Komenda prawidłowa (może być też pacman -Rn grub, ale dla pewności, po chroocie pokaż jeszcze jak wygląda wynik: pacman -Qs grub. Jeśli chodzi o to, czy na /dev/sda2, to Ci nie odpowiem, bo nie wiem jak masz urządzone te partycje, zwykle jednak instaluje się GRUBego w /dev/sdX, a nie /dev/sdX(Y) (na urządzeniu, a nie partycji).
    Polecam lekturę.
    System wstanie (nie będziesz miał takiego obrazka), jeśli wcześniej fizycznie nie wykosiłeś partycji.

    #7582
    majo
    majo
    Moderator

    OK.
    Większość problemów rozwiązałem.
    Posiłkując się podobnym wątkiem, zrobiłem chroot do sda2, a następnie wykonałem komendy przywracające bootowanie do mojego GRUBa na sda2.

    sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
    sudo efibootmgr -c -d /dev/sda -p 1 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi"

    Jak teraz widzę, wcześniej chcąc wykonać tą ostatnią komendę, błędnie podałem ścieżkę do pliku *.efi, zapisując ją w konwencji linuksowej, a jak widać powyżej, trzeba było zastosować konwencję windowsową (katalogi rozdzielone znakiem \).
    W efekcie tego błędu wystąpił wcześniej pokazany błąd GRUBa.

    Mam obecnie właściwe Menu GRUBa (z sda2).
    Przy okazji wyszło, że albo w czasie rozlicznych prób, a może w wyniku specyficznego działania mojego firmware UEFI, najprawdopodobniej nie mam już GRUBa w sda5 (a na pewno nie ma po nim śladu w /boot/efi/ w partycji sda5 ).

    Jedyne co zostało, to, że drugi (archiwalny) Manjaro 16.10.3 na sda5 nie chce normalnie działać, ale być może to nie sprawka GRUBa. Łatwiej chyba będzie reinstalować ten system na sda5, koniecznie bez tworzenia GRUBa, niż teraz walczyć z wpisami GRUBa. Zajmę się tym przy okazji.

    Na razie muszę odetchnąć po cyklu awarii :)

    Dziękuję wszystkim za twórcze podpowiedzi.

    Manjaro [stable] LTS, Xfce - tego używam

    #7584
    azja
    azja
    Moderator

    … drobne uzupełnienie wpisu 7572: pamac domyślnie pokazuje tylko pasek postępu, ale po użyciu przycisku ‚Szczegóły’ mamy normalny terminal (hmmm, emulator terminala :-) ) z pełnymi informacjami. W octopi jest podobnie – możemy zaznaczyć opcję, która pokaże nam wykonywane operacje w oknie terminala – nie pamiętam jak jest bez niej.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7589

    pavbaranov
    Forumowicz

    @majo:
    GRUB, a EFI to dwie różne rzeczy.
    GRUBego – z którego startujesz – masz na urządzeniu sda. Nie na sda2, sda5, czy gdziekolwiek.
    EFI masz w na jakiejś partycji /dev/sdaX (sprawdź sobie przez fdisk -l).
    Instalując drugie Manjaro na /dev/sda5, prawdopodobnie wprowadziłeś do systemu 2x GRUB. „Aktualnego” Manjaro oraz „zapasowego” (BTW – nie mam ochoty pouczać, ale owe „zapasowe” Manjaro nie ma absolutnie najmniejszego sensu; wyłącznie tracisz miejsce na dysku, jeśli chcesz mieć „awaryjnego” linuksa, to zainstaluj sobie tam cokolwiek innego; nie mój problem). Potem dokonując aktualizacji systemu (nie wiem którego), zaktualizowało Ci się coś (GRUB???), który się przeinstalował, ale… wystartował prawdopodobnie z drugiego, który nie był dobrze powiadomiony o zmianach w systemie.
    Jeśli chcesz mieć więcej niż 1 linuksa (czy ogólnie system), to:
    1. GRUB ma być jeden wyłącznie.
    2. EFI ma być jedno wyłącznie.
    3. System „podstawowy” ma „obsługiwać” drugi system („zapasowy”).
    W sumie tylko tak się ustrzeżesz awarii związanych z GRUBym/EFI.

    #7599
    majo
    majo
    Moderator

    @pavbaranov

    GRUB, a EFI to dwie różne rzeczy.

    Jasne.
    Jednak, o ile Menu i koncepcja GRUBa w początkowych wersjach, w czasach MBR, była prosta i klarowana, o tyle obecnie, gdy GRUB w jakiś sposób(?) bazuje na UEFI, przynajmniej dla mnie, jest to bardzo mało czytelne i nie do końca zrozumiałe.

    GRUBego – z którego startujesz – masz na urządzeniu sda. Nie na sda2, sda5, czy gdziekolwiek.

    Tego nie jestem pewien. Być może tak być powinno, ale.. posłużę się moim przykładem:

    1. Na nowym dysku zainstalowałem partycję EFI (sda1) i Manjaro na sda2. Instalator automatycznie umieścił GRUBa (w sumie kilkaset plików budujących ten pakiet) w przeróżnych podkatalogach w partycji sda2 (choć to oczywiście cześć dysku sda). Wiem że w ramach skomplikowanej zależności GRUB-EFI zostały utworzone jakieś(?) wpisy w partycji EFI (sda1) oraz m.in. w katalogu /boot/efi/ w partycji sda2.
    2. Następnie instalowałem zapasową wersję Manjaro2 na sda5 (co ma dla mnie sens, ze względu na te same użyte pakiety i tą samą strukturę katalogów/plików, a czego nie ma, jeśli zapasowym systemem jest inna dystrybucja).
    Zrobiłem błąd (a instalator mnie nie ostrzegł) i nie zablokowałem opcji instalowania GRUBa (chyba była taka opcja). Wskutek tego instalator zainstalował ponownie wszystkie katalogi/pliki GRUBa na sda5, umieszczając także odpowiednie pliki w katalogu /boot/efi/ w partycji sda5 oraz wpisy w partycji EFI (sda1). W tym momencie miałem zainstalowane dwa GRUBy, na dwóch partycjach, choć oczywiście tylko jeden był aktywny.
    3. Naprawiłem swój błąd i przywróciłem GRUBa zainstalowanego na sda2 (jednak pliki GRUBa znajdujące się na sda5 nie zostały usunięte). I potem przez dłuższy czas było OK (z systemu Manjaro2 na sda5 nie korzystałem).
    4. Potem trochę namieszałem :) – przyznaję. Na nowym dysku sdb (przy odłączonym dysku sda) zainstalowałem partycję EFI (sdb1) i.. testowo Manjaro3 na sdb3 (w sumie trzeciego :) – choć na tym dysku był to jedyny Linux). Oczywiście instalator zainstalował swojego GRUBa na sdb3 (jedynego na dysku sdb). Następnie, w celu odzyskania danych utraconych na dysku sda, zainstalowałem Windowsa XP na sdb2 (który przekonwertował mi przy okazji cały dysk sdb z GPT na MBR).
    Kiedy oba dyski były aktywne, był aktywny GRUB ze swoimi plikami na sda2, z którego mogłem bootować wszystkie 3 wersje Manjaro, (dwie GPT/UEFI na sda2 i sda5 i jedną, przekonwertowaną przez Windowsa do MBR, na sdb3).

    Podejrzewam, że w czasie gdy był aktywny Manjaro2 na sda5, zrobiła się jakaś aktualizacja i wtedy aktywował się (uśpiony) GRUB na sda5 (a ja tego nie zauważyłem, gdyż również z tego GRUBa miałem dostęp do głównego Manjaro na sda2 ). Potem usunąłem Windowsa XP z sdb2 oraz Manjaro3 z sdb3. Po drodze było kilka aktualizacji systemu i w pewnym momencie zauważyłem ze Manjaro2 na sdb5 przestał normalnie działać, a kernele pokazane w Menu GRUBa nie odpowiadają tym aktualnie instalowanym. I tu kończy się opowieść :)

    1. GRUB ma być jeden wyłącznie.

    Pełna zgoda :)

    2. EFI ma być jedno wyłącznie.

    A nie jedno dla każdego dysku?

    Manjaro [stable] LTS, Xfce - tego używam

    #7604
    azja
    azja
    Moderator

    … nie używam tego szatańskiego wynalazku, nazywanego EFI/UEFI, ale – o ile mi dobrze wiadomo – EFI jest potrzebne do boot’owania komp’a (nie do uruchamiania dysków, czy poszczególnych systemów obecnych na danym komputerze), a więc powinno być jedno na cały komputer. Tak jak GRUB.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7605

    pavbaranov
    Forumowicz

    @majo: Nie bardzo mi się chce w skończonym wątku jeszcze wszystko komentować, ale:
    1. Prawdopodobnie mówisz o GRUB (obecnie Legacy, czyli wersja <2) vs. GRUB2. GRUB2 obsługuje systemy z EFI.
    2. Jeśli chodzi o to „jedno EFI” – mi chodziło o to, że partycja /dev/sdXY z systemem EFI winna być jedna. Nie ma sensu dla każdej instalacji kolejnego systemu umieszczonego na tym samym komputerze tworzyć kolejnej. Podobnie jak nie ma sensu dla każdej takiej instalacji „tworzyć” kolejnego GRUBa. Wszystkie instalacje obsługiwane przez jeden program rozruchowy. Tak jest prościej i pewniej. Oczywiście to jest linux, zatem niczego, nikomu się nie zabroni, ale zarządzanie takim kompletnie „podwójnym” ustawieniem jest o wiele trudniejsze i trzeba wiedzieć jak. Problem opisany tutaj przez Ciebie jest właśnie wynikiem zarządzania systemem z dwoma GRUB i EFI, ale tak, jakbyś miał wyłącznie jeden. Nastąpiła jakaś aktualizacja, prawdopodobnie kernela, który w Manjaro automatycznie aktualizuje GRUB (użytkownik nawet o tym nie wie, jeśli nie czyta komunikatów lub ich nie rozumie), ale wyłącznie tego, z którego w danym momencie system był uruchomiony. Potem start z innego, który nie był zaktualizowany i efekt jak opisany. Oczywiście prawdopodobnie, bo przy Twoim systemie nie siedzę.
    Uchronisz się przed czymś takim stawiając drugą, trzecią, nastą instalację linuksa, ale uruchamiając je z owego „podstawowego”. Mniej kłopotów, mniej pamiętania o konieczności aktualizacji również innych itd. Zarządzanie jest proste i winno stwarzać mniej powodów do rozwalenia się rozruchu systemu.

    #7611
    majo
    majo
    Moderator

    @pavbaranov
    Pisząc GRUB, miałem na myśli aktualne nazewnictwo, tj. wersję 2.X tego pakietu, instalowaną przez instalator Manjaro 16.10.3, z którego korzystałem ( tj. GRUB wersja 2.02.beta3-3 ), a potem upgradowaną przez kolejne aktualizacje systemu.

    Jeśli chodzi o „szatański wynalazek” EFI (trafne określenie :) ), to jest to dosyć zagmatwane, ale udało mi się znaleźć w miarę zwięzły opis, dotyczący sytuacji z wieloma dyskami, który potwierdza, że jedna partycja EFI (ESP) wystarczy.
    Z drugiej strony nie ma przeciwwskazań, aby instalować ESP na każdym oddzielnym dysku, jeśli te dyski będą (przynajmniej przez jakiś czas) funkcjonować niezależnie (tak jak było w moim przypadku, gdy instalowałem Manjaro3 na dysku sdb, przy odłączonym dysku sda, a wtedy utworzenie ESP na dysku sdb było koniecznością).

    Manjaro [stable] LTS, Xfce - tego używam

    #7612

    pavbaranov
    Forumowicz

    Absolutnie nie ma żadnych przeciwskazań, by mieć więcej niż jeden GRUB w systemie, by mieć więcej niż jedno EFI itd. itp. Podobnie jak EFI na każdym dysku (czyli /dev/sdX), gdy mają one funkcjonować niezależnie na systemach z EFI. Tyle, że w Twoim przypadku (pomijam 3 instalkę Manjaro) miałeś EFI nie na dysku (/dev/sdX), a na dwu jego partycjach (/dev/sda2 i /dev/sda5). Takie coś ma mierny sens. Może mieć wówczas, gdy jest to świadoma decyzja (a u Ciebie taką nie była), której sens ktoś widzi.
    Podkreślam Twój system i mi nic do tego. Ja po prostu jestem zwolennikiem ułatwiania sobie życia, a nie utrudniania i stąd – przy braku jakichkolwiek informacji, że Twoje działanie (dotyczy tylko dysku /dev/sda, bo o sdb to dowiedzieliśmy się dużo później) było zamierzone – propozycja, którą zaprezentowałem. Oczywiście zrobisz co uważasz. Dla mnie to już OT, bo absolutnie nierozwojowy wątek, gdzie wszystko zostało wyjaśnione. Reszta, to na jakieś IRCowe pogaduchy lub inną, bardziej swobodną, korespondencję.
    Pozdrawiam.

    #7613
    azja
    azja
    Moderator

    … nie można mi zarzucić prostoty – być może dlatego tak ją cenię. Prostota nade wszystko – jedna partycja EFI, jeden GRUB – chyba, że jest DOBRE uzasadnienie odejścia od tej reguły. Uważam, że jest to jedyne racjonalne podejście do tematu. Rzecz jasna, wolny kraj(?), wolni ludzie(?), więc nikt, nikomu skutecznie niczego nie zabroni.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7618
    majo
    majo
    Moderator

    Zgadzam się z Wami, że należy upraszczać i skoro jeden GRUB i jedna partycja EFI (ESP) wystarczy, to nie ma sensu komplikować systemu.

    W moim przypadku omyłkowo zainstalowałem drugi GRUB na sda5. ESP na dysku sda zawsze była tylko jedna (sda1). Jednak w czasie instalowania drugiego GRUBa na sda5 zostały (chyba – bo mój firmware UEFI jest jakiś nietypowy) dodane odpowiednie wpisy do ESP (w sda1), informujące, że aktywny GRUB znajduje się właśnie na sda5.
    Potem, w czasie przywracania GRUBa z sda2, jak rozumiem, w ESP powinna zostać jedynie zmieniona kolejności aktywnych GRUBów, tj. pierwszy z sda2, a drugi z sda5.
    Wpis w ESP o istnieniu GRUBa na sda5, powinien ciągle być dostępny – o ile mój firmware UEFI czegoś tu nie komplikuje, a na pewno to robi, bo np. nie działa u mnie podstawowa komenda:

    efibootmgr -v
    BootCurrent: 0000
    Timeout: 0 seconds
    No BootOrder is set; firmware will attempt recovery

    Przede mną ponowna instalacja Manjaro2 na sda5, bez aktywacji GRUBa na sda5 (mam nadzieję, że się uda) i zastanawiam się, jak do tego podejść, w kontekście obecnych wpisów w ESP o GRUBie na sda5.
    Z tego co wiem, samo sformatowanie sda5, nie usunie wpisu w ESP o GRUBie na sda5. Zastanawiam się, czy pomysł, który podsunął @pavbaranov, aby poprzez chroot’a usunąć GRUBa z sda5 za pomocą komendy pacman -Rn grub (o ile się uda, bo system na sda5 szwankuje), usunie także wpis o GRUBie na sda5 z ESP?

    Manjaro [stable] LTS, Xfce - tego używam

    #7619

    pavbaranov
    Forumowicz

    Nt. jak to zrobić co planujesz, proponuję – załóż nowy wątek, w którym pokażesz strukturę partycji/dysków oraz określisz co chcesz robić (a dla zaspokojenia mojej nieposkromionej ciekawości napiszesz po co Ci 2x Manjaro, bo tego w ząb pojąć nie mogę; rozumiałbym inny linux, rozumiałbym nawet 2x ten sam, ale „wydawniczy” i w dwu różnych wersjach, ale 2x to samo rolling release, to już pojąć nie mogę i doprawdy brakuje mi wyobraźni po jakiego diabła tak sobie komplikować proste rozwiązania).

Oglądasz 12 posty - 16 do 27 (z 27 ogółem)

Musisz być zalogowany aby odpowiedzieć w tym wątku.