Windowsが起動するまでの流れ

最終更新日 2023年11月03日

BIOS

BIOSを実行

パソコンの電源を入れると、マザーボードのROMからBIOSを読み込み実行します。

BIOSがPOSTを実行

BIOSは、最初にPOSTを実行します。POSTとはPower On Self Testの略で、ハードウェア診断テストです。マザーボード自体に限らずCPU、メインメモリー、ストレージ等が正常動作するか診断します。

POSTにより問題が見つかると、この後の処理に進みません。

BIOSが拡張BIOSを実行

BIOSが拡張BIOSを実行します。拡張BIOSが存在しない場合は実行しません。

BIOSが起動ディスクを探す

BIOSが起動ディスクを探します。起動ディスクとは、OSの起動に必要なディスクです。ブートディスクと呼ぶ場合もあります。昔はフロッピーディスクドライブ、HDD、光学ドライブの順に探すのが一般的でした。ここではHDDが起動ディスクとします。

起動ディスクのMBRを読み込む

見つかった起動ディスクのHDDからMBRを読み込みます。MBRとはMaster Boot Recordの略で、ブートストラップローダー、パーティションテーブルを記録しています。HDDの先頭部分にあります。

ブートストラップローダーとは、起動の処理を実行するプログラムです。パーティションテーブルとは、HDDに存在する各パーティションに関する情報を記録した領域です。

ブートストラップローダーを実行する

ブートストラップローダーを実行し、ブートストラップローダーがパーティションテーブルからアクティブな基本パーティションを探します。アクティブな基本パーティションを見つけると、このパーティションのブートセクターを読み込みます。ブートセクターにIPLが記録してあり、IPLを実行します。

Windows 9x

IPLがIO.SYSを実行

Windows 9xの場合、IPLが同じアクティブな基本パーティションからIO.SYSを読み込み実行します。

Windows 9xでのIPLを、DOS IPLと呼びます。

IO.SYSがMSDOS.SYSを実行

IO.SYSがMSDOS.SYSを読み込み実行します。

存在するならCONFIG.SYSやAUTOEXEC.BATも読み込み実行します。これらは16ビットアプリケーションとの互換性を確保するために利用する場合があります。これらが存在しなくてもWindows 9xが起動します。

デバイスドライバー等の初期化を行います。

Windowsディレクトリーに移行

Windowsディレクトリーに移行します。レジストリーを参照します。デバイスドライバー、WIN.COM、各種DLL等を読み込み実行します。

Windows 9xが起動します。

Windows NT/2000/XP

IPLがNTLDRファイルを実行

Windows NT/2000/XPの場合、ブートセクターのIPLが同じアクティブな基本パーティションからNTLDRファイルを読み込み実行します。

NTLDRがOS Loader(OSローダー)に該当します。OS Loaderとは、OSをストレージから起動するプログラムです。ブートローダーと呼ぶ場合もあります。NTLDRがブートマネージャーにも該当します。ブートマネージャーとは、複数のOSをメニューに表示し、ユーザーが選択したOSの起動を実現するプログラムです。

Windows NT/2000/XPでのIPLを、NT IPLと呼びます。

NTLDRがBoot.iniを読み込む

NTLDRがBoot.iniを読み込みます。Boot.iniとは、BIOSファームウェアを持つパソコンのブートオプションを含むテキストファイルです。Boot.iniがない場合、NTDETECT.COMを読み込み実行します。

NTDETECT.COMを実行する

NTLDRがブートメニューを表示します。Windows NT/2000/XPを選択すると、NTDETECT.COMを読み込み実行します。NTDETECT.COMがハードウェアの互換性をチェックします。

Windows 9xを選択した場合、BOOTSECT.DOSを読み込みDOS IPLを実行します。この後はWindows 9xが起動するまでの流れと同じです。

Windowsディレクトリーに移行

Windowsディレクトリー、すなわちWindows NT/2000/XPをインストールしたディレクトリーに移行します。レジストリーを変更・参照します。NTOSKRNL.EXE、デバイスドライバー、各種DLLを読み込み実行します。

Windows NT/2000/XPが起動します。

Windows Vista

IPLがWindowsブートマネージャーを実行

Windows Vistaの場合、ブートセクターのIPLが同じアクティブな基本パーティションから、Windowsブートマネージャーを読み込み実行します。Windowsブートマネージャーとは、ブートメニューを表示するプログラムです。BOOTMGRと呼ぶ場合もあります。

WindowsブートマネージャーがBCDを読み込む

Windowsブートマネージャーでは、Boot.iniではなくBCDを読み込みます。BCDとはBoot Configuration Dataの略で、日本語ではブート構成データです。

Windowsブートマネージャーがブートメニューを表示

Windowsブートマネージャーが読み込んだBCDを基に、ブートメニューとして起動できるOSの一覧を表示します。Windows Vistaを単独インストールの場合、表示せずにWINLOAD.EXEを読み込み実行します。

WINLOAD.EXEを実行する

Windows Vistaを選択すると、WINLOAD.EXEを読み込み実行します。WINLOAD.EXEがOS Loader(OSローダー)に該当します。OS Loaderとは、OSをストレージから起動するプログラムです。

レジストリーを変更・参照します。NTOSKRNL.EXEを読み込み実行します。

Windows Vistaが起動します。

出典

Windowsはどうやって起動しているのか?(4ページ目) | 日経クロステック(xTECH)(2008/10/06公開記事)
Windowsはどうやって起動しているのか?(5ページ目) | 日経クロステック(xTECH)(2008/10/06公開記事)
Windowsはどうやって起動するのか?(Vista編)(2ページ目) | 日経クロステック(xTECH)(2009/01/19公開記事)
Windowsはどうやって起動するのか?(Vista編)(3ページ目) | 日経クロステック(xTECH)(2009/01/19公開記事)


キャンペーン情報(PR)
マウスコンピューター
・ゴールデンウィークセール
最大30,000円OFF!!
(5月8日迄)
DELL
・ゴールデンウイーク
GWはお得がいっぱい
(キャンペーン実施中)
パソコン工房
・ゴールデンウィークセール
ゲーミングPCやクリエイター向けパソコンをラインナップ
(5月7日迄)