Operating system 操作系统引导过程

Operating system 操作系统引导过程,operating-system,boot,bootstrapping,Operating System,Boot,Bootstrapping,我试图了解操作系统引导过程。有些问题我不清楚。 其中之一是: 卷引导记录中的引导代码如何知道卷引导记录所在区域0扇区的绝对LBA地址?VBR中有一个称为a的结构,以BIOS命名,是传统MS-DOS内核结构的下半部分。在BIOS参数块中,分区和包含它的MBR样式分区表条目之间。VBR代码只是从自身读取该字段,并将其添加到卷相对块地址,以生成要从光盘读取的LBA 这就是为什么在没有帮助的情况下,无法直接从辅助分区引导操作系统,如Windows NT、MS/PC/DR-DOS和OS/2。在主分区中,B

我试图了解操作系统引导过程。有些问题我不清楚。 其中之一是:
卷引导记录中的引导代码如何知道卷引导记录所在区域0扇区的绝对LBA地址?

VBR中有一个称为a的结构,以BIOS命名,是传统MS-DOS内核结构的下半部分。在BIOS参数块中,分区和包含它的MBR样式分区表条目之间。VBR代码只是从自身读取该字段,并将其添加到卷相对块地址,以生成要从光盘读取的LBA

这就是为什么在没有帮助的情况下,无法直接从辅助分区引导操作系统,如Windows NT、MS/PC/DR-DOS和OS/2。在主分区中,BPB字段只是卷开始的开始LBA,因为它所涉及的分区表是磁盘块0中的主MBR,并且一切正常。在辅助分区中,由于MS-DOS版本3的一个怪癖,从那以后每个人都必须保持兼容,因此BPB字段只是包含它的扩展分区中逻辑驱动器的偏移量,引导代码不起作用,因为它在磁盘上的完全错误的位置查找其余部分


通过动态安装BPB提供帮助。当然,VBR代码读取的是其自身的内存副本,而不是光盘副本。因此,引导管理器在将VBR加载到内存中时,只需将辅助分区的BPB字段调整为正确的绝对值。然后一切正常。

有什么不能令人满意地解释的吗?也许您可以更具体一点?您的意思是“主引导记录知道卷引导记录所在分区的0扇区的绝对LBA地址”吗?EFraim,我知道MBR代码在分区表中搜索可引导分区的0扇区的LBA地址,并加载和运行卷引导记录代码。但卷引导记录代码必须在卷文件系统的根目录中找到osloader文件。但要在内存中加载文件并运行它,您必须知道绝对LBA地址。正如我所知,FATBPB只存储一定数量的扇区,所有结构都有相对地址。