こんにちは。matchanです。
皆さんは、「BIOS」「UEFI」というのを聞いたことはありますか?普段PCを使う上では触れる機会は少なく、PCに何かトラブルがあった時に使うことが多いかなと思います。
今回、調べる機会があったので備忘録として残しておきたいと思います。
ここでは、OSはWindowsとします。
「BIOS」「UEFI」とは?
BIOS、UEFIとはどちらもマザーボード上のROMに入っているプログラムのことです。
PCの電源を立ち上げたときに一番最初に読み込まれるプログラムで、CPU、HDD・SSD、マウスやキーボードといったハードウェアデバイスを管理・制御する、OSやアプリケーションとハードウェアの橋渡し的な役割を担っています。
参考までに電源を立ち上げてからOSが起動するまではざっくり以下の流れになります。
- PCの電源を投入。
- BIOS/UEFIが起動する。
- BIOS/UEFIがキーボード・マウス・グラフィックボードなどのハードウェアをチェックする。
- エラーがあればビープ音やメッセージで通知する
- BIOS/UEFIがハードウェアの初期化処理を行う。
- BIOS/UEFIがOSの起動ドライブを確認する。
- HDD/SSD(ほとんどこれ)
- CD/DVD
- フロッピー
- BIOS/UEFIは起動ドライブの特定の場所にある起動用プログラムを読み込み、制御を移す。
- 起動用プログラムによってOSの起動処理がかかる。
PCに電源が入るとBIOS/UEFIが起動し、接続しているハードウェアの状態をチェック・使用可能な状態とし、起動デバイス(HDD/SSDなど)からOSを起動するプログラムを実行します(この処理はBIOSとUEFIで仕組みが異なります)。そのためBIOS/UEFIが機能しなければPCは起動できません。
BIOSは昔から使われていましたが、ハードウェアの進歩に伴いBIOSのプログラムで対応するのが徐々に厳しくなってきたのを受け、新しく登場したのがUEFIとなります。
とはいえ、通常PCを使う上でBIOS/UEFIに触れることはほとんどありません。設定画面を開くのはOSを再インストールするときや自作PCでパーツ増設・変更などしたときです。
BIOS(Basic Input Output System)
BIOS(Basic Input Output System)は1980年代に誕生した従来型のBIOSです。現在ではUEFIの登場に伴い「レガシーBIOS」と呼ばれることもあります。
BIOSではPCの電源投入時にハードウェアの状態をチェックします。ハードウェアに問題があった場合は、ビープ音やエラー表示で通知し、以降の動作を停止します。
起動ドライブを特定した後の処理は以下の流れになります。
- 起動ドライブにあるMBR(Master Boot Record)を読み込む。
- 512B
- MBRはブートセクタと呼ばれることも
- MBRにあるブートストラップローダ(起動用プログラム)を読み込み、制御が移る。
- パーティションテーブルを見てアクティブなパーティションを検索する。
- パーティションテーブル:パーティションに関する情報が格納されている領域
- アクティブ(起動可能)なパーティションの先頭セクタにあるPBR(Partition Boot Recorder)を読み込む。
- PBRにあるOS起動用プログラムを起動しOSが起動する。
MBRやらPBRやら言葉が並んでいますが、ざっくり言うとMBRやPBRと呼ばれる領域に格納されている起動用プログラムを読み出して実行しているということです。
昔から使われているので、ハードウェアが進歩している今ではプログラムが対応しきれず、UEFIへ移行されています。
特徴
- 起動ディスクは2TBまでしかサポートできない。
- MBR方式による起動方法だと、読み取りサイズにおける上限がある
- 2TB以上を認識することができないので、例えば3TBのHDDを起動ディスクにした場合、2TBまでしか認識できません。
- パーティションは4つまでしかサポートできない。
- MBR方式による起動方法だと、読み取りサイズにおける上限がある
- キーボード操作のみ可能で、マウス操作ができない。
UEFI(Unified Extensible Firmware Interface)
UEFI(Unified Extensible Firmware Interface)は、従来のBIOSの後継として立ち上げられた規格です。現在では、UEFIの規格を採用しているBIOSを「UEFI-BIOS」、それ以外を「レガシーBIOS」と区別して呼ぶこともあるようです。
先述の通り、ハードウェアの進歩に伴い従来のBIOSのプログラムで対応するのが徐々に厳しくなってきたのを受け、新しく登場したのがUEFIになります。なので最近のPCは基本的にはUEFIで実装されています。
もともとインテルとヒュートレッドパッカード(HP)によって開発されたEFI(Extensible Firmware Interface)が元となっており、これを拡張して2005年にUEFIへと発展しました。BIOSのところで述べたデメリットはUEFIでは解消されています。
UEFIではGPT(GUID Partition Table)と呼ばれるパーティションテーブルを使った起動方式を採用しています。
- 起動ドライブにあるGPT(GUID Partition Table)を参照し、ESPを検索する。
- ESP(EFI System Partition):OS起動用プログラムが置かれている専用のパーティション
- ESPにあるOS起動用プログラムを起動しOSが起動する。
特徴
- 2TB以上の起動ディスクもサポート。
- GPTという新しい起動方式をサポートしているため
- 基本的にOSが64ビット対応している必要がある
- 従来のMBR方式にも対応している
- CSM(Compatibility Supported Module)という仕組みでレガシーBIOSとの互換性を保っている
- キーボード操作のほか、マウス操作も可能。
- セキュアブートなどのセキュリティ機能も対応。
- セキュアブート:起動時に許可されていないソフトウェアは実行されないようにする機能
- その他、レガシーBIOSでは対応できない処理も対応。
BIOSかUEFIかを確認する方法
PCがレガシーBIOSかUEFIかを確認する方法は以下の通りです。
- 検索窓に「msinfo32」と入力し、表示された「システム情報」をクリック。
- 表示されたシステム画面の「BIOS モード」で確認できる。
BIOS/UEFI画面の表示方法
BIOS/UEFIの画面は、PCを起動し「メーカーロゴが表示された」タイミングで特定のキーを押すと表示できます。
(以下サイトより)
-
http://sos110.jpn.com/pc-trouble/solution/unavailable/not-work-windows/windows10/
sos110.jpn.com
「特定のキー」はPCメーカーによって異なりますが、だいたい「F2」キーです。
メーカー | BIOS画面表示キー | 起動デバイス変更 |
NEC | F2 | F12 |
富士通 | F2 | F12 or F11 |
東芝 | F2 | F12 or F11 |
SONY | F2 | F11 or 電源が切れている状態で「ASSIST」ボタン |
Lenovo | F1 | F12 |
HP | F10 | F9 |
Dell | F2 or Ctrl+Alt+Enter |
F12 |
まとめ
ポイント
- BIOSもUEFIも、ハードウェアとOSの橋渡しの役割を担うプログラム。
- PCの電源投入時に読み込まれ、ハードウェアの初期処理を行う
- 起動ドライブを特定し、起動ドライブにある起動用プログラムを読み込む
- BIOSは初期からあり、今では「レガシーBIOS」と呼ばれることも。
- 現代のハードウェアの進化にBIOSのプログラムが対応しきれない
- UEFIはBIOSの後継。BIOSで対応しきれなかった処理ができるように
以上、参考になれば幸いです。