如何从终端正确重启至 BIOS?

如何从终端正确重启至 BIOS?

现在systemd接管服务管理,电源控制程序是链接到systemctl

chezmoi# ls -l /sbin | grep systemctl

lrwxrwxrwx  1 root root 14 Jul 19 08:56 halt -> /bin/systemctl*
lrwxrwxrwx  1 root root 14 Jul 19 08:56 poweroff -> /bin/systemctl*
lrwxrwxrwx  1 root root 14 Jul 19 08:56 reboot -> /bin/systemctl*
lrwxrwxrwx  1 root root 14 Jul 19 08:56 runlevel -> /bin/systemctl*
lrwxrwxrwx  1 root root 14 Jul 19 08:56 shutdown -> /bin/systemctl*
lrwxrwxrwx  1 root root 14 Jul 19 08:56 telinit -> /bin/systemctl*

该命令reboot将特别关闭所有服务以便稍后重新启动它们,但不会像以前那样进行热机器重启init

  • 有没有办法从命令行重新启动到 BIOS?

也可能是我很久以前设置过但后来我忘记了...

使用 Ubuntu 16.04

编辑:

  • 执行 后reboot,桌面会话结束,Ubuntu 启动画面出现并运行几秒钟,然后偷偷出现 3 行:“kdump loaded”,“kdump unloaded”,“Starting new kernel”,然后返回到登录页面。

  • reboot在终端执行命令时会发生这种情况,因为root

答案1

重新启动并直接进入 UEFI/BIOS 设置

sudo systemctl reboot --firmware-setup

这仅适用于运行 systemd init system ( cat /proc/1/comm) 的系统。

来源文档

答案2

sudo shutdown -r now

该选项-r指定重新启动。
该选项now可以用分钟数替换;例如+5

答案3

那将是reboot

重新启动将关闭所有程序,并且在系统自动关闭的那一刻(使用“停止”或“关机”而不是“重新启动”时),它将再次开始启动。

然后系统将显示您的系统徽标(此时您可以按下需要按的键进入 BIOS)、grub,最后显示 Ubuntu 登录和桌面。

但不需要像在 init 时代那样进行热机器重启。

我不明白这部分(除非你改变了默认设置(?))使用 systemd 重新启动是“热启动”;它类似于 init 时代所做的。

答案4

当时(Ubuntu 16.04),似乎唯一能够正确重启到 BIOS 的方法是

reboot -f

有所-f不同;从男人

-f,--force
强制立即停止、关机或重启。指定一次后,系统管理员会立即彻底关闭系统。指定两次后,系统会立即关闭,无需联系系统管理员。有关更多详细信息,请参阅 systemctl(1) 中 --force 的描述。

相关内容