
この質問をしたきっかけこれは別の質問です存在するUbuntuに尋ねる。
私が尋ねる理由の1つはただの疑問です。私はこれについてもっと知りたいです。将来、その価値が何であれ、言葉です。
ただし、WTF
ユーザーとシステムに問題があるかどうかを知りたい場合は、ユーザーにプログラムを実行するように依頼することもできます。 ;-)
最初は、この情報を(または同様の)ツールで検出して報告できるかどうか疑問に思いましたdmidecode
。しかし、UEFI BIOS
aがaをシミュレートするとどうなりますかpre-UEFI BIOS
?
私はこの質問が時間が経つにつれてより興味深くなると思います。すべての主要なオペレーティングシステムの背後にある会社は合格に固執するようですEFI
。同じことも違います。」。<sigh/>
答え1
システムにUEFIファームウェアがある可能性がありますが、レガシーBIOSモードでオペレーティングシステムを起動できます。この場合、BIOSはUEFIと互換性がないため、ブートオペレーティングシステムはハードウェアが実際にUEFIをサポートしているかどうかを判断できません。
UEFIに関連するものがある場合でも、ファームウェアインターフェイスを表示できますが、ベンダーによって異なり、一貫性がありません。だからそこには明確な答えはありません。
x86(_64) カーネルが UEFI から起動されることを証明する正式な方法:
$ dmesg | grep 'EFI v'
[ 0.000000] efi: EFI v2.31 by EDK II
カーネルは次のメッセージを出力します。主なエントリポイントEFIブート。 UEFIによるカーネルの起動そして、もしそのようなニュースが存在します。
その他の情報コンテンツ:
$ dmesg | grep 'efi: mem'
[ 0.000000] efi: mem00: type=7, attr=0xf, range=[0x0000000000000000-0x00000000000a0000) (0MB)
...
これはEFIファームウェアからカーネルに渡されたメモリマップです。
$ ls -F /sys/firmware/efi
efivars/ systab vars/
これはEFI関連のカーネルABIです。efivars
(3.8+)であり、vars
EFI NVRAM用のカーネルABIなので、これを使用して起動オプションを変更できます。
しかし、これらの手がかりがないからといって、システムが単なるBIOSであることを証明することはできません。
経験的に、最近のラップトップにはUEFIファームウェアがあります。最新のサーバーがUEFIファームウェアに移行されています。
編集者:rEFIndの作者は次のとおりです。より徹底的な説明。ステップは同じです。
さらに、UbuntuのファームウェアテストスイートはUEFIファームウェアに以前のBIOSバージョンの互換性機能。 BIOSモードでUEFI対応ファームウェア起動を検出する問題は解決されません。
答え2
「BIOS」(実際にはEFI)を入力すると、起動可能な項目のリストの項目の1つが次のようになります。EFIブートプロンプト、UEFIシステムの場合。これはEFIシェルとも呼ばれます。これはUnixコマンドプロンプトの単純なバージョンと非常によく似ています。通常、スタートリストには表示したくありませんが、初期設定やトラブルシューティング中に便利です。
UEFIシステムはその機能なしで作成できると思いますが、EFIが提供するEFIの多くの要素を放棄することになります。