TL; DR, aggiunto nella modifica:
La domanda è:
Come posso fare in modo che il BIOS preferisca GRUB su Windows Boot Manager sulla stessa partizione di avvio UEFI?
Il problema non è con Grub; Grub fa la cosa giusta all'avvio del BIOS. Il problema non è con "il disco non è avviabile", perché sia il bootstrap UEFI di Windows che il bootstrap Grub UEFI sono avviabili. Il problema è quale bootstrap UEFI il BIOS sceglie di avviare.
Sto configurando un nuovo computer e lo voglio per impostazione predefinita avviare Ubuntu, ma ho la possibilità di selezionare Windows all'avvio. Ciò è particolarmente importante se l'alimentazione si spegne e ritorna; Non sarò nemmeno in casa.
Ho iniziato installando Ubuntu 17.04 sul mio disco NVMe interno, partizionato con GPT per utilizzare metà del disco e una partizione di avvio UEFI separata. GRUB si avvia bene, e vedo il menu di avvio di GRUB all'avvio in cui posso selezionare qualsiasi elemento di cui GRUB sia a conoscenza.
Quindi ho installato Windows 10 Pro da un ISO scaricato di recente. Ha installato Windows Boot Manager sulla stessa partizione UEFI e ha lasciato Ubuntu intatto (fantastico!) E questo si avvia bene in Windows 10.
Tuttavia, ha fatto "qualcosa" che rende immediatamente il firmware UEFI selezionare Windows Boot Manager anziché GRUB all'accensione. L'unico modo per avviare Linux ora è utilizzare il boot manager del BIOS (F11 sul mio BIOS) e selezionare manualmente il boot loader GRUB. Il BIOS UEFI sa che ci sono più installazioni avviabili sulla partizione UEFI, perché posso scegliere tra loro nel boot manager. Tuttavia, quando mi trovo nel menu di configurazione nel BIOS UEFI, mi permette di scegliere "UEFI boot my internal drive" nella selezione della priorità di avvio - non mi permette di scegliere quale particolare boot loader su quella partizione usare . E, per impostazione predefinita, sceglie Windows, non GRUB.
Le internet (e questo sito) suggeriscono che il vecchio modo di risolvere questo problema è quello di eseguire update-grub
(quindi GRUB riconosce Windows) e quindi grub-install
(per rimettere GRUB sul dispositivo.) L'ho fatto, ma sfortunatamente, ha ancora il comportamento come descritto sopra, in cui il BIOS per impostazione predefinita sceglie Windows Boot Manager. ( update-grub
trova l'installazione di Windows Boot Manager e la aggiunge al menu, e quella voce di menu funziona quando scelgo manualmente la partizione GRUB nel boot manager UEFI.)
Cosa posso fare per rendere GRUB l'avvio "predefinito" sulla mia partizione di avvio UEFI?
Utilizzo di una scheda madre MSI X399 Carbon.
Seconda modifica: poiché la risposta corretta finisce per essere menzionata in un commento a una risposta, la ripeterò qui:
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.