Pedia

バイオス

ばいおす

BIOS(Basic Input/Output System、基本入出力システム)は、パーソナルコンピュータのマザーボード上に搭載された不揮発性メモリに格納されている、ハードウェアを初期化し、オペレーティングシステム(OS)の起動を仲介するための最も根幹的なファームウェアである。PCの電源投入直後に実行され、CPU、メモリ、ストレージ、各種周辺機器の整合性を確認する自己診断(POST)を実施した後、OSをロードするための起動処理へと制御を引き継ぐ、システムの根幹を担うプログラム群である。

最終更新:

概要

パーソナルコンピュータ(PC)におけるバイオス(BIOS)は、全てのソフトウェアの動作に先立って実行される、システムの最も基礎的な制御プログラムである。これは、PCの電源が投入された直後、CPUが最初に読み込む命令群であり、OSが動作するための物理的な環境を整備する「裏方」の役割を担っている。

BIOSは、PCの構成要素である中央演算処理装置(CPU)、主記憶装置(メモリ)、グラフィックスカード、各種ストレージデバイス、そして入出力ポートといった全てのハードウェアを識別し、それぞれのデバイスが正しく機能するための初期設定を行う。この初期化が完了して初めて、本格的なOS(Windows、macOS、Linuxなど)をメモリにロードし、ユーザーが利用できる状態へと移行できるのである。

基本的な機能と動作シーケンス

BIOSの主要な機能は、電源投入からOS起動までの制御フローを確立することにある。このプロセスは、非常に厳密なステップを踏んで実行される。

1. POST(Power-On Self-Test)

PCの電源ボタンが押されると、CPUは事前に定められたアドレス(通常はファームウェアが格納されたROMの最終アドレス)から最初の命令の実行を開始する。制御を受け取ったBIOSは、まずPOSTと呼ばれる自己診断テストを開始する。このテストの目的は、システムに必要な最低限のハードウェア(CPU、メモリ、ビデオカードなど)が正常に機能しているかを確認することである。

POSTの最中に重大なエラーが検出された場合、BIOSは画面表示機能がまだ利用できない段階であるため、内蔵スピーカーから特定のパターンでビープ音(ビープコード)を発してユーザーにエラーの種類を知らせる。例えば、メモリの不具合やグラフィックスカードの接触不良などがこれに該当する。POSTが成功すると、ハードウェアは動作可能な初期状態に設定される。

2. ハードウェア初期化とデバイス検出

POST後、BIOSはシステムボード上のチップセットや各種コントローラに初期設定値(クロック周波数、バス速度、I/Oアドレスなど)を書き込む。その後、接続されているすべてのデバイス(ストレージ、USB機器など)を検出し、利用可能なデバイスリストを作成する。この段階で、デバイスへの電力供給や基本的な通信パスが確立される。

3. ブートローダーの検索と実行

初期化が完了すると、BIOSはユーザー設定または標準設定に従って、システムがどのデバイスからOSを起動すべきかを示す「ブートオーダー(起動順序)」を参照する。指定されたデバイス(通常はSSDやHDD)にアクセスし、その先頭部分に書き込まれているブートローダー(起動プログラム)を読み込む。レガシーBIOSの場合、マスターブートレコード(MBR)を読み込み、そこに格納されているブートローダーに制御を引き渡す。この時点で、BIOSの主要な制御権限はブートローダーに移行し、OSの本格的なロードが開始される。

UEFIへの進化と移行

従来のBIOS(しばしばレガシーBIOSと呼ばれる)は、長年にわたりPCアーキテクチャを支えてきたが、設計上の限界も抱えていた。特に、16ビットの動作モードと1MBのメモリ空間の制限は、高性能化するハードウェア、特に大容量メモリや2TBを超えるストレージへの対応を困難にしていた。

これらの課題を解決するために、2000年代初頭から開発が進められ、現在では主流となっているのが UEFI(Unified Extensible Firmware Interface) である。UEFIは、BIOSの基本的な役割を引き継ぎながら、完全に近代化されたファームウェアインターフェースを提供する。

UEFIの主な特徴

  1. 大容量ストレージ対応:従来のMBRの限界を超え、GUIDパーティションテーブル(GPT)をサポートすることで、2TBを超えるストレージからの起動を可能にする。
  2. 高速起動:32ビットまたは64ビットモードで動作し、モジュール化された構造を持つため、レガシーBIOSと比較して起動時間を大幅に短縮できる。
  3. グラフィカルインターフェース:青い背景に白い文字だけのレガシーBIOSとは異なり、マウス操作に対応したグラフィカルな設定画面(GUI)を提供し、直感的な操作が可能である。
  4. セキュアブート:UEFIの最も重要な機能の一つがセキュアブートである。これは、OSがロードされる前に、未認証のコードやマルウェアが実行されるのを防ぐためのセキュリティ機能であり、PCの起動プロセス全体を保護する。

技術的な定義では、BIOSとUEFIは別物であるが、PCメーカーやユーザーコミュニティにおいては、UEFIの設定画面全体を慣習的に「BIOS設定画面」と呼称することが依然として一般的である。現代のPCにおいては、ほぼすべてがUEFIを採用しているが、互換性維持のためにレガシーBIOSモードをオプションとして提供している場合もある。

具体的な使用例・シーン

一般ユーザーがBIOS/UEFIの設定画面にアクセスするのは稀であるが、特定の状況下では不可欠な操作となる。

1. ブート設定の調整

最も一般的な操作は、ブートオーダーの変更である。OSを再インストールする場合や、ストレージの診断を行うために、外部のUSBメモリやCD/DVDからシステムを起動させる必要がある。この際、BIOS/UEFIの設定画面に入り、一時的または恒久的に起動順序を変更しなければならない。

2. ハードウェア機能の有効化/無効化

マザーボードが提供する特定の機能を細かく調整する場合にも設定画面が利用される。例えば、仮想化技術(Intel VT-x や AMD-V)をOS上で利用するためには、多くの場合、BIOS/UEFI設定内でこれらの機能を明示的に「有効」にする必要がある。また、マザーボード上のオンボードオーディオやネットワークインターフェースを無効化し、増設した高性能な拡張カードを優先させる際にも利用される。

3. システムのパフォーマンスチューニング

特に自作PCやゲーミングPCのユーザーは、CPUのオーバークロック、メモリのタイミング設定(XMPプロファイルの設定など)、冷却ファンや電力管理の設定といった高度なパフォーマンス調整を行うためにUEFI画面を利用する。これらの設定はシステムの安定性に直結するため、慎重な操作が求められる。

4. セキュリティ管理

起動時のパスワード設定(管理者パスワードやユーザーパスワード)や、セキュアブートポリシーの管理、そして暗号化キーを格納するTPM(Trusted Platform Module)機能の有効化といったセキュリティ関連の重要な設定は、BIOS/UEFIレベルで管理される。これにより、OSがロードされる前の段階からPCを不正アクセスから保護することが可能となる。

特徴と課題

BIOS/UEFIは、PCの根幹をなすファームウェアとして、OSの起動を支える一方で、いくつかの固有の課題も抱えている。

安定性・信頼性への影響

BIOS/UEFIは、ハードウェア制御を担うため、そのプログラムの安定性はシステム全体の安定性に直結する。メーカーはバグ修正や新しいハードウェアへの対応のために定期的にファームウェアのアップデート(BIOS/UEFIアップデート)を公開するが、このアップデート作業は非常にデリケートである。アップデート中に電源が切断されたり、処理が中断されたりした場合、ファームウェアが破損し、マザーボードが起動不能(いわゆる「文鎮化」)となるリスクがある。そのため、アップデートは慎重に行う必要があり、しばしば高い専門性が要求される。

セキュリティの最前線

ファームウェアはOSよりも低いレベルで動作するため、悪意のあるソフトウェアがBIOS/UEFI自体に感染するファームウェア攻撃(ルートキットなど)は、最も深刻な脅威の一つである。この種のマルウェアはOSの再インストールでは駆除できず、通常のセキュリティソフトウェアによる検出も困難である。この課題に対処するため、UEFIではセキュアブートや、ファームウェアの書き換えを厳しく制限するセキュリティ機能が強化されている。

関連する概念

CMOS

CMOS(Complementary Metal-Oxide-Semiconductor)は、マザーボード上でBIOS/UEFIの設定情報やシステム時刻を保持するために使用される少量のメモリを指す。このメモリは非常に消費電力が低く、マザーボード上に搭載された小型のボタン型電池(CMOSバッテリー)によって給電され、PCの電源が切られている間もデータを保持し続ける。設定画面を「CMOS設定」と呼ぶ慣習は、レガシーBIOS時代からの名残である。

ファームウェア

BIOSやUEFIは、ファームウェアという広範な概念に含まれる。ファームウェアとは、ハードウェアに組み込まれ、その基本的な動作を制御するソフトウェアのことである。PCだけでなく、スマートフォン、ルーター、HDD/SSDコントローラなど、あらゆるデジタルデバイスに搭載されている。PCにおけるBIOS/UEFIは、最も複雑で重要なファームウェアの一つである。

ブートローダー

ブートローダーは、BIOS/UEFIによって起動され、OS本体をストレージから読み込んでメモリに展開し、OSに制御を渡す役割を持つ小さなプログラムである。Windows Boot ManagerやLinuxで使用されるGRUB(Grand Unified Bootloader)などが代表的である。BIOS/UEFIはシステムの土台を作り、ブートローダーはOSを立ち上げるという、リレー形式で起動プロセスが進行する。

由来・語源

「BIOS」という略称は、Basic Input/Output System(基本入出力システム)に由来する。この概念は、1970年代にゲイリー・キルダールによって開発された初期のマイクロコンピュータ用OSであるCP/M(Control Program for Microcomputers)に、その原型が見られる。CP/MにおけるBIOSは、OS本体とハードウェアの差異を吸収し、異なるマシン上でもOSを動作させるための抽象化レイヤーとして機能していた。

この概念が決定的な地位を確立したのは、1981年に登場したIBM PCにおける採用である。IBM PCでは、特定のROMチップにBIOSプログラムを組み込むことで、ハードウェア制御を統一し、互換性を高めることに成功した。当時のPC環境は、多種多様な周辺機器が存在していたため、OSが個々のハードウェアの詳細を知る代わりに、標準化されたBIOSの呼び出しインターフェース(BIOSコール)を利用して入出力処理を行う仕組みが非常に効果的であった。

初期のBIOSは、OS起動時だけでなく、OS実行中も低レベルの入出力処理を担っていたが、技術の進化、特にWindows NTやLinuxなどのモダンなOSが登場してからは、OS側が直接ハードウェアを制御するドライバ技術が主流となった。この変化に伴い、BIOSの役割はハードウェアの初期化とOSの起動仲介に特化していくこととなったのである。

使用例

(記述募集中)

関連用語

  • (なし)
TOP / 検索 Amazonで探す