助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 3612
問題を開く
UEFIの特徴として正しいものはどれか(3つ選択)

正解

GUIでの操作が可能となる

最初にアクセスされる領域であるESPは「/boot/efi」にマウントされる

GPTというパーティション形式に対応しており、3TB以上のHDDからの起動をサポートする

解説

UEFI(Unified Extensible Firmware Interface)は、IntelがBIOS(Basic I/O System)を置き換えるために考案したEFIの統一仕様です。GUIでの操作をサポートしていたり、ファームウェアが使用可能なメモリ量の上限が緩和されているなど、BIOSよりも高機能化しています。

ESP(EFIシステムパーティション)はUEFIシステムにおいて、物理的なマシンを起動し、ファームウエアが読み込まれた後、その後の起動シーケンスで最初にアクセスされる領域になります。ESPは「/boot/efi」にマウントされます。


また、GPT(GUID Partition Table)形式のHDDからの起動をサポートしています。GPTは、BIOSで起動ディスクとしてサポートしているMBR形式のパーティションテーブルの上限2.2TB(2TiB: テビバイト)という制約を大幅に超える、9.4ZB(8ZiB: ゼビバイト)までのHDDを管理することができるパーティションテーブルの形式です。3TBを超える大容量HDDを起動ディスクとして使用する場合はUEFIとGPTを使用する必要があります。ただし、Linuxの場合GRUB2 ブートローダがGPTをサポートしているため、BIOSからGRUBローダーをロードできればGPT形式のハードディスクからの起動は可能です。

※ZB(ゼタバイト)とは、1GB(ギガバイト)x 1000(テラ) x 1000(ペタ)x 1000(エクサ)x 1000(ゼタ)のサイズのことです。

したがって正解は
・GUIでの操作が可能となる
・最初にアクセスされる領域であるESPは「/boot/efi」にマウントされる
・GPTというパーティション形式に対応しており、3TB以上のHDDからの起動をサポートする
です。

下図はUEFIのGUIの例です。


その他の選択肢については以下のとおりです。

・搭載可能メモリの上限がなくなる
搭載可能メモリはメモリコントローラーが管理します。UEFIになることで上限がなくなることはありませんので、誤りです。

・マルチブート環境が構築できる
マルチブートはBIOS、ブートローダの機能でも可能です。UEFIの特徴というわけではないため、誤りです。

参考

最近のシステムでは、BIOS(Basic I/O System)よりも高機能な、UEFI(Unified Extensible Firmware Interface)への移行が進んでいます。UEFIは、IntelがBIOSの後継として考案したEFIの統一仕様です。
BIOSもUEFIも、「ハードウェアの初期化と設定」そして「ブートプロセスを開始し、次の段階へ引き継ぐこと」を主な役割とするファームウェアです。

以下では、UEFIで特に変化した点について説明します。

まず操作性の面について、UEFIでは設定時にGUIを利用できます。
下図は、その画面例です。


データ管理の面では、GPT(GUID Partition Table)方式を利用できます。
これによって、従来のMBR(Master Boot Record)方式より大容量のストレージをサポートしています。
MBR方式もGPT方式も、ストレージ全体をパーティション(領域の論理的な分割)によって管理する方式です。

 MBR方式の制限: 最大 2.2TB(2TiB: テビバイト)
 GPT方式の制限: 最大 9.4ZB(8ZiB: ゼビバイト)
 ※ZB(ゼタバイト)とは、1GB(ギガバイト)x 1000(テラ) x 1000(ペタ)x 1000(エクサ)x 1000(ゼタ)のサイズのことです。

また、ブートプロセスも一部異なります。
従来のBIOSを使用したシステムでは「BIOS、ブートローダ、カーネル、init」の順に進んでOSが起動していました。
その際ブートローダは、MBR方式のストレージにあるMBRというデータ領域を利用して、二段階で読み込まれていました。

一方、UEFIを使用するシステムでは、通常、GPT方式のストレージにあるESP(EFIシステムパーティション)に置かれたブートローダを読み込みます。このとき二段階式は必須ではありません。
ESPは、ブートに必要なデータを保持するための専用のパーティションです。ここにはブートローダなどの他、起動に必要なドライバやプログラムも置かれます。
なお、UEFIシステムでは、従来のブートローダは必ずしも必要ではありません。UEFIはESPにアクセスすることで、専用の形式のカーネルを直接起動したり、UEFIブートマネージャを介してカーネルを起動したりすることも可能です。また、ブートローダを使用しなくてもマルチブート(複数のOSから選んで起動)可能です。
上記より、UEFIシステムのブートプロセスは「UEFI、(ブートローダ、)カーネル、init」と表せます。

UEFIは、ESPで使用されるFATファイルシステムを理解し、ESP上のファイルを直接読み込むことができます。ファイルシステムとは、データをストレージ上にファイルとして格納し、管理するための構造や規則のことです。
ESPには、FAT32やvfatなど、FATベースのファイルシステムを使用してフォーマットするようにUEFI規格で指定されています。古くシンプルな構造のFATは、Windowsをはじめとした数多くのOSでサポートされており、広範な互換性が確保される利点があります。

以下はUEFIシステムにUbuntuをインストールしたストレージの、GPTパーティションテーブル(ストレージ全体のパーティション情報)です。


ESPは「/boot/efi」にマウントされることで、ディレクトリとしてOSに認識されるようになります。


以下はESPに含まれるものを確認しています。

上に戻る

/boot/efiがlinuxでマウントされる理由

公開日 2023/07/16

この問題の解説に
「ESP(EFIシステムパーティション)はUEFIシステムにおいて、物理的なマシンを起動し、ファームウエアが読み込まれた後、その後の起動シーケンスで最初にアクセスされる領域になります。ESPは「/boot/efi」にマウントされます。」
と記載されています。

上記記述からは、ESPを利用するのは、linuxが起動される前の様に思われたのですが
「ESPは「/boot/efi」にマウントされます」の例(図)を見ると、linux上で
マウントされている様に思いました。

なぜ、linux上で、ESPをマウントするのでしょうか?

ご存じの方がおられたら、教えて下さい。
宜しくお願いします。

2023/07/19 14:19

システムが起動するとき、マウント設定ファイルの/etc/fstabを読み込んで、その指示に従いESPを/boot/efiにマウント(接続)します。
たしかにESPはLinuxの起動に必要なため/boot/efiにマウントされるのですが、
Linux起動後もマウント状態は続きます。(カーネルやシステムソフトウェアの更新時とか、ブート設定の変更時などに便利だからだと思います)
質問の意図が理解できていなかったらすみません。


コメント

k kz5835

2023/07/19 22:52

m7jgc様 ご回答、有難うございます。 私の質問の意図は、以下になります。 システムの起動は、以下の順序かと思います UEFI起動 --①-> ブートローダ起動 -> linux-kernel起動 -> systemd起動 上記の流れの中で、ESPの内容を使用するのはUEFIであり 使用されるタイミングは上記①ではないかと思いました。 linux-kernel起動は、それよりあとであるため、linuxにとって ESPの内容は必要がない様に思われ、もしそうであれば linuxがESPをマウントする必要性も不明であるため、質問させて頂きました。 ご回答いただいた 「たしかにESPはLinuxの起動に必要なため/boot/efiにマウントされるのですが」 の情報からしますと、上記は理解が誤っておりlinux-kernel起動後に ESP内の情報が必要であり、linux-kernelは、linuxの起動のために ESPにアクセスしてその情報を取得するということになりますでしょうか? 頂きました情報から、「linuxの起動にはESPのマウントは不要であるが linuxからブート設定の変更を行うためにESPをマウントしている」という ことかもしれないと思い、これですと理解はしやすいのですが、そういうこと でしょうか? 可能でしたら、もう少し教えて頂けますと、大変に有難いです。 宜しくお願いいたします。

m m7jgc

2023/07/23 19:46

kz5835様 >頂きました情報から、「linuxの起動にはESPのマウントは不要であるが >linuxからブート設定の変更を行うためにESPをマウントしている」という >ことかもしれないと思い、これですと理解はしやすいのですが、そういうこと >でしょうか? はい、そうです。 回答がざっくりしていてすみませんでした。 起動プロセスにおいて、ESPの内容が使用されるのはUEFIがブートローダを読み込む時で、その後はまず使用されません。 しかし起動後にマウント状態が続くことは事実で、 それはカーネルやシステムソフトウェアの更新時とか、ブート設定の変更時などに ブートローダの設定も更新する必要がある(ESP上のファイルが更新される)ためのようです。

k kz5835

2023/07/23 22:01

m7jgc様 何度も解説して頂き、誠に有難うございます。おかげ様で、理解することができました。有難うございました。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?