特定の実行中のUbuntuシステムがEFI / UEFIまたはBIOSを使用して起動されたかどうかを確認するにはどうすればよいですか?
興味深い質問。正確なduではありませんが、同様の質問に対する回答をここで試してください。
—
トム・ブロスマン
特定の実行中のUbuntuシステムがEFI / UEFIまたはBIOSを使用して起動されたかどうかを確認するにはどうすればよいですか?
回答:
最も簡単な方法は、/sys/firmware/efi
存在するかどうかを確認することです。従来のBIOSを使用して起動した場合は表示されません。
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
非推奨
以下の答えは、常に機能するとは限らない方法です。
代わりに、に基づいてコリンの答えを使用してください/sys/firmware/efi
。
システムがEFIでブートされたかどうかを知るのは非常に簡単です(そうでない場合はBIOS でなければなりません)。
ただ使う dmesg | grep "EFI v"
システムがEFIから起動された場合、これは次のような行を返します。
[0.000000] American MegatrendsによるEFI v2.00
そうでない場合は何も返さず、その場合はBIOSから起動されました
... dmesg | grep -q "EFI v"#-q grepに何も出力しないように指示する if [$?-eq 0]#終了コードを確認します。0 EFIの場合、BIOS それから echo "EFIブートを使用しています。" 他に echo "BIOSブートを使用しています" fi ...
出典:EFIシステムがレガシーBIOSエミュレーションを使用しているかどうかを判断する方法、およびEFIとEFIの互換性のテストに関する詳細、および多くのEFIベンダー/バージョンの文字列については、次のページを参照してください。 Ubuntu Developer Summit for Precise。
if dmesg | grep -Fq "EFI v"; then ...
ます。[
成功/失敗をテストするためだけに、コマンドを追加で実行しても意味がありません。$?
主に特定のエラーをチェックするのに役立ちます。