有时我需要重新启动我的 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
并允许他们在安装时处理重启。尝试重启,如果您的机器没有问题,您就可以开始了。