mam trzy dyski w systemie. Grub na pierwszym widział Zorin18, na drugim Zorin 17 a na trzecim Windows 11. Coś się poreobiło i jest w grub inna kolejność: Zorin 17, Zorin 19,, Wimdows 11. Jak to poprtawić?
Aby poprawić kolejność i zawartość menu GRUB, najbezpieczniej jest ręcznie uporządkować pliki rozruchowe z poziomu głównego systemu Zorin. Zmiana kolejności następuje zazwyczaj po aktualizacji któregoś z systemów, która na nowo przeskanowała dyski za pomocą skryptu os-prober. [1]
Naprawa i aktualizacja listy systemów
-
Uruchom system Zorin, który aktualnie zarządza głównym GRUB-em.
-
Otwórz terminal (skrót
Ctrl + Alt + T). -
Wpisz polecenie edycji pliku konfiguracyjnego:
sudo nano /etc/default/grub -
Upewnij się, że na końcu pliku znajduje się linijka aktywująca wykrywanie innych systemów:
GRUB_DISABLE_OS_PROBER=false -
Zapisz plik skrótem
Ctrl + O(zatwierdź klawiszem Enter), a następnie wyjdź przezCtrl + X. -
Zaktualizuj wpisy rozruchowe poleceniem:
sudo update-grub[1, 2]
Zmiana kolejności i domyślnego systemu
-
Kolejność w pliku
/boot/grub/grub.cfggeneruje się automatycznie i nie należy edytować jej bezpośrednio. -
Jeśli chcesz zmienić pozycję domyślnie uruchamianego systemu, w pliku
/etc/default/grubzmień wartośćGRUB_DEFAULT=0na numer pozycji z listy (pamiętając, że liczymy od zera:0to pierwszy system,1to drugi itd.). Po edycji ponownie wykonajsudo update-grub. [1, 2] -
Alternatywnie zaawansowani użytkownicy instalują graficzny program Grub Customizer, choć w społeczności panują podzielone opinie co do jego bezpieczeństwa przy skomplikowanych konfiguracjach wielodyskowych. [1, 2]
Instrukcja naprawy krok po kroku
-
Uruchom komputer i wejdź do ustawień BIOS/UEFI. Upewnij się, że dysk, na którym znajduje się domyślny GRUB (ten zarządzający Zorinem 18), jest ustawiony jako pierwszy (Primary/First Boot Device). Zmiana kolejności mogła nastąpić po aktualizacji Windowsa lub zmianach w NVRAM. [1, 2]
-
Uruchom swój główny system (Zorin OS 18).
-
Otwórz terminal (skrót
Ctrl+Alt+T). [1] -
Wpisz poniższe polecenie, aby upewnić się, że wykrywanie innych systemów (
os-prober) jest włączone:sudo nano /etc/default/grub[1] -
Znajdź linijkę
#GRUB_DISABLE_OS_PROBER=falselub dopisz na końcu pliku:GRUB_DISABLE_OS_PROBER=false
(Zapisz plik skrótemCtrl+O, zatwierdźEnter, a następnie wyjdź przezCtrl+X). [1] -
Zaktualizuj menu GRUB wpisując:
sudo update-grub[1] -
Jeśli chcesz wygodnie zmienić kolejność wyświetlania systemów za pomocą interfejsu graficznego, możesz zainstalować program Grub Customizer:
sudo add-apt-repository ppa:danielrichter2007/grub-customizersudo apt updatesudo apt install grub-customizer
Po uruchomieniu aplikacji przeciągnij pozycje na liście w takiej kolejności, jaka Ci odpowiada, i kliknij „Zapisz”. [1, 2]
Jeśli po wpisaniu sudo
update-grub nadal nie widza, podaj mi informację:
-
Czy systemy uruchamiają się poprawnie, gdy wybierzesz je z menu?
-
Czy twój komputer korzysta z nowoczesnego UEFI, czy starszego Legacy/MBR?
Odpowiedziałem LEGACY
W systemach Legacy (MBR) kolejność systemów w menu GRUB zależy całkowicie od tego, z którego dysku komputer aktualnie startuje.
Skoro zmieniła się kolejność i nazwa (Zorin 17 zamiast Zorin 18), komputer prawdopodobnie uruchamia teraz GRUB-a zainstalowanego na drugim dysku (tym z Zorin 17), a nie na pierwszym.
Oto jak to szybko naprawić bez instalowania dodatkowych programów:
Krok 1: Wymuś start z właściwego dysku w BIOS
-
Uruchom komputer i wejdź do menu BIOS (zazwyczaj klawisz
F2,F12lubDel). -
Przejdź do zakładki Boot lub Boot Device Priority.
-
Jako pierwszy dysk startowy (First Boot Device) ustaw ten pierwszy dysk, na którym znajduje się Twój główny system (Zorin 18).
-
Zapisz zmiany (
F10) i zrestartuj komputer.
Krok 2: Przywróć GRUB-a z poziomu Zorin 18
Jeśli po zmianie w BIOS-ie nadal uruchamia się stare menu, musisz nadpisać sektor rozruchowy (MBR) pierwszego dysku z poziomu Twojego głównego systemu.
-
Uruchom system Zorin OS 18.
-
Otwórz terminal (
Ctrl+Alt+T). -
Sprawdź oznaczenie swoich dysków poleceniem:
bash
lsblkUżywaj kodu z rozwagą.
(Zidentyfikuj swój pierwszy dysk – np.
/dev/sda,/dev/sdbitd. Pamiętaj, podajesz nazwę całego dysku, bez numeru partycji). -
Zainstaluj ponownie GRUB-a na tym dysku (zakładając, że to
sda):bash
sudo grub-install /dev/sdaUżywaj kodu z rozwagą.
-
Odśwież listę systemów:
bash
sudo update-grubUżywaj kodu z rozwagą.
Po restarcie komputer powinien załadować właściwy program rozruchowy z poprawną kolejnością i nazwami systemów.
Jeśli napotkasz błąd przy instalacji, daj mi znać:
-
Jak oznaczone są Twoje dyski w komendzie
lsblk? -
Który dysk (np.
sda,sdb,sdc) ma być tym głównym, który steruje rozruchem?
Ale mimo powyższych komputer startuje nadal z Zorin 17 i zadałem pytanie,
mimo konfiguracji grub jak wskazywało AI to chyba z powodu tego, że na komputerze jedyny dysk nie jest widziany jako SDx tylko jako NVMExxxx to nie udaje mi się skonfigurować bootowania z niego według wskazówek AI i komputer startuje z sda1 jak to poprawić?
dostając odpowiedź:
Problem polega na tym, że GRUB jest fizycznie zainstalowany na starszym dysku (sda), a komputer w BIOS/UEFI ma ustawiony zły priorytet rozruchu. Aby to poprawić, wskaż cały dysk NVMe zamiast partycji (np. /dev/nvme0n1, a nie nvme0n1p1), napraw bootloader przez chroot z nośnika Live USB i zmień kolejność w BIOS. [1, 2, 3]
Naprawa z poziomu Live USB
-
Uruchom komputer z pendrive'a z dowolnym Linuxem (Live USB).
-
Otwórz terminal i zamontuj swój główny system z dysku NVMe (np.
/dev/nvme0n1p2, sprawdzając wcześniej nazwy przezlsblk):sudo mount /dev/nvme0n1p2 /mnt -
Jeśli masz osobną partycję EFI/boot, zamontuj ją wewnątrz:
sudo mount /dev/nvme0n1p1 /mnt/boot/efi(lub/mnt/boot) -
Zamontuj przestrzenie systemowe:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done -
Wejdź do środowiska zainstalowanego systemu:
sudo chroot /mnt[1, 2]
Ponowna instalacja GRUB na dysk NVMe
-
Zainstaluj GRUB na cały dysk NVMe (podaj identyfikator całego dysku, np.
/dev/nvme0n1), a nie na pojedynczą partycję:grub-install /dev/nvme0n1(lub dla UEFI:grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/nvme0n1) -
Zaktualizuj plik konfiguracyjny GRUB:
update-grub(lubgrub-mkconfig -o /boot/grub/grub.cfg) -
Wyjdź z chroot i zrestartuj komputer:
exit && sudo reboot[1, 2, 3, 4]
Zmiana priorytetu w BIOS/UEFI
-
Wejdź do ustawień BIOS/UEFI podczas uruchamiania komputera.
-
Znajdź zakładkę odpowiedzialną za kolejność bootowania (Boot Priority / Boot Option).
-
Ustaw dysk NVMe (lub pozycję z nazwą swojego systemu Linux) jako pierwsze urządzenie rozruchowe (Boot #1), usuwając stary dysk
sdaz pierwszej pozycji. [1, 2, 3]