从过去的一周开始,我很困惑的问题是,当第二阶段处于复杂的文件系统时,grub第一阶段启动加载器(仅446字节)如何能够搜索第二阶段!它如何定位第二阶段?
当windows和linux的复杂分区方案到位,并且linux系统完全在扩展分区中时,第1阶段如何找到第2阶段?即使是1.5阶段?
所有grub教程都浏览了这个重要部分.我通过互联网搜索但找不到任何解释这个的东西.可悲的是,我不是集会程序员.
我想要了解启动过程中硬盘的哪些扇区(以及大致如何)的复杂启动过程. *请指出一个很好的资源或在这里回答.它将极大地帮助我明智地玩grub.*
搜索的一些资源:
> Linux如何工作:Brian Ward应该知道每个超级用户应该知道什么
> http://www.dedoimedo.com/computers/grub.html
>一些过去的stackoverflow问题.
最佳答案
阶段1“知道”阶段2在嵌入其中的块列表加载表中的条目.它从启动驱动器加载块列表,然后以16位实模式跳转到指定的CS:IP.这些在嵌入数据页面中描述.它向BIOS查询磁盘几何,并将线性块编号映射到INT 13h BIOS接口使用的C:H:S地址.
原文链接:https://www.f2er.com/linux/440353.htmlhttp://www.uruk.org/orig-grub/technical.html
新磁盘对齐的时间也很长,MBR和第一个分区之间的未分配空间不到1-2 MB,而且阶段2有时会卡在那里.