TL; DR, dodane w edycji:
Pytanie brzmi:
Jak sprawić, aby BIOS wolał GRUBa niż Windows Boot Manager na tej samej partycji rozruchowej UEFI?
Problem nie dotyczy Grub; Grub robi właściwą rzecz, kiedy uruchamia go BIOS. Problem nie polega na tym, że „dysk nie jest bootowalny”, ponieważ zarówno bootstrap UEFI systemu Windows, jak i bootstrap Grub UEFI są uruchamialne. Problem polega na tym, z którego bootowania UEFI BIOS wybiera rozruch.
Konfiguruję nowy komputer i chcę, aby domyślnie uruchamiał się w systemie Ubuntu, ale mam opcję wyboru systemu Windows podczas uruchamiania. Jest to szczególnie ważne, gdy moc gaśnie i wraca; Nie będzie mnie nawet w domu.
Zacząłem od zainstalowania Ubuntu 17.04 na moim wewnętrznym dysku NVMe, podzielonym na partycje za pomocą GPT, aby użyć połowy dysku i osobnej partycji rozruchowej UEFI. GRUB uruchamia się tak dobrze, a po uruchomieniu widzę menu rozruchowe GRUB, w którym mogę wybrać wszystkie elementy, o których wie GRUB.
Następnie zainstalowałem system Windows 10 Pro z ostatnio pobranego pliku ISO. Zainstalował Windows Boot Manager na tej samej partycji UEFI i pozostawił Ubuntu nienaruszony (świetnie!), Co dobrze wpasowuje się w Windows 10.
Jednak zrobił „coś”, co powoduje, że oprogramowanie układowe UEFI natychmiast wybiera Menedżera rozruchu systemu Windows, a nie GRUB po włączeniu. Jedynym sposobem na uruchomienie systemu Linux jest teraz użycie menedżera rozruchu systemu BIOS (F11 w moim systemie BIOS) i ręczne wybranie modułu ładującego GRUB. UEFI BIOS wie, że na partycji UEFI istnieje wiele instalacji rozruchowych, ponieważ mogę wybierać między nimi w menedżerze rozruchu. Jednak gdy jestem w menu ustawień w BIOS UEFI, pozwala mi to po prostu wybrać „UEFI uruchom mój dysk wewnętrzny” w wyborze priorytetu rozruchu - nie pozwala mi wybrać, który konkretny moduł ładujący na tej partycji ma użyć . I domyślnie wybiera Windows, a nie GRUB.
Witryny internetowe (i ta strona) sugerują, że starym sposobem naprawienia tego jest uruchomienie update-grub
(aby GRUB rozpoznał system Windows), a następnie grub-install
(aby ponownie umieścić GRUB na urządzeniu). Zrobiłem to, ale niestety nadal zachowuje się tak, jak opisane powyżej, w którym BIOS domyślnie wybiera Menedżera rozruchu systemu Windows. ( update-grub
odnajduje instalację Menedżera rozruchu systemu Windows i dodaje ją do menu, a ten element menu działa, gdy ręcznie wybieram partycję GRUB w menedżerze rozruchu UEFI).
Co mogę zrobić, aby GRUB był „domyślnym” uruchomieniem na mojej partycji rozruchowej UEFI?
Korzystanie z płyty głównej MSI X399 Carbon.
Druga edycja: Ponieważ poprawna odpowiedź ostatecznie pojawia się w komentarzu do odpowiedzi, powtórzę ją tutaj:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.