首页 > 解决方案 > 操作系统在硬盘的什么位置

问题描述

当我们将操作系统安装到硬盘中时,它在硬盘中的位置。它是预先确定的某个位置,还是操作系统位于任意位置。引导扇区如何找到操作系统并将其加载到 RAM 中,以便正常开始执行。

标签: memorymemory-managementoperating-system

解决方案


引导扇区如何找到操作系统并将其加载到 RAM 中,以便正常开始执行。

当处理器启动时,它开始在 BIOS 中的给定位置执行代码。此代码包含安全检查(开机自检),然后它在内存中的某个位置读取到例程以了解它将从哪个设备启动,并从该“磁盘”读取第一个扇区(512 字节)。

这个扇区被称为“主引导记录”,它包含一些代码(在 PC 上约为 440 字节)和磁盘分区的描述。实际代码取决于底层操作系统。在windows上,主要描述了可以在哪个“活动分区”上找到系统。在 linux 上,有一个更复杂的代码由引导加载程序作为 grub 执行,以引导不同的系统,但它以获取系统所在分区的编号结束。这通常被称为引导过程的“第一阶段”。

然后,一旦识别出系统分区,就读取该分区(“第二阶段”)的引导扇区(前 512 个字节)。此引导加载程序的代码包含一个简化的操作系统,该操作系统具有读取与操作系统文件系统相关的磁盘内容的方法。这样,它可以从磁盘读取文件。通常,有一个配置文件(grub.conf 用于 grub 或 Windows 中的 boot.ini)给出了要加载的系统的指令和文件名。

因此,引导加载程序读取配置文件,找到包含操作系统的文件,从磁盘读取它并将其加载到内存中。然后处理器可以开始执行系统。

当我们将操作系统安装到硬盘中时,它在硬盘中的位置。它是预先确定的某个位置,还是操作系统位于任意位置。

如您所见,系统位于磁盘上或多或少的任意位置,但在固定位置(磁盘及其分区的引导扇区)有用于读取磁盘和访问系统的程序。您可以在例如 https://en.wikipedia.org/wiki/Booting中找到更多详细信息。


推荐阅读