LoginSignup
27
29

More than 5 years have passed since last update.

PCの電源を入れてWindowsデスクトップが表示されるまでの仕組みを説明してみる

Posted at

Twitterでフォローしてる方からこんな投稿があったので
自分なりに調べてみました。

Step1 : 電源を入れる

icon_157000_32.png
このマークがついてるボタンをポチる。
ノートPCはスライドして電源ONするタイプもあります。

Step2 : UEFI BIOS 起動

UEFI BIOSとは

マザーボードに記録されている、電源を入れたら最初に起動するプログラム。
読みはそのまま UEFI BIOS(ゆーいーえふあい ばいおす)でいいそうです。

Windowsを起動するときのUEFI BIOSの役割は大きく2つあって、1つはPC内部のハードウェアが正しく取り付けられているかチェックすること、もう1つは起動デバイスを設定すること。

  1. POST パワーオンセルフテスト(正しく取り付けられていないと音で知らせる)
  2. 起動デバイスを設定

Windows10 をクリーンインストールしたとき、EFIシステムパーティションという区画が自動的に作られて、このなかにある Windows Boot Maneger(実体は\EFI\Microsoft\Boot\bootmgfw.efi)を UEFI BIOS が見つけて起動する
UEFI BIOS の画面を開くと、ちゃんと Windows Boot Maneger が見えてます。
IMG_1252.JPG
EFIシステムパーティションはこちら
UEFI_01.png
※ BIOSの画面で Windows Boot Maneger が見えないときは UFEIがオフの状態。 旧BIOSとの違いについては今回は割愛。

Step3 : ブートマネージャー と ブートローダー

ブートマネージャーの役割は、OSが複数インストールされているとき、どのOSを起動するか選択画面を表示すること。
Windows Boot Manager は選択された Windows のブートローダー(Winload.efi)を読み込んでOSを起動する
マルチブートのときのブートマネージャーとブートローダーはこんな感じ
cm01.png

Step4 : カーネル(ntoskrnl.exe)起動

カーネルの起動に必要な最低限のドライバが読み込まれた後に、カーネルが起動

  • 各種デバイスの初期化
  • ブートに必要なレジストリの読み込み
  • ブートに必要なドライバの読み込み
  • セッション マネージャー プロセス(Smss.exe)に制御を渡す

Step5 : セッション マネージャー(Smss.exe)起動

たくさんのプロセスが動き始める

  • 各種セッションの初期化
  • 残りのレジストリの読み込み
  • 残りのドライバの読み込み
  • ログオン処理(winlogon.exe)に移行

Step6 : ログオン画面(winlogon.exe)

  • おなじみのログオン画面(LogonUI.exe)を表示
  • ユーザー認証
    • ユーザー名とパスワードの入力を受け付ける
    • 入力された情報は LSASS(ローカルセキュリティ認証サブシステムサーバー、lsass.exe)に渡され、ローカルアカウントなら「SAM(Security Authentication Manager)」、ドメインアカウントなら Active Directory のドメインコントローラーから取得したユーザー情報と照合して、正しいログオン情報であるかどうか検証される
  • 認証されたらユーザーログオンアプリケーション(Userinit.exe)を起動

Step7 : デスクトップ表示

  • ログインユーザーのセッション作成(Userinit.exe)
    • Explorer.exe が起動
      • ユーザー固有(HKCU)のレジストリ読み込み
      • ログオンスクリプト、スタートアッププログラム実行
      • デスクトップの表示

Process Monitor でログを取ってみたりしたのですが、いまいち使い方が…:thinking:
間違いがあれば、ご指摘いただけたら幸いです。

参考リンク

27
29
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
29