无需通过 BIOS POST 即可重新启动 Ubuntu

无需通过 BIOS POST 即可重新启动 Ubuntu

有时我需要重新启动我的 Ubuntu 机器,但又不想通过 BIOS 和 Grub。我记得在 Windows 中,我们只需按住 Shift 键并单击重新启动,然后在 Ubuntu 中尝试相同的过程,但不会成功。

答案1

在标准 x86 PC 上,地址 0x472 控制是否进行冷重启或热重启。通过向此地址写入 0x1234,BIOS 应该进行热重启,如果向此地址写入零,则将进行冷重启。

这可以通过内核参数 reboot=w(暖)或 reboot=c(冷)来控制。因此,使用 sudo 和您最喜欢的编辑器,编辑/etc/default/grub并更改

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=w"

并保存。然后运行:

sudo update-grub

然后重启。希望你从现在开始可以进行热重启。我还没有测试过,但是内核中有支持此功能的代码,请参阅arch/x86/kernel/reboot.c内核源代码以及如何reboot_type控制重启。

答案2

您可以尝试一下 kexec-tools (http://en.wikipedia.org/wiki/Kexec)通过使用

sudo apt-get install kexec-tools

并允许他们在安装时处理重启。尝试重启,如果您的机器没有问题,您就可以开始了。

相关内容