Linux を実行する EC2 インスタンスが UEFI またはレガシー BIOS を使用して起動したか確認するにはどうすればよいですか?

最終更新日: 2020 年 10 月 8 日

Linux を実行している Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが UEFI またはレガシー BIOS を使用して起動したかを確認するにはどうすればよいですか?

簡単な説明

Unified Extensible Firmware Interface (UEFI) はレガシー BIOS ファームウェアを置き換えるために開発されたファームウェアの仕様です。この UEFI ファームウェアは、拡張子 .efi を持つ特殊な EFI バイナリファイルを実行して、ブートローダーまたはオペレーティングシステムをロードします。EC2 インスタンスは従来、レガシー BIOS モードを使用して起動します。ただし、ARM ベースの EC2 インスタンス (a1、c6g、m6g、r6g) は、新しい UEFI ファームウェアを使用して起動します。

UEFI の詳細については、uefi.org のウェブサイトにある Unified Extensible Firmware Interface Forum を参照してください。

解決方法

1.    SSH を使用して EC2 Linux インスタンスに接続します

2.    次のコマンドを実行して、/sys/firmware/efi ディレクトリが存在するか確認します。このディレクトリは、インスタンスが UEFI を使用して起動する場合のみ存在します。このディレクトリが存在しない場合、このコマンドは Legacy BIOS Boot Detected を返します 。

# [ -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

ARM ベース以外のインスタンスからの出力例 (t2/t3/m4/m5 インスタンスなど):

# [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
Legacy BIOS Boot Detected

3.    次のコマンドを実行して、EFI が dmesg 出力に表示されることを確認します。

# dmesg | grep -i "EFI"

出力例:

[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: EFI v2.70 by EDK II

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?