我想将一些非常大的程序变量卸载到内存中,然后卸载到磁盘文件中。确定FAT16驱动器中根目录的起始扇区
我已经阅读了INT 13H,CHS,MBR和文件分配表上的几十页,并且我学到了几乎所有我需要知道的内容, 除了我似乎无法找到工作方式计算根目录的起始扇区。
根据这一页,http://nerdclub-uk.blogspot.co.uk/2012/11/understanding-fat-tables.html,确定它 是相加那么简单的扇区偏移包含引导记录,保留扇区数,以及 部门在FAT的每个副本的数量。
检查我的引导扇区后,我插入了所有这些值,这就是我最终的结果。
1 + 1 +(2 * 256),其等于514
所以,我的根目录应在扇区开始偏移量514每缸扇区的最大数量是63。
514/63 = 8r10
所以,我的根目录应该在缸8部门10
然而,在该部门只是个零和它周围的所有部门。
显然我做的事情非常错误,但经过一天的谷歌搜索,我准备放弃。
好了,所以几个小时后,我现在已经解决了这个问题。我认为这些圆柱体组成了头,这就是我读过的所有网页描述它的方式,但在倾倒和分析整个磁盘映像后,我能够确定,实际上(在我的情况下)16个磁头组成一个圆筒。这是令人困惑和倒退,但无论如何。例如,磁头1的偏移量是分区中的63个扇区,而磁道1的偏移量是分区中的1008个扇区。我让他们逆转。 –