Windows ベースのマシンを起動するときに、何か問題が発生した場合、複数のブート オプションがあります。Windows ブート マネージャーというタイトルの UI がポップアップ表示されます。Windows 7/8/10 はそのリストのオプションです。ただし、このソフトウェアが Windows OS のカーネルが起動する前に実行されることを証明するだけで十分です。そうすると、Windows ブート マネージャーは Windows プログラムではないと推測できます。
私の推論は正しいでしょうか?
Windows OS がなくても存在できますか? (たとえば、UNIX マシン上の GRUB を置き換えます。)
答え1
はい、ブートローダーとブートマネージャーはファームウェアによって直接起動されます。
(一部のファームウェアは非常に複雑なので、できた実質的には、UEFI を「OS」、そのブートローダを「UEFI プログラム」と呼びます...)
- Windows ブート マネージャーは Windows なしで存在できるでしょうか? はい。
- GRUB を置き換えることができるでしょうか? できるかもしれませんし、できないかもしれません。(ただし、「UNIX」がどの OS を意味するかによって異なります!) BIOS よりも UEFI の方が簡単です。
- GRUB は Windows ブート マネージャーを置き換えることができるでしょうか? おそらくそうでしょうし、そうでないかもしれません。(Windows のバージョンによって異なります。)
問題は、OSカーネルの起動方法がそれぞれ異なっており、ブートローダが特定の初期パラメータ(どのディスクから起動するか、どの「カーネルコマンドライン」を使用するか、Linux initramfsがどこにあるかなど)を提供することを前提としていることです。たとえば、Linux ブートプロトコル、そしてここにマルチブート仕様一部の BSD で使用されます。
したがって、Windows BOOTMGR に直接起動するように指示することはできずvmlinuz
、GRUB にntoskrnl.exe
直接起動するように指示することもできません。
しかし、その作業はブートマネージャ自体ではなく、小さな「スタブ」ブートローダによって行われることもあります。できる標準的な方法で起動できます。そして、そのスタブブートローダーできた通常とは異なるブート マネージャーによって起動されます。
たとえば、Windows BOOTMGRは最初に起動し
winload.efi
、それは開始するためのすべての準備ntoskrnl
が完了する場所です。つまり、
winload.efi
BOOTMGR を経由せずに、 を起動することで GRUB で Windows を起動できるようになります。同様に、Linuxカーネルには組み込みの「EFIスタブ」が付属していることが多く、カーネルは自体スタンドアロンの UEFI プログラムとして実行できます。
したがって、Linux カーネルで独自の「EFISTUB」オプションが有効になっているか、systemd-boot スタブがアタッチされている場合は、GRUB などを使用せずに Windows BOOTMGR で直接起動することができます。
答え2
実際、両者はお互いを補完し合っています。
ブートストラップの文字通りの意味はブーツのひもであり、日常生活の文脈ではブーツのひもを結んで出かける準備ができたことを意味します。コンピューティングに関連して言えば、仕事の準備ができたことを意味します。
ブートストラップ プログラム、または一般にブートとして知られているものは、ブート ローダー (ブート マネージャーとも呼ばれる) であり、BIOS を実行します。接続されているすべての周辺機器を初期化し、それらが機能しているかどうかをテストします。次に、オペレーティング システムをロードするというより大きなタスクを実行します。
簡単に言えば、オペレーティング システムは、コンピューターをあらゆる手段で操作可能にします。
したがって、OS を起動しないとコンピューターも無力であると言えます。