Metody płatności Abuse

Błąd Grub nie widzi systemu Windows 10

09.07.2024, 21:59

Grub (GNU GRand Unified Bootloader) to darmowy bootloader systemu operacyjnego wykorzystywany w wielu dystrybucjach Linuksa. Umożliwia wybór systemu operacyjnego, który ma być uruchamiany przy starcie komputera i zarządzanie procesem uruchamiania systemu, obsługuje także uruchamianie różnych systemów operacyjnych, w tym różnych wersji Linuksa, Windows, macOS, umożliwia konfigurowanie parametrów rozruchowych, tworzenie różnych profili rozruchowych i wykonywanie innych zadań związanych z uruchamianiem systemów operacyjnych.

Grub jest zwykle instalowany na początku dysku twardego komputera i uruchamiany przy starcie systemu, aby umożliwić użytkownikowi wybór systemu operacyjnego do uruchomienia. Grub jest ważną częścią wielu dystrybucji Linuksa i odgrywa kluczową rolę w procesie uruchamiania systemu operacyjnego.

Czym jest Grub

GRUB (GNU GRand Unified Bootloader) to potężny i elastyczny program ładujący system operacyjny, który jest używany w wielu dystrybucjach Linuksa i innych systemach operacyjnych, takich jak FreeBSD. GRUB daje użytkownikowi możliwość wyboru systemu operacyjnego lub jądra do załadowania podczas uruchamiania komputera.

Umożliwia ładowanie różnych systemów operacyjnych, a także opcji rozruchu dla konkretnego systemu operacyjnego, takich jak tryb bezpieczny lub inne opcje rozruchu. Obsługuje również systemy wielordzeniowe i może automatycznie wykrywać zainstalowane systemy operacyjne na dysku twardym. Ma elastyczną konfigurację, która pozwala użytkownikom dostosować parametry rozruchu, dodawać nowe jądra lub systemy operacyjne do menu rozruchowego i wykonywać inne czynności podczas uruchamiania systemu.

GRUB jest jednym z najpopularniejszych programów rozruchowych dla systemów Linux i jest domyślnie używany w wielu dystrybucjach Linuksa, takich jak Ubuntu, Fedora, Debian i wiele innych.

Powody, dla których Grub nie widzi Windows 10

Jeśli Grub nie widzi systemu Windows 10 podczas rozruchu, możliwe jest, że rekord rozruchowy systemu Windows został uszkodzony lub usunięty. Istnieje kilka powodów, dla których tak się dzieje:

  1. Nieprawidłowa konfiguracja: jeśli Grub nie jest poprawnie skonfigurowany lub zaktualizowany po zainstalowaniu Windows 10, może nie widzieć nowego systemu operacyjnego.
  2. Zmiany partycji na dysku: po zainstalowaniu systemu Windows 10 mogły nastąpić zmiany w partycjach na dysku, które spowodowały, że Grub przestał go widzieć.
  3. Problemy z sektorem rozruchowym: nieprawidłowa aktualizacja sektora rozruchowego lub MBR (Master Boot Record) może powodować problem.
  4. Problemy z UEFI/BIOS: nieprawidłowe ustawienia w UEFI lub BIOS komputera mogą spowodować, że Grub nie wykryje poprawnie systemu operacyjnego.
  5. Uszkodzone pliki rozruchowe: jeśli pliki rozruchowe są uszkodzone lub ich brakuje, Grub nie będzie w stanie ich wykryć.

Poniżej dowiesz się, co zrobić, jeśli wystąpi taki problem.

Rozwiązanie problemu

Po pierwsze, można spróbować uczynić naszą partycję Windows bardziej widoczną dla programu. W tym celu należy zamontować ją w jakimś folderze. Na przykład do /mnt/:

sudo mount -t ntfs-3g -o ro /dev/sda1

Windows jest zainstalowany na partycji, która w Linuksie jest zdefiniowana jako /dev/sda1. Następnie uruchom narzędzie os-prober:

sudo os-prober

Jeśli program wykryje system Windows, pozostaje zaktualizować konfigurację bootloadera Grub:

sudo update-grub

Lub:

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

Jeśli ta metoda nie zadziała, pozostaje tylko ręczne dodanie pozycji menu dla systemu Windows. Nie jest to najłatwiejsze rozwiązanie, ale skuteczne. Najpierw musimy znaleźć identyfikator UUID partycji na dysku, na której zainstalowany jest system Windows, na przykład /dev/sda1:

blkid /dev/sda1

Następnie otwieramy plik /etc/grub.d/40_custom i dodajemy tam poniższy kod:

menuentry "Windows 10" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set B4A6AEB7A6AE7A0E
chainloader +1
}

W ten sposób ustawiamy pierwszą partycję pierwszego dysku jako root, a następnie mówimy bootloaderowi, aby znalazł partycję z żądanym UUID. Następnie przekazujemy kontrolę do programu ładującego na tej partycji za pomocą chainloadera. Kolejną rzeczą do zrobienia jest aktualizacja konfiguracji Grub:

sudo update-grub

Użyliśmy tej metody, ponieważ teraz konfiguracja nie zostanie zerwana po aktualizacji jądra lub innym procesie, który inicjuje aktualizację konfiguracji. Ponieważ gdybyśmy dodali te linie do /boot/grub/grub.cfg, zostałyby one nadpisane, jeśli nie przy pierwszej, to przy jednej z kolejnych aktualizacji systemu.

Po zaktualizowaniu konfiguracji można ponownie uruchomić komputer i uruchomić system Windows z nowym elementem. Możesz dodać wiele elementów w ten sposób, tylko musisz określić ich identyfikatory UUID dla różnych partycji.