Windowsベースのマシンを起動するとき、何か問題が発生したとき、マルチブートオプションがあります。タイトルがWindowsBootManagerであるUIがポップされます。そして、Windows7/8/10はそのリストのオプションです。ただし、Windows OSのカーネルが起動する前に、このソフトウェアが実行されることを証明するだけで十分です。 次に、Windows Boot ManagerはWindowsプログラムではないと推測できます。
私の推論は本当ですか?
Windows OSなしで終了できますか? (たとえば、UNIXマシンではGRUB)を置き換えます。)
はい、ブートローダーとブートマネージャーはファームウェアによって直接起動されます。
(一部のファームウェアは非常に複雑であるため、可能は実際にはUEFIを「OS」と呼び、そのブートローダーは「UEFIプログラム」と呼ぶことができます...)
問題は、OSカーネルの起動方法が異なり、ブートローダーが特定の初期パラメーター(起動元のディスク、使用する「カーネルコマンドライン」、Linux initramfsの場所など)を提供することを期待していることです。たとえば、これが Linuxブートプロトコル であり、これが一部のBSDで使用されている マルチブート仕様 です。
したがって、WindowsBOOTMGRにvmlinuz
を直接開始するように指示することはできません。また、GRUBにntoskrnl.exe
を直接開始するように指示することもできません。
ただし、そのジョブがブートマネージャ自体によって実行されるのではなく、標準的な方法で開始できる小さな「スタブ」ブートローダーによって実行される場合があります。 。そして、そのスタブブートローダーは通常とは異なるブートマネージャーによって起動される可能性があります。
たとえば、WindowsBOOTMGRは最初にwinload.efi
を開始し、それはntoskrnl
を開始するためのすべての準備が行われる場所です。
これは、BOOTMGRを経由せずに、winload.efi
を起動してGRUB Windowsを起動できることを意味します。
同様に、Linuxカーネルには「EFIスタブ」が組み込まれていることが多いため、カーネル自体をスタンドアロンのUEFIプログラムとして実行できます。
したがって、Linuxカーネルで独自の「EFISTUB」オプションが有効になっている場合、またはsystemd-bootスタブが接続されている場合は、GRUBなどを使用せずに、WindowsBOOTMGRで直接起動させることができます。