My inspiration for asking this is this other question on Ask Ubuntu.One reason I am asking is that I am just curious. I would like to know more about this for whatever value it might have in the future. But I would also like to know so that I have a procedure I can ask a user to perform when I am wondering WTF might be up with them and their system. ;-)Initially I wondered if this information might be detected and reported by a tool such as (or similar to) dmidecode. But what would happen when a UEFI BIOS is simulating a pre-UEFI BIOS?I expect this question will only become more interesting as time passes. It appears that the companies behind each of the major operating systems will insist on implementing EFI support by doing the same thing only different. <sigh/>
Is there a command or method (other than RTFM) to determine if a system has a UEFI BIOS?
x86;system information;bios;uefi
A system can have a UEFI firmware and still boot OS in legacy BIOS mode. In that situation there is no way for the booted OS to determine if the hardware is actually capable of UEFI, because BIOS isn't forward compatible with UEFI.You can still look at firmware interface if anything is related to UEFI, but that is vendor specific and inconsistent. So there is also no definite answer from that side.The canonical method to prove your x86(_64) kernel is booted from UEFI:    $ dmesg | grep 'EFI v'    [    0.000000] efi: EFI v2.31 by EDK IIThe kernel will print such message at the main entry point of EFI boot. The kernel is booted with UEFI if and only if such message exists.Other informative stuff:    $ dmesg | grep 'efi: mem'    [    0.000000] efi: mem00: type=7, attr=0xf, range=[0x0000000000000000-0x00000000000a0000) (0MB)    ...This is the memory map passed from EFI firmware to the kernel.    $ ls -F /sys/firmware/efi    efivars/  systab  vars/These are kernel ABI's related to EFI. efivars (3.8+) and vars are kernel ABI to the EFI NVRAM so you can change boot options with them.But lack of these clues does not prove the system is BIOS only.Empirically, recent laptops all have UEFI firmware. Latest servers are migrating to UEFI firmware.Edit:The author of rEFInd has a more thorough explanation. Steps are the same.Also, Firmware Test Suite from Ubuntu might detect whether your UEFI firmware has a compatibility feature for legacy BIOS. Although it doesn't solve the problem of detecting UEFI capable firmware booting in BIOS mode.