用扩展INT13H研析并恢复大容量硬盘分区信息链表
用扩展INT13H研析并恢复大容量硬盘分区信息链表
江西宜春学院计算机系 刘 健
内容摘要:本文利用扩展INT13H的磁盘地址数据包及相关调用,分析了整个分区链表并给出了链表中任一结点分区信息丢失或被破坏之后的一种恢复方法。
关键字:扩展INT13H、数据包、分区信息、链表、恢复
一、 扩展INT13H相关读写接口规范概述
扩展INT13H接口设计的目的是为了扩展BIOS的功能,使之能处理柱面数大于1024的硬盘,并支持移动存贮介质的锁定、解锁和弹出等各类新增功能。
1、 数据类型定义:
BYTE 一字节; WORD 二字节; DWORD 四字节; QWORD 八字节;
磁盘读写地址数据包DRWAP(Disk Read Write Address Packet),利用该数据包中断INT13H可以直接读写处理目前主流硬盘上的任一扇区,匆需理会传统磁盘概念中的通过柱面号、磁头号及扇区号(CHS)的物理扇区定位方式。
DRWAP结构如下:
Struct DRWAP
{ BYTE PacketSize;//数据包所占字节数,有10H和18H两种,本文用前者
BYTE Reserved;//保留字节,设为00H
WORD Blockcount;//传输的数据块个数(最大值为7FH),以扇区为单位
《用扩展INT13H研析并恢复大容量硬盘分区信息链表》