从上周开始,我感到困惑的问题是,当第二阶段位于复杂的文件系统中时,只有446个字节的grub第一阶段引导加载程序如何能够搜索第二阶段!如何定位第二阶段?

当Windows和Linux的复杂分区方案到位,并且linux系统完全在扩展分区中时,阶段1如何找到阶段2?甚至1.5阶段?

所有grub教程都将跳过这一重要部分。我通过互联网进行了搜索,但是找不到任何可以解释这一点的信息。可悲的是,我不是汇编程序员。

我想从启动过程中对硬盘的哪些扇区进行勾号(以及大致如何)方面来了解启动过程。 *请为我指出一个好的资源或在此处回答。 这将极大地帮助我明智地使用grub。*

搜索了一些资源:

  • Linux的工作原理:每个 super 用户应该由Brian Ward知道些什么
  • http://www.dedoimedo.com/computers/grub.html
  • 一些过去的stackoverflow问题。
  • 最佳答案

    第1阶段“知道”第2阶段是按嵌入在其中的阻止列表加载表中的条目进行的。它从启动驱动器中加载块列表,然后以16位实模式跳转到指定的CS:IP。这些在嵌入式数据页面中进行了描述。它在BIOS中查询磁盘的几何形状,并将线性块号映射到INT 13h BIOS接口(interface)使用的C:H:S地址。

    http://www.uruk.org/orig-grub/technical.html

    新磁盘对齐还需要花费很多时间,MBR和第一个分区之间只有不到1-2 MB的未分配空间,并且阶段2有时会卡在其中。

    10-05 22:49
    查看更多