我的电脑如何知道在重新启动时要启动什么?

5 boot reboot bootloader power-management

很明显,我的 PC 上有一些引导扇区,其中包含带菜单的加载程序,它允许我选择要加载的操作系统。但是,我注意到在 Windows 重启或 Linux 挂起后,PC 没有显示这个菜单。失去所有 RAM 的 PC 如何决定绕过主引导并加载不同的东西?


根据我对POST 的了解:

在硬重启的情况下,北桥会将此代码获取(请求)定向到位于系统闪存上的 BIOS。对于热启动,BIOS 将位于 RAM 中的适当位置,北桥会将重置向量调用定向到 RAM。

我看到我的猜测是在重新启动时丢失 RAM 是错误的。

djs*_*ide 4

我只知道这在linux上是如何工作的,但我可以从grub的角度解释(Linux引导加载程序,其他可用)。

基本上,引导加载程序所做的第一件事就是检查它有哪些选项(它查看驱动器列表)。由此,它将看到休眠后,您的交换分区(同样,还有其他存储休眠数据的方法,但这是最简单的)包含数据,并且该数据实际上是休眠数据。

一旦看到这一点,它会立即启动任何存在的休眠数据,而不是显示启动菜单询问您希望启动哪个操作系统。

顺便说一句,即使找到休眠数据,我也让 Grub仍然显示启动菜单,并且我可以选择在没有它的情况下启动作为额外选项 - 如果您的恢复失败,您可能会看到这一点。