Windowsの起動プロセスは、電源ボタンを押した瞬間からデスクトップが表示されるまで、まるで精密なリレーのように多くのプログラムがバトンを繋いでいます。
普段何気なく目にしている起動画面の裏側で、具体的にどのようなプログラムがどの順番で動いているのか。システム内部の仕組みを、技術的な視点から整理してまとめました。
Windows 11などの最新環境(UEFI)において、システムが立ち上がるまでの流れは大きく分けて7つのフェーズに分類できます。
1. プリブート:ハードウェアの目覚め
まず動くのはマザーボード上のUEFI(ファームウェア)です。
- POST (Power-On Self-Test): CPUやメモリに異常がないかセルフチェックを行います。
- 起動デバイスの特定: ストレージ内にある「EFIシステムパーティション」を探し出し、OS起動の最初の鍵となるプログラムを呼び出します。
2. Boot Manager:OSへの案内役
次に登場するのが bootmgr.exe (Windows Boot Manager) です。
- 役割: BCD(ブート構成データ)を読み込み、どのOSを起動するかを決定します。
- 場所: 通常は隠しパーティション(EFI領域)に存在します。
3. OSローダー:システムの読み込み
winload.efi が呼び出され、いよいよOS本体の読み込みが始まります。
- 役割: Windowsの核である「カーネル」や、起動に必須となる最低限のデバイスドライバをメモリにロードします。
- 場所:
C:\Windows\System32\winload.efi
4. カーネル初期化:システムの心臓部が鼓動する
ここから ntoskrnl.exe (Windows Kernel) が制御を握ります。画面にロゴが表示されるのはこのタイミングです。
- 役割: メモリ管理やプロセスのスケジューリングを開始し、ハードウェアとの仲立ちをするHAL(hal.dll)を確立します。
- 場所:
C:\Windows\System32\ntoskrnl.exe
5. セッションマネージャー:環境の構築
smss.exe が起動し、ユーザーが作業するための「場所(セッション)」を作り始めます。
- 役割: 仮想メモリの設定や環境変数の読み込みを行い、サブシステム(wininit.exeやwinlogon.exe)を順次起動します。
- 場所:
C:\Windows\System32\smss.exe
6. システムサービスとログオン
システム全体を管理する wininit.exe と、ユーザー認証を担う winlogon.exe が並行して動きます。
- services.exe: バックグラウンドで動く様々なサービスを開始。
- lsass.exe: ユーザーのパスワード認証などを処理。
- 場所: いずれも
C:\Windows\System32\内。
7. エクスプローラー:デスクトップの完成
サインインが完了すると、最後に explorer.exe が起動します。
- 役割: タスクバーやスタートメニュー、デスクトップを表示します。これが立ち上がることで、ようやく私たちが操作できる状態になります。
- 場所:
C:\Windows\explorer.exe
【番外編】システムの安全を守る「影の立役者」
通常のプロセス以外にも、セキュリティを担保するために重要な役割を果たすファイルがあります。
elam.sys(Early Launch Anti-Malware):他のドライバが読み込まれる前にウイルススキャンを行う「先遣隊」です。autochk.exe:起動時にディスクの整合性をチェックし、必要であれば自動修復を試みます。
主要プログラムの格納場所まとめ
システムの深層部を確認したい場合、以下のパスに重要なファイルが集まっています。
| プログラム名 | 格納パス | 主な役割 |
| ntoskrnl.exe | C:\Windows\System32 | OSの心臓部(カーネル) |
| smss.exe | C:\Windows\System32 | セッション管理 |
| winlogon.exe | C:\Windows\System32 | ユーザーサインイン管理 |
| explorer.exe | C:\Windows | デスクトップ表示 |
注意: これらのファイルはWindowsの生命線です。名前を変更したり削除したりすると、システムが二度と立ち上がらなくなる恐れがあります。確認する際は、細心の注意を払ってください。
まとめ
Windowsの起動は、目に見えない数多くのプログラムが数秒の間に連携し合うことで実現しています。次にPCを起動する際、あの「くるくる」が回っている間に、裏側で smss.exe や ntoskrnl.exe が必死にバトンを繋いでいる様子を想像してみると、少し面白いかもしれませんね。


コメント