BIOSとUEFI
BIOSとは
BIOS = Basic Input/Output Systemの略で、PCが起動するときに起動するプログラムです。
キーボード、マウス、ディスクが正しく動くかどうかを確認し、OSを起動する役割を担っています。
BIOSの起動プロセス
BIOSの起動プロセスは以下となります。
- 電源を入れる: パソコンの電源ボタンを押す。
- BIOSが起動: BIOSが最初に動き出す。
- POSTを実行: ハードウェアが正しく動くかどうかをチェックする。
- ハードウェアのチェック: ハードウェアが正常かどうかを確認。
- 正常: 次のステップに進む。
- 異常: エラーメッセージを表示して起動を中止。
- ブートデバイスを選択: OSが入っているデバイス(HDDやSSDなど)を選ぶ。
- ブートローダーを読み込む: 選んだデバイスからブートローダー(例: GRUB)を読み込む。
- カーネルをロード: ブートローダーがOSのカーネル(Linuxカーネルなど)をメモリにロードする。
- initシステムを起動: カーネルがinitシステム(例: systemdやSysVinit)を起動する。
- initシステムは、OSのサービスやデーモンを起動し、ユーザーが使える状態にする。
- OSが使える状態になる: initシステムがすべてのプロセスを起動し、ログイン画面やデスクトップが表示される。
graph TD
A[電源を入れる] --> B[BIOSが起動]
B --> C[POST(Power-On Self-Test)を実行]
C --> D{ハードウェアのチェック}
D -->|正常| E[ブートデバイスを選択]
D -->|異常| F[エラーメッセージを表示]
F --> G[起動中止]
E --> H[ブートローダーを読み込む]
H --> I[カーネルをロード]
I --> J[initシステムを起動]
J --> K[OSが使える状態になる]
Post(Power On Self Test)でチェックされるハードウェア
- CPU: プロセッサが正しく動作するかどうか
- メモリ: メモリが正しく接続され、動作するかどうか
- グラフィックカード: 画面を表示するためのグラフィックカードが動作するかどうか
- ストレージ (HDD, SSD): ストレージが正しく接続、読み込めるかどうか
- デバイス: キーボード、マウス、USBデバイスが正しく接続されているかどうか
UEFIとは
UEFI = Unified Extensible Firmware Interfaceの略で、一言でいうとBIOSの進化版です。
UEFIの起動プロセス
- 電源を入れる: パソコンの電源ボタンを押す。
- UEFIファームウェアが起動: UEFIファームウェアが最初に動き出す。
- ハードウェアの初期化とセルフテスト: UEFIがハードウェアを初期化し、簡易的なセルフテストを行う。
- ハードウェアのチェック: ハードウェアが正常かどうかを確認。
- 正常: 次のステップに進む。
- 異常: エラーメッセージを表示して起動を中止。
- ブートマネージャを読み込む: UEFIブートマネージャが起動し、ブートエントリを表示する。
- ブートエントリを選択: ユーザーが起動したいOSやブートローダーを選択する。
- ブートローダーを読み込む: 選択されたブートローダー(例: GRUB2)を読み込む。
- カーネルをロード: ブートローダーがOSのカーネル(Linuxカーネルなど)をメモリにロードする。
- initシステムを起動: カーネルがinitシステム(例: systemdやSysVinit)を起動する。
- OSが使える状態になる: initシステムがすべてのプロセスを起動し、ログイン画面やデスクトップが表示される。
graph TD
A[電源を入れる] --> B[UEFIファームウェアが起動]
B --> C[ハードウェアの初期化とセルフテスト]
C --> D{ハードウェアのチェック}
D -->|正常| E[ブートマネージャを読み込む]
D -->|異常| F[エラーメッセージを表示]
F --> G[起動中止]
E --> H[ブートエントリを選択]
H --> I[ブートローダーを読み込む]
I --> J[カーネルをロード]
J --> K[initシステムを起動]
K --> L[OSが使える状態になる]
ブートマネージャとは
PCが起動する際に、どのOSやカーネルを起動するか管理するプログラムです。
1台のPCに複数のOS(またはディストリビューション)をインストールしている場合、例えばUbuntuとFedoraをインストールしている場合、ブートマネージャによって起動時にどちらのディストリビューションを起動するのかを選択できます。逆に言うとブートマネージャがないとどのOSを起動するのかを選択できません。
ブートマネージャには以下のような種類があります。
GRUB (GRand Unified Bootloader)
Linuxで広く使われているブートマネージャでOSを起動するためのブートローダーです。(ブート = 起動、ローダー = ロードする(読み込む))
Windows Boot Manager
名前の通り、Windowsで使われるブートマネージャです。
BIOSとUEFIの違い
BIOSとUEFIについて簡易的に表にまとめました。
項目 | BIOS | UEFI |
---|---|---|
起動速度 | 遅い | 速い |
ディスク容量の制限 | 2TBまで | 2TB以上も可能 |
セキュリティ | 弱い | 強い |
インターフェース | テキストベース | GUI (マウス操作可能) |
ブートローダーの読み込み | MBR(Master Boot Record)を使用 | GPT(GUID Partition Table)を使用 |
ブートマネージャ | なし | あり |