UEFIとは?読み方やBIOSとの違いを設定・確認の方法とともに解説
thumb_uefi_01
UEFIとは?読み方やBIOSとの違いを設定・確認の方法とともに解説
アンドエンジニア編集部
2023.09.29
この記事でわかること
UEFIとは、プラットフォームファームウェアとOSをインターフェイスする規約を指します
BIOSの制限である16ビットプロセッサのI/O空間・16ビットメモリ空間・PC/AT向け、を解決します
2TBを超えるGPTがサポートされ、大容量のシステム起動ディスクとしても利用可能です

UEFIとは

img_uefi_01

UEFIとは「Unified Extensible Firmware Interface」の頭文字を取った略字で、コンピュータ内にある各装置を制御するプラットフォームファームウェアとOS間で通信仕様を定めた規約を指します。仕様はUEFIフォーラムによって規格化を行っています。読み方は、アルファベットをそのまま「ユーイーエフアイ」と読みます。

【参考】:Unified Extensible Firmware Interface Forum

このUEFI規格に従い実装したSystem BIOSのファームウェアを、UEFI BIOSと言います。IBM PCに搭載された以前のBIOSは制限が多かったため、1990年代にデータセンターでシステム利用するために改善すべく、EFI(Extensible Firmware Interface)が開発されました。

これが現在のUEFIの前進の規格として制定され、仕様改訂が行われています。2010年代以降はディスク装置とメモリーの大容量化が進んでおり、UEFI BIOSが多くを占めています。

ファームウェアとは

ファームウェアとは、電子機器やコンピュータのハードウェアを制御するために組み込まれているソフトウェアを指します。ソフトウェアとは言っても頻繁に書き換えできないように格納されており、「堅牢」という意味でファームウェアと言います。ファームウェアの目的は、OSやソフトウェアからの命令を受けハードウェアを制御することです。

フラッシュメモリが登場したことで、ファームウェアイメージ書き換えの柔軟性が高まりました。そのため組み込み用途のOSを制御する、ファームウェア搭載のIoT機器も増加しています。さらにセキュリティ対策のために定期更新が求められる場合も、ファームウェアアップデートツールで簡単に行うことができるようになりました。

IoTとは?概要から動作の仕組み・実際の用途まで丁寧に解説!

そもそもBIOSとは

BIOSは「Basic Input/Output System」の略で、バイオスと読みます。コンピュータのシステム本体に取り付けられているためSystem BIOSということもあります。BIOSは、IBM PC(PC/AT)において、OS起動に関するハードウェアインターフェイスを行う目的で実装されました。具体的には電源投入後、以下の流れでBIOSの処理が行なわれ、システムが起動します。

(1)電源投入 POST(Power on Self Test)により、電源投入後のCPUチェック・BIOSコードチェック・DMAや割り込み関係のテスト・メインメモリテストを行います。その後、接続されているハードウェアの状態を初期化します。このあと、グラフィック・SCSI等の周辺アダプタでBIOSが搭載されている場合は制御を移します。

以降はブート処理に向けた処理を行います。システムの接続装置を認識し初期化を行います。その後ファームウェアに格納されているブートコードが、選択されたブートデバイスであるハードディスクやフロッピーディスク等の補助記憶装置からブートセクタ(MBR)に格納されているブートローダをロードし、制御を移します。

(2)1次ブートローダ(プライマリブートローダ) 主に実際に起動後に利用する基本ソフトウェア(OS)をロードする前工程で、後工程を担当するセカンダリブートローダをロードする役割です。

(3)2次ブートローダ(セカンダリブートローダ セカンダリブートローダは最終的に稼働されるOSをロードします。OSの格納されているドライブパーティションのブートセクタからロードされ、OSのカーネルコードやドライバをロードします。BIOS実装当時はブート手順にしたがいPC-DOSやMS-DOSが起動され、ディスクアクセスやキーボード・コンソールはBIOSの提供サービス(割り込みルーチン)を利用し動作していました。

その後ハードウェアの進化への追従や操作の多機能化が求められ、BIOS操作のためのユーザーインターフェースが搭載されました。加えてシステムの高機能化に伴い、グラフィックボードやネットワーク・電源等の管理も必要となってきました。

従来の16ビットプロセッサモードを起源とする、x86用System BIOSの構造や機能では、大容量メモリやディスク装置のサポートやメンテナンス性に問題が生じてきました。

UEFIのメリット

ブート装置の参照ブロック拡大 BIOSでは、参照セクタブロックをセクタサイズとブロックアドレス(LBA)で管理し、上限が決まっていました。具体的には、セクタ512バイト・ブロックアドレス2の32乗=4Gですので、512バイトx4G=2TBが上限となります。

UEFIではGUIDパーティションテーブル(GPT)を用い、2TBを超える大容量ディスクからブートすることができます。GPTでは、9.4ZBのディスク装置まで対応可能ですので実質的に気にする必要はなくなりました。

モジュラー設計 UEFIでは、ブートサービスとランタイムサービスという2種類のタイプのサービスを定義し、関連するサブモジュールで構成しています。その設計はC言語を用いてモジュール化しており、保全性が高いものに仕上がっています。

多様なプロセッササポート 従来のBIOSで制限されていた「16ビットプロセッサモードで1MBのアドレス空間のみアクセス可能」、という制限から解放されます。32ビットプロセッサでは32ビットアドレス空間を、64ビットプロセッサでは64ビットアドレス空間全てにアクセス可能です。

ネットワークやGUI・多言語対応が可能 UEFIではブートサービスが定義されており、OS起動前のネットワーク接続やGUI操作も可能となっています。これら仕様化においては仕様改訂時に問題が生じないように、コンパチビリティ(前方・後方)を確保しています。

【参考】:Home Unified Extensible Firmware Interface Forum SPECIFICATIONS

UEFIの設定

img_uefi_02

ここではUEFIをどのように設定するのか見ていきます。通常UEFIを意識するケースは、2TBを超える大容量ディスクからブートする場合と考えます。UEFIではMBRではなく、GPTパーティションが利用可能です。そのため、UEFIでは大容量ディスクをシステムディスクに利用することができます

ここではWindowsを例に、UEFIの確認や設定を解説していきます。

Windows 10でのUEFIの確認

WindowsでBIOSあるいはUEFIがどのように設定されているかは、「Windows 管理ツール」「システム情報」から確認できます。「Windowsキー」+Rをクリックし、”msinfo32”を実行してもシステム情報が起動されます。システム情報の14番目の項目に、「BIOS モード」と表示されます。

レガシと表示される場合は、Legacy BIOSモードです。UEFIと表示される場合は、UEFIモードに構成されています

Windows 10でのUEFI画面の起動と設定

System BIOSのファームウェアは、電源投入後にEsc・Del・F1・F2・F10・F11・F12等のキーボードを押すことによってメニューが表示されます。この起動時のキーはメーカーごとに異なりますので、PCのモデルごとのドキュメントご参考にしてください。メーカーによってはEscの後にF10等の組み合わせの場合もあります。

【参考】:Microsoft UEFI モードまたはレガシ BIOS モードでのブート

上記操作で、OS起動前のSystem BIOSセットアップメニューが表示されます。ここでブートデバイスのモードをUEFIに変更します。古いPCではUEFIに対応していないこともありますので、お使いのPCのドキュメントをご確認ください。

System BIOSセットアップメニューが表示されない場合

すでにWindows 10がインストールされている場合、電源投入後のキーボード操作でSystem BIOSセットアップメニューが表示されないことがあります。理由はWindows 10の高速スタートアップ機能が動作しているため、起動時のキー操作がスキップされるためです

高速スタートアップを一時停止するにはスタートメニューで「電源」を選択し、Shiftを押しながら「シャットダウン」を行います。次回起動時のみ高速スタートアップが一時停止され、ブートアップ時のキー操作を受け付けます。

同様に、スタートメニューで「電源」を選択し、Shiftを押しながら「再起動」を行う場合、「オプションの選択画面」が表示されます。ここで「トラブルシューティング」「詳細設定オプション」から「[UEFI ファームウェアの設定」を選択することでSystem BIOSセットアップメニューが表示されます。

Windows 10でインストール後にBIOSモードを変更するには?

Windows 10でインストール後にBIOSモードを変更するには、ディスク上のパーティションテーブルをMBR からGPTに変換する必要があります。

【参考】:Microsoft レガシ MBR ディスクから GPT ディスクに切り替Windows 10

MBR2GPT.exeは、ディスク上のデータを削除せずにMBR からGPTに変換することができます。Windows 10 バージョン1703(Creators Update)以降でサポートされます。Windows プレインストール環境のWindows PEあるいはWindows 10から実行することができます。

【参考】:Microsoft MBR2GPT.EXE

ディスクの情報を入手するにはDiskpartコマンドを利用します。Diskpartのコマンドラインで”list disk”コマンドでドライブ一覧が入手できます。右側のGPT表示に”*”があるとGPT、表示がないとMBRとなります。

同様にスタートメニューを右クリックし、「ディスクの管理」からも確認できます。対象となるディスクを右クリックし「プロパティ」「ボリュームタブ」で「パーティションのスタイル」に”マスターブートレコード(MBR)”あるいは”GUIDパーティションテーブル(GPT)”が表示されます。

MBR2GPT.exeの実行は「データを削除せずに実行可能」と記載されているものの、不測の事態に備えてバックアップを取得し変更することをおすすめします。変更後の再起動時にはSystem BIOSセットアップメニューでUEFIに変更することを忘れず行います。

UEFIは気軽に利用できます

img_uefi_03

UEFIは大容量ディスクの登場で、利用が増えています。ほとんどが初期設定時に設定するものなため、頻繁に設定変更するものではありません。特に現状不都合がないようであれば次回のシステムリプレース等で、UEFIのメリットである大容量ディスクを利用する際に設定変更することをおすすめします

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT