ファームウェアとは
一言でいえばソフトウェアの一種です。さまざまな機器に内蔵されているハード制御のためのソフトウェアです。ソフトウェアの中でも一番ハードウェアに近いものです。PCにおいてはマザーボードにあるROMなどの記憶装置に組み込まれています。
BIOSとは
特にコンピュータのファームウェアとしてよく知られているのがBIOS(Basic Input Output System)です。BIOSはマザーボードにあるROMなどの記憶装置に組み込まれています。
PCが不具合を起こしたときによく見る、いじると危険そうな青い画面のあれです。(笑)
BIOSの役割
主な役割はコンピュータの起動(OSのブート)です。パソコンに電源が入ると最初にBIOSが起動します。BIOSのプログラムをもとにそれぞれの接続されている機器が使用可能な状態になります。次にHDDやSSDに保存されているOSがメインメモリに呼び出されて、いつものようにPCが使える状態になります。
BIOSの設定画面でブートディスクを変更することも可能です。
OSはHDDにどのように保存されているのか
OSはHDDなどの補助記憶装置に保存されています。USBメモリやCD・DVDに保存して、そこからブートすることも可能です。
OSが起動されていない状況ではHDDのファイルシステムも使えない状態です。なのでOSの起動情報はHDDで一番最初に読み込まれる先頭のセクタに保存されています。この最初に読み込まれるセクタをMBR(Master Boot Record)セクタと言います。このMBRの情報をもとにしてOSがインストールされているパーティションにアクセスしOSを起動するのです。
パーティションとは
HDDやSSDなどのストレージの内部を複数の独立した区画に分割することができます。この分割された区画のことをパーティションと言います。多くの場合はシステム領域と保存データ領域で分割します。
WindowsにおいてはCドライブやDドライブなどのドライブレター単位で分割します。
Linuxにおいてはsda1、sda2・・・のように分割して、/bootや/usrなどの任意のディレクトリにマウントすること一般的です。
パーティションごとに異なるファイルシステムを扱うこともできます。
MBRとGPT
パーティションにはMBRとGPTという2種類の方式があります。MBRは古い方式でGPTは新しい方式です。
MBR
MBRでは分割できるパーティションの数が最大4つまでという限りがあります。これはディスクパーティションテーブルの容量が64バイトなのに対して、パーティション情報が16バイトであるからです。また、1つのパーティションを論理的なパーティションに分割することも可能です。そうすることでMBRでも4つ以上のパーティションを作成することができます。
またMBRの場合最大で2TBまでのディスクしか対応できません。
GPT
GPTにおいても先頭セクタはMBRセクタですが前述したMBRセクタとは役割が違います。MBRベースのディスクユーティリティがGPTディスクを間違って認識したり上書きしたりするのを防ぐ役割があります。それらに加えて、自身と第2GPTヘッダーのサイズと場所を記録するプライマリGUIDパーティションテーブルヘッダー、プライマリGUIDパーティションエントリ配列、バックアップGUIDパーティションエントリ配列、およびバックアップGUIDパーティションテーブルヘッダによって構成されます。
GPTは無制限にパーティションを作成することが可能ですがOSによって制限が設けられている場合もあります。
また2TB以上のディスクにも対応しています。
昔のBIOSではMBRしか対応していません。またUEFIではMBRとGPTの両方に対応しています。
(画像引用:https://jp.minitool.com/partition-disk/mbr-vs-gpt-guide.html )
UEFIとBIOSの違いとは?
技術進歩についていけなくなったBIOSをパワーアップさせたのがUEFI(Unified Extensible Firmware Interface)です。BIOSとUEFIは全く別のものだと思われがちですが、BIOSをグレードアップさせたのもがUEFIというイメージです。厳密にいえばBIOSとOSを接続するインターフェース部分をUEFIという新たなものに変えたという感じです。
なので、BIOSもUEFIも総称してBIOSと呼ぶことが多いです。
参考サイト