如何确定是否使用EFI / UEFI或BIOS引导了正在运行的特定Ubuntu系统?
有趣的问题。并非完全正确,但请在此处尝试回答类似问题。
—
汤姆·布鲁斯曼
如何确定是否使用EFI / UEFI或BIOS引导了正在运行的特定Ubuntu系统?
Answers:
最简单的方法是检查是否/sys/firmware/efi
存在。如果使用传统的BIOS引导,则不会出现。
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
不推荐使用
下面的答案是一种可能并不总是有效的方法。
而是使用基于的Colin答案/sys/firmware/efi
。
判断系统是否在EFI中启动非常容易(或者,如果不是,则必须是BIOS):
只需使用 dmesg | grep "EFI v"
如果系统是从EFI引导的,这将返回如下代码:
[0.000000] American Megatrends的EFI v2.00
如果不是,则不返回任何内容,在这种情况下,它是从BIOS启动的
... dmesg | grep -q“ EFI v”#-q告诉grep不输出任何内容 如果[$?-eq 0]#检查退出代码;如果为0 EFI,则为BIOS 然后 echo“您正在使用EFI引导。” 其他 回声“您正在使用BIOS引导” 科幻 ...
资料来源:如何确定是否EFI系统使用的是旧式BIOS仿真与否,以及对测试EFI和EFI兼容性的详细信息与字符串一批电喷供应商/版本一起,请参阅此页Ubuntu精确开发者峰会。
if dmesg | grep -Fq "EFI v"; then ...
。[
另外,仅运行测试命令是否成功就没有意义。$?
主要用于检查特定错误。