UEFIを搭載したPCでLinuxがCSM/レガシー/BIOSモードで起動しているかどうかを確認するには?

UEFIを搭載したPCでLinuxがCSM/レガシー/BIOSモードで起動しているかどうかを確認するには?

私はsshまだ誰も実際に触れたことのないコンピュータで作業しています。 2011年以降に生産されたPCとなっているから確かにUEFIがあります

問題は、Web上のすべての投稿がPCにUEFIまたはBIOSを持っているかどうかを確認することです(例:UEFIで起動するかどうかはどうすればわかりますか?)、今すぐいいえ私が知りたいことは何ですか?

 

私の質問は簡単です。:コンピュータであることを確認する方法そしてUEFI、始めるCSM/レガシー/BIOSモードを有効にしますか?

 

アップデート1:UEFIかどうかを知る方法はいくつかありますが、すべて矛盾しているので、どちらも確かにわかりません。

詳細:

  • ドライブはMBRです。
  • ESPパーティションの痕跡はまったくありません(fstabなど)。
  • /bootEFIファイルがまったく開かない。
  • cat /sys/firmware/efi/fw_platform_size与えられた64場合、CSMモードの他のコンピュータではまったく機能しません。
  • update-grubジュンAdding boot menu entry for EFI firmware configuration
  • efibootmgrUEFIが利用可能になったときに一般的に表示される起動順序を教えてくれました。

答え1

システムが実際にBIOS / CSMではなくEUFIモードで起動するという兆候は見つかりませんでしたがdmesg、これを確実に確認する1つの方法は次のとおりです。

sudo efibootmgr苦情がある場合は、実行してからEFI variables are not supported on this system試してくださいsudo mount -t efivarfs none /sys/firmware/efi/efivars

成功すると、次の内容が表示されます。

$ sudo efibootmgr 
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0001,0003,0004
Boot0000* Windows Boot Manager
Boot0001* UEFI:CD/DVD Drive
Boot0002* Fedora
Boot0003* UEFI:Removable Device
Boot0004* UEFI:Network Device

これはありません。

# show the bitness of the internal EFI firmware
cat /sys/firmware/efi/fw_platform_size

それで十分だと思います。

答え2

試してみるのが合理的なようです。

dmesg | grep efi:これにより、合理的な結果が得られます。EFI始めます。

答え3

ディレクトリが存在する場合、/sys/firmware/efi/ファームウェアはUEFIランタイムサービスをカーネルに提供したことを意味し、これは必ずUEFIモードで起動したことを意味します。

システムがCSM(BIOS互換モード)で起動すると、UEFIプログラミングインターフェイス(UEFIランタイムサービスを含む)はカーネルで利用できず、/sys/firmware/efi存在しません。

答え4

dmesg | grep efi:EFIブートに適した出力が生成されます。

最近起動した場合にのみ該当します。バッファdmesgサイズは限られており、しばらく実行されたサーバーは起動時にメッセージをすばやく循環させます。

関連情報