🦑

UEFIについて調べてみた(序章。全体編)

2024/05/16に公開

UEFI BOOTの基本と設定方法

2024年4月のWindowsアップデートのなかでUEFIのセキュアブートに関する脆弱性対応についての情報があり、興味があってUEFI周りについて調べてみた。
なんとなくしか知らない分野だったので、そもそもUEFIとは何ぞや、からいくつか確認してみたので掲載していく。

イントロダクション

UEFI(Unified Extensible Firmware Interface)は、従来のBIOS(Basic Input/Output System)に代わる新しいファームウェアインターフェース。UEFIは、ハードウェアとオペレーティングシステムの間のインターフェースとして機能し、ブートプロセスを管理します。従来のBIOSに比べ、UEFIは高速な起動、セキュリティ機能の向上、そしてより多くのハードウェアをサポートする拡張性を提供している。、とのこと。

セキュリティの向上は今回まさに調べているセキュアブートに関するところ。

UEFIの基本概念

UEFIは、従来のBIOSに比べてよりモダンで柔軟なアプローチを取っています。UEFIは、システムの起動と初期化のための標準化されたインターフェースを提供し、EFI System Partition (ESP)と呼ばれる特定のパーティションにファームウェアデータを保存します。
これは過去、IntelがItariumでIA64という64bitCPUを再設計した際、BIOSについても見直ししたことの遺産らしい。なお、今の世の中はAMDが発表したx86から続く32bit命令と互換性が強いAMD64互換のCPUとなっている。

UEFIのブートプロセス

UEFIのブートプロセスは、システムの電源が投入された後に実行される一連のステップから成ります。これには、POST(Power-On Self-Test)、EFI System Partitionからのブートローダの読み込み、そしてオペレーティングシステムの起動が含まれます。

  1. POST(Power-On Self-Test): システムのハードウェアチェックを実行。
  2. EFI System Partitionの読み込み: EFI System Partition (ESP)から必要なブートローダを読み込みます。
  3. オペレーティングシステムの起動: ブートローダがオペレーティングシステムを起動します。

UEFIとOSのインストール

UEFIモードでのOSインストールは、特にWindows 10やLinuxディストリビューションにおいて一般的です。UEFIモードでのインストールには、GPT(GUID Partition Table)を使用する必要があります。

Windowsのインストール手順

  1. インストールメディアの準備: USBメモリなどのインストールメディアを作成します。
  2. UEFIモードで起動: BIOS設定からUEFIモードを選択します。
  3. インストールの実行: 通常通りにWindowsをインストールします。

Linuxのインストール手順

  1. インストールメディアの準備: Linuxディストリビューションのインストールメディアを作成します。
  2. UEFIモードで起動: BIOS設定からUEFIモードを選択します。
  3. インストールの実行: パーティション設定でGPTを使用し、Linuxをインストールします。

UEFIセキュリティ機能

セキュアブートは、UEFIの重要なセキュリティ機能の一つ。これは、信頼されたオペレーティングシステムのみがブートできるようにすることで、マルウェアからシステムを保護する。

セキュアブートの設定

  1. BIOS設定にアクセス: システムの起動時にBIOS設定に入ります。
  2. セキュアブートの有効化: セキュリティタブでセキュアブートを有効にします。
  3. 証明書の管理: 必要に応じて、信頼された証明書をインストールします。
    ここが語りたいところであるが、次回以降にまとめる。

UEFI設定のカスタマイズ

UEFI設定メニューには、さまざまな設定オプションがあり、ブート順序の設定、パスワードの設定、ハードウェアの設定などが含まれる。
基本的な構成項目はBIOSとそこまで大きく変わっていないが、そもそも設定画面でマウスが利用できたり、画面が16色ではなくフルカラーだったり(=GPUが利用できている)など、地味に改善はしている。

ブート順序の設定方法

  1. BIOS設定にアクセス: システムの起動時にBIOS設定に入ります。
  2. ブートオプションを選択: ブートタブでブート順序を設定します。
  3. 設定の保存: 設定を保存し、再起動します。

結論

UEFIについてさらっと書くつもりが、ブートまで行きつくのにここまでかかってしまった。

参考文献

Discussion