助け合いフォーラム

LinuC

LinuC Lv1-101(Ver10.0)
問題ID : 14896
問題を開く
UEFIの特徴として正しいものはどれか(2つ選択)

正解

3TB以上のHDDからの起動をサポートする

GUIでの操作が可能となる

解説

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

また、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形式のハードディスクからの起動は可能です。

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

したがって正解は
・3TB以上のHDDからの起動をサポートする
・GUIでの操作が可能となる
です。

その他の選択肢については以下の通りです。
・搭載可能メモリの上限がなくなる
搭載可能メモリはメモリコントローラーが管理します。UEFIになることで上限がなくなることはありませんので、誤りです。

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

・USBメモリからの起動が可能になる
BIOSでもUSBメモリからの起動は可能です。UEFIの特徴というわけではないため、誤りです。

参考

一般的なLinuxシステムでは、BIOS、ブートローダ、カーネル、initの順にブートプロセスが進行します。

それぞれの役割と、各段階の詳細は以下のとおりです。
この知識は、OS起動に失敗する場合の問題特定の際にも重要なので、自分で順を追って説明できるようにしておきましょう。

・BIOS(Basic I/O System)
最もハードウェアに近い部分を司るシステムで、物理的なハードウェア(マザーボード)上に書き込まれています。
コンピュータの電源を入れると、まずBIOSが起動し、記憶装置(HDD)等に関して最低限の認識をして起動デバイスの優先順位を決定します。その後、優先順位に従って各デバイスの先頭セクタにあるMBR(ブート用の特殊領域。ブートローダが格納されている)を読み込み、得られたブートローダに制御を移します。ブートローダが得られない場合は次のデバイスのMBRを読み込みます。
起動デバイスの優先順位は、BIOSセットアップ画面で任意の順序に設定変更できます。BIOSセットアップ画面はコンピュータの起動時に特定のキー(DEL、F2など)を押すことで呼び出せます。
最近のシステムではUEFI(Unified Extensible Firmware Interface)への移行が進んでいます。

・ブートローダ
LinuxシステムではGRUBが該当します。
MBRに格納されている第一段階部分と、記憶装置内の別の場所に格納されている第二段階部分があります。
このように分かれている理由は、MBRには厳しいサイズ制限があるためです。
ブートローダは記憶装置内のカーネルをロードし、カーネルに制御を移す役割を果たします。
第一段階のブートローダはMBRの先頭446バイトの領域にインストールされます。


・カーネル
カーネルは起動されると、高度にハードウェアを認識・制御し、ルートファイルシステムのマウントなど様々な初期化処理を行います。
ブートローダはカーネルと初期RAMディスク(initramfs)の内容をメモリ上に展開し、カーネルはメモリ上に展開された初期RAMディスク内の、ファイルシステムへアクセスするために必要なドライバやスクリプトを使用してルートファイルシステムをマウントします。その後、initという特別な最初のプロセスをルートファイルシステムから起動します。
カーネルイメージと、カーネルのバージョンに対応する初期RAMディスクは「/boot」ディレクトリに格納されます。初期RAMディスクは展開してイメージ内のディレクトリ、ファイルを参照することができます。

・init
最初に起動されるプロセスで、PID(プロセス ID)は必ず1です。「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、「/sbin/init」が起動されます。
initプロセスは設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。
以降、initプロセスは全てのプロセスの先祖(直接・間接的な呼び出し元)として存在し続けます。
なお、最近のシステムではinitプログラムとして、初期化処理を高速化したUpstartやsystemdを採用している場合があります。その場合は基本的に「/etc/inittab」ファイルは使用されません。
上に戻る

選択肢の日本語について

公開日 2024/09/21

問題ID:14896より、UEFIの特徴として「3TB以上のHDDからの起動をサポートする」が正解とのことですが、これは逆に3TBより下の容量だとUEFIをサポートしなくなるということでしょうか?

2024/09/22 13:12

「3TB以上のHDDからの起動をサポートする」としているのは、UEFIがBIOSと比較して大容量HDDをサポートできるという利点を強調しているのでしょう。
「大は小を兼ねる」で、BIOSのサポート範囲0~2.2TBももちろんサポートしているし、それより大きい容量もサポートしています。

日本語としては、
「3TB以上のHDDからの起動をサポートする」という選択肢は、「3TB以上のHDD」にしか言及していませんから、
その他の場合について必ずしも逆(サポートしない)を意味するものではない、のだと思います。
この文では3TB未満のHDDについては何も言及されておらず、サポートするかしないかの情報が含まれていません。


コメント

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

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