获取“dd”创建的软盘映像中的磁道和扇区的位置

获取“dd”创建的软盘映像中的磁道和扇区的位置

我得到了一些使用 *nix 命令创建的软盘映像(原始 DOS 6.22 和 FreeDOS 1.44 MB 启动盘),dd它们在虚拟环境中使用时可以正常工作。

现在我想了解这些文件的结构。

据我所知,1.44 MB 软盘有80 首曲目,每条轨道都有18 个部门每个部门包括512 字节。乘以这个数字得到大约 0.7MB,这正好是双方

0 号轨道 2 扇区 2 头的位置是 9728(或 0x2600) - 这是 DOS 6.22 引导加载程序从磁盘获取的第一个扇区。但是这个位置是如何计算出来的呢?

我如何获得这些值?我使用模拟器逐步执行引导加载程序。第一次软盘访问是通过调用中断 013h 完成的,其中 AH = 2(从软盘读取)、AL = 1(读取一个扇区)、CH = 0(从磁道 0 读取)、CL = 2(从扇区 2 读取)和 DH = 1(使用磁头 1 = 使用第二面)。此调用使模拟器加载从位置 9728 开始的字节。

除扇区号(以 1 为基数)之外的每个寄存器值都是以 0 为基数。

提前致谢!

答案1

我自己找到了答案。该文件的结构如下左心室射血分数格式,可以很容易地从中枢性高血压我得到的价值观:

LBA = (柱面 * 磁头数量 + 磁头) * 每磁道扇区数 + 扇区 - 1

= (0 * 2 + 1) * 18 + 2 - 1 = 19

19 * 每扇区字节数 = 19 * 512 =9728

相关内容