如何判断Linux系统是UEFI/MBR?

问题描述

如何确定是否使用EFI /UEFI或BIOS引导了特定的正在运行的Ubuntu系统?

 

最佳解决办法

最简单的方法是检查/sys/firmware/efi是否存在。如果您使用传统BIOS启动,则不会显示。

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

 

次佳解决办法

Deprecated

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


很容易判断一个系统是否在EFI中启动(或者不是,在这种情况下,它必须是BIOS):

只需使用dmesg | grep "EFI v"

  • 如果系统从EFI启动,这将返回这样一行:[0.000000] American Megatrends的EFI v2.00

  • 如果不是,则不返回任何内容,在这种情况下,它是从BIOS启动的

基于grep退出代码的bash脚本使用示例:


...
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.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值