TL; DR, доданий у редагуванні:
Питання:
Як я можу змусити BIOS віддавати перевагу GRUB над диспетчером завантаження Windows на тому самому завантажувальному розділі UEFI?
Проблема не в Grub; Grub робить правильно, коли BIOS запускає його. Проблема полягає не в тому, що "диск не завантажується", тому що завантажувальний пристрій Windows UEFI і завантажувальний UEFI Grub завантажуються. Проблема полягає в тому, з якої UEFI завантажує BIOS, з якого вибирається завантажуватися.
Я налаштовую новий комп'ютер і хочу, щоб він за замовчуванням завантажився в Ubuntu, але маю можливість вибрати Windows при завантаженні. Це особливо важливо, якщо потужність згасає і повертається назад; Я навіть не буду в будинку.
Я почав, встановивши Ubuntu 17.04 на свій внутрішній диск NVMe, розділений на GPT для використання половини диска та окремий завантажувальний розділ UEFI. GRUB-ботинки, які чудово підходять, і я бачу меню завантаження GRUB під час запуску, де я можу вибрати всі пункти, про які GRUB знає.
Потім я встановив Windows 10 Pro з нещодавно завантаженого ISO. Він встановив диспетчер завантаження Windows на той самий розділ UEFI, а Ubuntu залишився неушкодженим (чудово!), І він завантажився чудово в Windows 10.
Однак це зробило "щось", що змушує програмне забезпечення UEFI негайно вибирати диспетчер завантаження Windows, а не GRUB при включенні. Єдиний спосіб завантажувати Linux зараз - використовувати диспетчер завантаження BIOS (F11 у моїй BIOS) та вибрати завантажувач GRUB вручну. У BIOS UEFI відомо, що на розділі UEFI є декілька завантажувальних установок, оскільки я можу вибирати між ними у менеджері завантаження. Однак, коли я перебуваю в меню налаштування в BIOS UEFI, він просто дозволяє мені вибрати "UEFI завантажувати мій внутрішній диск" у виборі пріоритету завантаження - це не дозволяє мені вибрати, який саме завантажувач на цьому розділі використовувати . І за замовчуванням він вибирає Windows, а не GRUB.
Інтернети (і цей сайт) припускають, що старий спосіб виправити це - запустити update-grub
(так GRUB розпізнає Windows), а потім grub-install
(повернути GRUB на пристрій.) Я це зробив, але, на жаль, він все ще має поведінку як описано вище, де BIOS за замовчуванням вибирає диспетчер завантаження Windows. ( update-grub
Не знайдете встановити диспетчер завантаження Windows, і додає , що в меню, і що пункт меню працює , коли я вручну вибрати розділ GRUB в менеджері завантаження UEFI.)
Що я можу зробити, щоб GRUB завантажував "за замовчуванням" на мій завантажувальний розділ UEFI?
Використання материнської плати MSI X399 Carbon.
Друга редакція: Оскільки правильна відповідь закінчується згадкою у коментарі до відповіді, я повторю її тут:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.