web-dev-qa-db-ja.com

WindowsブートマネージャーとWindowsオペレーティングシステムの関係は何ですか?

Windowsベースのマシンを起動するとき、何か問題が発生したとき、マルチブートオプションがあります。タイトルがWindowsBootManagerであるUIがポップされます。そして、Windows7/8/10はそのリストのオプションです。ただし、Windows OSのカーネルが起動する前に、このソフトウェアが実行されることを証明するだけで十分です。 次に、Windows Boot ManagerはWindowsプログラムではないと推測できます。

私の推論は本当ですか?

Windows OSなしで終了できますか? (たとえば、UNIXマシンではGRUB)を置き換えます。)

1
pah8J

はい、ブートローダーとブートマネージャーはファームウェアによって直接起動されます。

(一部のファームウェアは非常に複雑であるため、可能は実際にはUEFIを「OS」と呼び、そのブートローダーは「UEFIプログラム」と呼ぶことができます...)

  • Windows Boot ManagerはWindowsなしで存在できますか?はい。
  • GRUBを置き換えることはできますか?多分そうでないかもしれません。 (「UNIX」の意味するOSによって異なりますが!)BIOSよりもUEFIの方が簡単です。
  • GRUB Windows Boot Managerを置き換えることができますか?多分そうではないかもしれません。(Windowsのバージョンによって異なります。)

問題は、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で直接起動させることができます。

2
user1686