zomega Asked: 2023-12-13 01:39:37 +0800 CST2023-12-13 01:39:37 +0800 CST 2023-12-13 01:39:37 +0800 CST 使用reboot命令时如何选择冷重启和热重启? 772 维基百科区分了冷重启和热重启。 那么在Linux上使用reboot命令时如何选择热重启和冷重启呢? 编辑:维基百科提到了 Linux 上的第三种重启模式。那么这三种模式该如何选择呢? linux 2 个回答 Voted Best Answer Stephen Kitt 2023-12-13T01:53:51+08:002023-12-13T01:53:51+08:00 在 x86 上,还有更多的重启类型,在 Linux 上,您可以使用内核命令reboot行参数或/sys/kernel/reboot/mode和来选择它们/sys/kernel/reboot/type。reboot=cold并将reboot=warm分别选择冷重启和热重启(符合维基百科的定义);其他类型包括 ACPI、EFI 和三重故障。 kexec可以通过运行来调用“重新启动” systemctl kexec。 Marcus Müller 2023-12-13T01:56:29+08:002023-12-13T01:56:29+08:00 那么在Linux上使用reboot命令时如何选择热重启和冷重启呢? 不是以你想要的方式。您正在并且打算进行热重启。 请注意,任何描述您的 PC 上发生的情况(涉及 IBM PC)的文章目前在技术上很可能是不准确的。 在这种情况下,情况就是如此。IBM PC 上的情况与现在发生的事情关系不大(IBM PC 已经有 42 岁了)。至少从 ATX 出现以来,计算机就一直有持续运行的固件,那是近 30 年前的事了。因此,基本上,忽略其中所涉及的组件所写的内容: 您计算机的固件(与 BIOS 非常不同,BIOS 实际上是一个过时的 API,而不是实现它的软件,并且许多固件甚至不再模拟 BIOS,因此该文章的措辞非常不精确)当然会做一些自我-测试,无论您是从“断电”启动还是通过软件重新启动。 所以,忽略那篇维基百科文章。您可以在 Linux 源代码中看到在 x86 上启动重启的不同类型的方法;请注意,该方法不能真正强制固件执行不同的操作! 当 Linux 被指示重新启动时,PC 上会发生的情况是,所有服务都会停止,文件系统会被卸载,硬件会尽可能地被取消初始化,然后主板的固件会通过 ACPI 被告知它应该进行启动。 然后它做什么完全取决于固件。然而,我还没有看到它与正常启动时的效果有任何区别。通常,它甚至不会跳过耗时的内存检查! 所谓“第三种方法”,kexec确实有所不同。但你通常不能“选择”该方法,除非你真的知道你在做什么——它通常是在多阶段启动过程中完成的。 所发生的情况是kexec将新的内核映像复制到 RAM,设置寄存器和必要的硬件,然后跳转到新内核的入口点 - 这是引导加载程序 (GRUB) 或固件的 UEFI 实现会执行的操作。
在 x86 上,还有更多的重启类型,在 Linux 上,您可以使用内核命令
reboot
行参数或/sys/kernel/reboot/mode
和来选择它们/sys/kernel/reboot/type
。reboot=cold
并将reboot=warm
分别选择冷重启和热重启(符合维基百科的定义);其他类型包括 ACPI、EFI 和三重故障。kexec
可以通过运行来调用“重新启动”systemctl kexec
。不是以你想要的方式。您正在并且打算进行热重启。
请注意,任何描述您的 PC 上发生的情况(涉及 IBM PC)的文章目前在技术上很可能是不准确的。
在这种情况下,情况就是如此。IBM PC 上的情况与现在发生的事情关系不大(IBM PC 已经有 42 岁了)。至少从 ATX 出现以来,计算机就一直有持续运行的固件,那是近 30 年前的事了。因此,基本上,忽略其中所涉及的组件所写的内容:
您计算机的固件(与 BIOS 非常不同,BIOS 实际上是一个过时的 API,而不是实现它的软件,并且许多固件甚至不再模拟 BIOS,因此该文章的措辞非常不精确)当然会做一些自我-测试,无论您是从“断电”启动还是通过软件重新启动。
所以,忽略那篇维基百科文章。您可以在 Linux 源代码中看到在 x86 上启动重启的不同类型的方法;请注意,该方法不能真正强制固件执行不同的操作!
当 Linux 被指示重新启动时,PC 上会发生的情况是,所有服务都会停止,文件系统会被卸载,硬件会尽可能地被取消初始化,然后主板的固件会通过 ACPI 被告知它应该进行启动。
然后它做什么完全取决于固件。然而,我还没有看到它与正常启动时的效果有任何区别。通常,它甚至不会跳过耗时的内存检查!
所谓“第三种方法”,
kexec
确实有所不同。但你通常不能“选择”该方法,除非你真的知道你在做什么——它通常是在多阶段启动过程中完成的。所发生的情况是
kexec
将新的内核映像复制到 RAM,设置寄存器和必要的硬件,然后跳转到新内核的入口点 - 这是引导加载程序 (GRUB) 或固件的 UEFI 实现会执行的操作。