🎃
UEFIを調べてみた(PC起動編)
PCが電源投入されたときの起動順序
イントロダクション
PCの起動プロセスは、電源が投入されてからオペレーティングシステムが完全に立ち上がるまでの一連のステップから成りたつ。このプロセスは、BIOS(Basic Input/Output System)またはUEFI(Unified Extensible Firmware Interface)ファームウェアを使用して行わる。セキュアブートに関する説明のためには、そもそもどのように起動するかを知るべく、まとめてみた。
以下のフロー図が起動に関する動作一覧となり、その詳細を説明していく。
1. 電源投入と初期化
- 電源投入: 電源ボタンが押されると、電源供給が開始され、システム全体に電力が供給される。
- 電源良好信号(Power Good Signal): 電源ユニット(PSU)は、マザーボードに「電力が安定して供給されている」ことを知らせる信号を送る。
2. Power-On Self-Test(POST)
- POSTの実行: BIOS/UEFIは、システムハードウェアの初期テストを実行する。これにはメモリ、CPU、ハードディスク、その他の基本的なコンポーネントのチェックが含まれる。
- エラーメッセージ: 問題が発見された場合、ビープ音やエラーメッセージでユーザーに通知される。
3. ブートデバイスの検出
- BIOS/UEFI設定の読み込み: BIOS/UEFIは、設定メニューで指定されたブートデバイスの順序を確認する。この順序は、通常、HDD、SSD、光学ドライブ、PXEブート、USBデバイスなどが含まれる。
- ブートデバイスの選択: 指定された順序に従い、最初のブート可能なデバイスを検出する。
4. ブートローダーの起動
- EFI System Partition (ESP): UEFIシステムの場合、ESPからブートローダーを読み込みます。BIOSシステムの場合は、マスターブートレコード(MBR)からブートローダーを読み込む。
- ブートローダーの実行: ブートローダーが起動し、OSカーネルをメモリに読み込み。
5. オペレーティングシステムの起動
- カーネルの起動: ブートローダーは、OSカーネルを実行し、オペレーティングシステムの初期化を開始する。
- システムの完全な立ち上げ: デバイスドライバやサービスがロードされ、ユーザーインターフェースが表示されます。
詳細なプロセスと参考文献
- 電源投入と初期化: 電源投入後の初期化プロセスについては、LifewireのPC起動プロセスが詳しい。
- POST: POSTの詳細とエラーメッセージの解釈については、PCMagのPOSTプロセスが参考になる。
- ブートデバイスの検出とブートローダーの起動: ブートデバイスの順序とブートローダーの役割については、Computer Hopeのブートプロセスに詳しい説明がある。
Discussion