Celeb Glow
news | March 27, 2026

How can I tell if my system was booted as EFI/UEFI or BIOS?

How do I determine whether a particular running Ubuntu system was booted using EFI/UEFI, or BIOS?

2

3 Answers

The easiest way is to check to see if /sys/firmware/efi exists. It does not appear if you booted using traditional BIOS.

#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
4

Deprecated

The answer below is a method that may not always work.
Instead use Colin's answer based on /sys/firmware/efi.


It's very easy to tell if a system was booted in EFI (or not, in which case it must be BIOS):

Just use dmesg | grep "EFI v"

  • This will return a line like this, if the system was booted off of EFI:

    [ 0.000000] EFI v2.00 by American Megatrends
  • Or return nothing if it was not, in which case it was booted off of BIOS

Example of bash script usage based on grep's exit code:

...
dmesg | grep -q "EFI v" # -q tell grep to output nothing
if [ $? -eq 0 ] # check exit code; if 0 EFI, else BIOS
then echo "You are using EFI boot." else echo "You are using BIOS boot"
fi
...

Source: For how to determine if an EFI system is using legacy-BIOS emulation or not, as well as more information on testing for EFI and EFI compatibility, along with the strings for a number of EFI vendors/versions, please see this page from the Ubuntu Developer Summit for Precise.

8

Python code to check if system is booted with UEFI or ROM BIOS:

import os,sys
def main(): if(os.path.exists("/sys/firmware/efi")): print"\n\n System is booted with uefi!" else: print"\n\n System is booted with rom bios"
main()
sys.exit(0)
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy