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