用扩展INT13H研析并恢复大容量硬盘分区信息链表
DORD TransferBuffer;//传输缓冲区地址(SEG:OFFSET)
本文链接地址:http://www.oyaya.net/fanwen/view/143594.html
QORD AbsoluteBlockNumber;//磁盘起始绝对扇区号(主引导扇区为0号)
}
AbsoluteBlockNumber与传统CHS的关系如下:
AbsoluteBlockNumber=(Cylinder*NumHeads+Head)*SectorPerTrack+Sector-1
DRWAP数据包的获取及实际操作
2、 定义磁盘读写地址数据包获取指定扇区之内容
入口参数:AH=42H; DL=80H; DS:SI=DRWAP首地址
出口参数:CF=NC OK;CF=CY ERROR
二、分区信息链表解析
读取主引导扇区操作过程:(为操作的连续性,本文不采用传统INT13H的功能号02)磁盘读写地址数据包按如下方式定义:
进入DEBUG状态之后,DS和SI采用当前默认值,假设为DS=1216,SI=0000 则E命令或F命令从1216:0000处输入以下16个字节内容
1216:0000 10 00 01 00 00 02 16 12-00 00 00 00 00 00 00
00
数据包长度=10H=16个字节 保留字节=00H 要传输的扇区个数=0001H=1个
缓冲区地址DS:SI=1216:0200 磁盘起始绝对扇区号=0000000000000000H=0号
-A100
《用扩展INT13H研析并恢复大容量硬盘分区信息链表(第2页)》