El TL; DR, agregado en la edición:
La pregunta es:
¿Cómo puedo hacer que el BIOS prefiera GRUB sobre Windows Boot Manager en la misma partición de arranque UEFI?
El problema no es con Grub; Grub hace lo correcto cuando el BIOS lo inicia. El problema no es con "el disco no es de arranque", porque tanto el arranque UEFI de Windows como el arranque UEFI de Grub son arrancables. El problema es desde qué arranque UEFI el BIOS elige arrancar.
Estoy configurando una nueva computadora, y quiero que arranque por defecto en Ubuntu, pero tengo la opción de seleccionar Windows en el arranque. Esto es especialmente importante si se va la luz y vuelve; Ni siquiera estaré en la casa.
Comencé instalando Ubuntu 17.04 en mi disco NVMe interno, particionado con GPT para usar la mitad del disco y una partición de arranque UEFI separada. GRUB arranca bien, y veo el menú de arranque de GRUB en el inicio donde puedo seleccionar cualquier elemento que GRUB conozca.
Luego instalé Windows 10 Pro desde un ISO descargado recientemente. Instaló Windows Boot Manager en la misma partición UEFI, y dejó el Ubuntu intacto (¡genial!) Y eso arranca bien en Windows 10.
Sin embargo, hizo "algo" que hace que el firmware UEFI seleccione inmediatamente el Administrador de arranque de Windows en lugar de GRUB en el encendido. La única forma de iniciar Linux ahora es usar el administrador de inicio de BIOS (F11 en mi BIOS) y seleccionar el cargador de inicio GRUB manualmente. El BIOS UEFI sabe que hay varias instalaciones de arranque en la partición UEFI, porque puedo elegir entre ellas en el administrador de arranque. Sin embargo, cuando estoy en el menú de configuración en el BIOS UEFI, solo me permite elegir "UEFI arrancar mi disco interno" en la selección de prioridad de arranque; no me permite elegir qué cargador de arranque particular en esa partición usar . Y, por defecto, elige Windows, no GRUB.
Los Internet (y este sitio) sugieren que la forma antigua de solucionar esto es ejecutar update-grub
(para que GRUB reconozca Windows) y luego grub-install
(para volver a colocar GRUB en el dispositivo). Lo he hecho, pero desafortunadamente, todavía tiene el comportamiento como descrito anteriormente, donde el BIOS por defecto elige el Administrador de arranque de Windows. ( update-grub
encuentra la instalación del Administrador de arranque de Windows y la agrega al menú, y ese elemento del menú funciona cuando elijo manualmente la partición GRUB en el administrador de arranque UEFI).
¿Qué puedo hacer para que GRUB sea el arranque "predeterminado" en mi partición de arranque UEFI?
Usando una placa base MSI X399 Carbon.
Segunda edición: Debido a que la respuesta correcta termina siendo mencionada en un comentario a una respuesta, la repetiré aquí:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.