検索中ですが、システムの起動中にGRUBがUEFI、BIOS互換モード、またはBIOS全体を使用しているかどうかを知るための確実な方法が見つかりません。やっと見つけたウィンドウ方式。 GRUBまたはカーネルブートログにUEFI、EFI、またはBIOSを使用していることを知らせる内容はありますか?
答え1
最初の方法:
さて、確認するためにUEFIボックスを起動しました。最初の手がかりは上部近くにありますdmesg
。 BIOSから起動する場合は、このようなことは起こらないでください。
[ 0.000000] efi: EFI v2.31 by American Megatrends
[ 0.000000] efi: ACPI=0xd8769000 ACPI 2.0=0xd8769000 SMBIOS=0xd96d4a98
[ 0.000000] efi: mem00: type=6, attr=0x800000000000000f, range=[0x0000000000000000-0x0000000000001000) (0MB)
⋮
2番目の方法:
$ sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* debian
そうでない場合は、次のようになります。
$ sudo efibootmgr
EFI variables are not supported on this system.
efibootmgrパッケージをインストールする必要があります。 EFI変数を一覧表示することもできます。
$ efivar -l
... over 100 lines of output ...
3番目の方法:
以下があることを確認してください/boot/efi
。
$ df -h --local | grep /boot
/dev/sda2 229M 31M 187M 14% /boot
/dev/sda1 120M 250K 119M 1% /boot/efi
このパーティションにはUEFIブート用のファイルを含める必要があります。
これらの方法を使用しても関連項目が表示されない場合は、UEFIを使用していない可能性があります。
答え2
BIOSファームウェアではなくUEFIファームウェアから起動する場合、システムは次の場所でEFI NVRAM変数を使用できる必要があります。
/sys/firmware/efi/vars/
または
/sys/firmware/efi/efivars/
BIOS(またはUEFIファームウェアの場合はBIOSエミュレーションモード)を使用して起動するときは、これらの変数を使用できません。
実際に@Santropedroが指摘したように、
/sys/firmware/efi
BIOSを使用して起動すると、欠落していることを確認するのは簡単です。