TL; DR, добавлено в редактировании:
Вопрос в том:
Как я могу сделать так, чтобы BIOS предпочитал GRUB вместо Windows Boot Manager на том же загрузочном разделе UEFI?
Проблема не в Grub; Grub делает правильно, когда его запускает BIOS. Проблема не в том, что «диск не является загрузочным», поскольку загрузочная версия UEFI для Windows и загрузочная UEFI для Grub являются загрузочными. Проблема в том, с какого UEFI-загрузчика BIOS выбирает загрузку.
Я настраиваю новый компьютер и хочу, чтобы он по умолчанию загружался в Ubuntu, но у меня есть возможность выбрать Windows при загрузке. Это особенно важно, если власть выходит и возвращается; Я даже не буду в доме.
Я начал с установки Ubuntu 17.04 на свой внутренний диск NVMe, разделенный с помощью GPT, чтобы использовать половину диска, и отдельный загрузочный раздел UEFI. GRUB загружается просто отлично, и я вижу при загрузке меню загрузки GRUB, где я могу выбрать любые элементы, о которых GRUB знает.
Затем я установил Windows 10 Pro с недавно загруженного ISO. Он установил Windows Boot Manager на тот же раздел UEFI и оставил Ubuntu нетронутым (отлично!) и это прекрасно загружается в Windows 10.
Тем не менее, он сделал «что-то», что заставляет прошивку UEFI сразу выбирать загрузочный менеджер Windows, а не GRUB при включении питания. Единственный способ загрузить Linux сейчас - это использовать менеджер загрузки BIOS (F11 в моем BIOS) и вручную выбрать загрузчик GRUB. BIOS UEFI знает, что в разделе UEFI есть несколько загрузочных установок, потому что я могу выбирать между ними в менеджере загрузки. Тем не менее, когда я нахожусь в меню настройки в UEFI BIOS, он просто позволяет мне выбрать "UEFI загрузку моего внутреннего диска" в выборе приоритета загрузки - он не позволяет мне выбирать, какой конкретный загрузчик в этом разделе использовать , И по умолчанию выбирает Windows, а не GRUB.
В интернете (и на этом сайте) предполагается, что старый способ исправить это - запустить update-grub
(чтобы GRUB распознал Windows), а затем grub-install
(чтобы вернуть GRUB обратно на устройство). Я сделал это, но, к сожалению, он по-прежнему ведет себя так, как описано выше, где BIOS по умолчанию выбирает диспетчер загрузки Windows. (update-grub
находит установку Windows Boot Manager и добавляет ее в меню, и этот пункт меню работает, когда я вручную выбираю раздел GRUB в менеджере загрузки UEFI.)
Что я могу сделать, чтобы GRUB загрузился по умолчанию на моем загрузочном разделе UEFI?
Использование материнской платы MSI X399 Carbon.
Второе редактирование: потому что правильный ответ заканчивается упоминанием в комментарии к ответу, я повторю его здесь:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.