Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスが UEFI から起動したか、レガシー BIOS から起動したかを確認したいです。
簡単な説明
統合拡張ファームウェアインターフェイス (UEFI) はファームウェアの仕様です。これはレガシー BIOS ファームウェアの新しい代替品です。UEFI ファームウェアは、.efi 拡張子の付いた特別な EFI バイナリファイルを実行して、ブートローダーまたはオペレーティングシステムをロードします。EC2 インスタンスは従来、レガシー BIOS モードで起動します。ただし、ARM ベースの EC2 インスタンス (a1、c6g、m6g、および r6g) は、新しい UEFI ファームウェアで起動します。
UEFI の詳細については、UEFI ウェブサイトの「統合拡張ファームウェアインターフェイスフォーラム」をご参照ください。
解決策
-
SSH を使用して EC2 Linux インスタンスに接続します。
-
/sys/firmware/efi ディレクトリの存在を確認するには、次のコマンドを実行します。このディレクトリは、インスタンスが UEFI を使用して起動する場合にのみ存在します。このディレクトリが存在しない場合、コマンドは「レガシー BIOS ブートが検出されました」を返します。
# [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
m6g インスタンスからの出力例を次に示します。
# [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
UEFI Boot Detected
t2、t3、m4、m5 インスタンスなど、ARM 以外のインスタンスからの出力の例を次に示します。
# [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
Legacy BIOS Boot Detected
-
EFI が dmesg 出力に表示されていることを確認します。
# dmesg | grep -i "EFI"
出力例は以下に示しています。
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: EFI v2.70 by EDK II