二次ブートローダ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/04 22:50 UTC 版)
ブートローダが読み込む小さなプログラムは、オペレーティングシステムではなく二次ブートローダであることが多い。BOOTMGR、NTLDR、SYSLINUX、GRUBなどがある。二次ブートローダは実際のオペレーティングシステム (OS) をロードすることができ、最後にOSを実行する。OSは初期化処理を行い、デバイスドライバをロードし、OSの通常の処理に必要とされる他のプログラムをロードする。 GNU GRUB、Windowsの BOOTMGR、Windows NT/2000/XP の NTLDR といったブートローダーは、マルチブート設定が可能である。この場合異なるOSを指定することもできるし、同じOSの異なるバージョンを指定することもできるし、単に異なるオプションを指定することもでき(例えば、セーフモードで起動するなど)、OSではなく独立して動作するプログラムを指定することもできる(メモリテスタ Memtest86、ゲームなど)。ブートローダーに別のブートローダーをロードさせることもできる。例えば、GRUBがBOOTMGRをロードすることも可能である。一般にデフォルト設定があり、ある時間内にユーザーが選択しなければデフォルト状態でブートを行う。 なお、Windows 9x系ではMS-DOSが二次ブートローダのような役割を果たしている。ただし、MS-DOSを単体で起動することもできる。 ブート処理はコンピュータがユーザとやりとりできるようになった時点で完了したと見なされる。あるいは、オペレーティングシステムが普通のアプリケーションを実行できるようになった時点で完了と見なすこともできる。典型的なPCのブートは約 1 分ほどかかる。そのうち、15秒ほどが Power On Self Test (POST) が費やす時間で、残りはオペレーティングシステムのロードにかかる時間である。OSロード後の経過時間はシステム内のコアを同時に起動することで3秒程度にまで短縮可能で、例えばcorebootでそのようなブートが可能である。一方、大きなサーバでのブートは全てのサービス起動まで何分かかかる。 多くの組み込みシステムではほとんど即座にブートが完了しなければならない。たとえば、テレビが映るまでに1分かかったのでは使い物にならない。そのため、オペレーティングシステム全体を ROM やフラッシュメモリに格納して、直接実行できるようにしている。ただし、ROMやフラッシュメモリはRAMに比べると、2007年現在の水準では1000倍と桁違いに遅い為、複合機など高機能な機器ではROMの内容をRAMに書き出して実行している。VxWorksなどではROM上の直接実行形式で用意されたブートストラップローダーがROM上の圧縮されたプログラム本体をRAMに展開して本体プログラムが起動するという実装がとられている。
※この「二次ブートローダ」の解説は、「ブート」の解説の一部です。
「二次ブートローダ」を含む「ブート」の記事については、「ブート」の概要を参照ください。
- 二次ブートローダのページへのリンク