編集で追加されたTL; DR:
質問は:
BIOSに同じUEFIブートパーティション上のWindowsブートマネージャーよりもGRUBを優先させるにはどうすればよいですか?
問題はGrubではありません。BIOSが起動すると、Grubは正しいことを行います。Windows UEFIブートストラップとGrub UEFIブートストラップの両方がブート可能であるため、「ディスクはブートできません」という問題はありません。問題は、BIOSがどのUEFIブートストラップからブートするかを選択することです。
新しいコンピュータをセットアップしていますが、デフォルトでUbuntuで起動しますが、起動時にWindowsを選択するオプションがあります。これは、電源が切れたり戻ったりする場合に特に重要です。私も家にいません。
まず、内部NVMeディスクにUbuntu 17.04をインストールし、GPTでパーティション分割してディスクの半分を使用し、別のUEFIブートパーティションを作成しました。GRUBはこれで問題なく起動します。起動時にGRUBブートメニューが表示され、GRUBが認識している任意の項目を選択できます。
次に、最近ダウンロードしたISOからWindows 10 Proをインストールしました。Windowsブートマネージャーを同じUEFIパーティションにインストールし、Ubuntuをそのまま(すばらしい!)にして、Windows 10で正常に起動します。
ただし、電源投入時にUEFIファームウェアがGRUBではなくWindowsブートマネージャーをすぐに選択するようにする「何か」が行われました。Linuxをブートする唯一の方法は、BIOSブートマネージャー(私のBIOSではF11)を使用して、GRUBブートローダーを手動で選択することです。UEFI BIOSは、UEFIパーティションに複数の起動可能なインストールがあることを認識しています。これは、ブートマネージャーでインストールを選択できるためです。ただし、UEFI BIOSのセットアップメニューを表示しているときは、起動優先度の選択で「UEFIブート内部ドライブ」を選択するだけで、使用するパーティションの特定のブートローダーを選択できません。 。そして、デフォルトでは、GRUBではなくWindowsを選択します。
インターネット(およびこのサイト)は、これを修正する古い方法はupdate-grub
(GRUBがWindowsを認識するように)実行し、次にgrub-install
(GRUBをデバイスに戻す)ことを示唆しています。しかし、残念ながら、それでも次のような動作があります。前述のとおり、BIOSはデフォルトでWindowsブートマネージャを選択します。(update-grub
Windowsブートマネージャーのインストールが見つかり、それがメニューに追加されます。また、UEFIブートマネージャーでGRUBパーティションを手動で選択すると、そのメニュー項目が機能します。)
UEFIブートパーティションでGRUBを「デフォルト」ブートにするにはどうすればよいですか?
MSI X399 Carbonマザーボードを使用。
2番目の編集:正解は応答へのコメントに記載されることになるため、ここで繰り返します。
"BCDEDIT" in an admin shell on Windows is the working solution. The others don't work.