
一条命令进 BIOS 界面
最近做实验,需要频繁的进 BIOS 界面进行配置,但是不同品牌的电脑进入 BIOS 界面的按键通常都不一样,让人经常不知道按哪个键,而且有些时候 BIOS 启动界面一闪而过,所以经常还需要一通狂按键盘。
一个偶然的机会我发现 Windows 的 shutdown 命令具有重启电脑之后,让电脑停在 BIOS 界面的功能。具体命令如下:
shutdown /r /fw /t 0其实就是重启命令配合上 /fw 参数。

你在电脑上第一次执行这个命令大概率会出下面的错误,不过没关系,忽略这个错误,再把这个命令执行一遍就可以了,系统就会重启然后进入 BIOS 界面。



在 Linux 系统中也有类似的命令,可以让系统重启之后停在 BIOS 界面。比如在 Ubuntu 上我们可以使用下面的命令:
sudo systemctl reboot --firmware-setup效果如下:

电脑重启后就停在 BIOS 界面。

不管是 Windows 还是 Linux,一条命令引导系统重启之后直接进入 BIOS 界面的原理都是:操作系统在重启前,按照 UEFI 规范把一个“下一次别正常引导,进固件设置”的标志写入了主板上可掉电保存的 UEFI 变量区,然后做一次重启,BIOS 在再次接管系统时读到这个标志,就会把自己停在 Setup 界面。所以这类“一条命令进 BIOS”本质是 UEFI 的标准能力,你的电脑必须是 UEFI BIOS,并且开启了 UEFI 启动模式才有这种功能,传统的(Legacy)BIOS 没有这种能力。不过我感觉现在几乎所有的电脑都是支持 UEFI BIOS 的吧,所以这方面倒是不用太担心。
其实不仅仅是物理机可以这么做,即使在虚拟机(Qemu,VirtualBox)上也可以通过这种方式进入 BIOS。下面的动图是我在 VirtualBox 虚拟机中做实验的效果。

最后我们总结一下这种一条命令让系统进入 BIOS 界面的注意事项:
- 管理员权限:此命令需要在以管理员身份(Administrator/root)运行。
- UEFI 启动模式:此命令仅在电脑以 UEFI 模式启动时有效,如果你的电脑使用的是传统 BIOS(Legacy BIOS)模式,则可能不支持此命令。
- 固件支持:虽然目前大多数电脑都支持 UEFI BIOS,但极少数设备可能因固件限制而无法使用。
- 在 Windows 系统上第一次执行此命令会报错,再次执行通常都会让系统重启进入 BIOS。
好了,以后你就可以一条命令直通 BIOS 界面了,拒绝狂按键盘。