分区用扩展INT13H研析并恢复大容量硬盘分区信息链表

大硬盘分区  时间:2021-01-09  阅读:()

用扩展INT13H研析并恢复大容量硬盘分区信息链表

内容摘要本文利用扩展INT13H的磁盘地址数据包及相关调用分析了整个分区链表并给出了链表中任一结点分区信息丢失或被破坏之后的一种恢复方法。

;

关键字扩展INT13H、数据包、分区信息、链表、恢复

;

一、 ;扩展IN T13 H相关读写接口规范概述

扩展INT13H接口设计的目的是为了扩展BIOS的功能使之能处理柱面数大于1024的硬盘并支持移动存贮介质的锁定、解锁和弹出等各类新增功能。

1、 ;数据类型定义

BYTE一字节 ;WO RD二字节 ;DWO RD;四字节 QWORD;八字节

磁盘读写地址数据包DRW AP D isk;Read;Wr ite;Addre s s;P ack et 利用该数据包中断INT13H可以直接读写处理目前主流硬盘上的任一扇区匆需理会传统磁盘概念中的通过柱面号、磁头号及扇区号CHS的扇区定位方式。

DRW AP结构如下:

Struct;DRWAP

{BYTE P acketS ize;//数据包所占字节数有10H和18H两种本文用前者

;BYTE Reserved;//保留字节设为00H

WORD;Blockcount;//传输的数据块个数最大值为7FH  以扇区为单位

DORD;Trans ferBuffer;//传输缓冲区地址S EG OFFS ET

Q ORD;Ab so luteB lockNumber;//磁盘起始绝对扇区号主引导扇区为0号

}

Abso luteB lockN umber与传统CHS的关系如下

Abso luteB lockN umber= Cylinde r*NumHead s+Head

*S ectorPerTra ck+S ector-1

DRW AP数据包的获取及实际操作

2、 ;定义磁盘读写地址数据包获取指定扇区之内容

入口参数 AH=42HDL=80HDS:SI=DRWAP首地址

出口参数 CF=NC;OK CF=CY;ERROR

;

二、分区信息链表解析;

读取主引导扇区操作过程 为操作的连续性本文不采用传统INT13H的功能号02磁盘读写地址数据包按如下方式定义

进入DEBUG状态之后DS和SI采用当前默认值假设为DS=1216 SI=0000则E命令或F命令从1216:0000处输入以下16个字节内容

1216:0000;1000010000021612-0000000000000000

;数据包长度=10H=16个字节保留字节=00H;要传输的扇区个数=0001H=1个

;缓冲区地址DS:SI=1216:0200;磁盘起始绝对扇区号=0000000000000000H=0

-A100

1216:0100;MOV;AH,42

;MOV;DL,80

;INT 13

;INT 3

-G=100

-D3BE

8001

;1216:03B001000BFE BF D93F 00-00001BF2 B2000000

:03C081 DA 0F FEFF FF 5AF2-B2003EDE E0020000

从上述内容可知

C区的起始点为0柱1头1扇 即磁盘起始绝对扇区0号

C区的结束点为729柱254头63扇并隐含了63个扇区

C区共占用了00B2F21BH个扇区约为5.58GB。

整个扩展分区的起点为730柱0头1扇其结束点由于柱面号已大大的大于

1024而10位二进制数已不能表达所以其结束点一律记为254头1023柱63扇,即;FE;FF;FF.

整个扩展分区本身占用02E0DE3 EH扇区 5A;F2;B2;00;为扩展分区前所用扇区数 即C区所用和隐含部分00B2F21BH+0000003FH=00B2F25AH

;

读取D盘分区信息表

从前面可知D盘之前已用00B2F25AH,由于起始绝对扇区号为零因此D盘的入口地址为 00B2F25AH,所以磁盘读写地址数据包修改如下

DS:0000; 1000010000021612-5A F2 B20000000000

-G=100

-D3BE ds:3B0;0001

; :3C0;81 DA0BFEFF FF 3F 00-00001BF2 B2000000

; :3D0;C1 FF 05 FE FF FF 5A F2-B20054 DA D000

逻辑D盘的起点为730柱1头1扇 0头所含63扇隐含

逻辑D盘的结束点由于柱面数超过1024一律记为FE FF FF此后的逻辑盘结束点也一样。

逻辑D盘自用00B2F21 BH扇

后一分区表项记录的是逻辑E盘的相关数据

逻辑E盘的起点由于柱面数超过1024一律记为00 C1 FF,结束点为FEFF FF.

逻辑E盘之前已用的扩展分区扇数00B2F21BH+0000003FH=00B2F25AH即D 盘所用和D盘前隐含的部份5A F2 B200

逻辑E盘所占扇区数包含自身及隐含的0头上的63扇

;

对于后继的各分区结点信息分析可参照执行完全类似。唯一需要注意的是

后继结点分区信息表的入口地址是其前继结点的入口地址加上前继结点的长度

包括隐含的3FH 。

三、 分区信息链表中任一结点分区信息的恢复

实际上对大容量硬盘分区信息的恢复有以下几条规则

1、 任何一分区所占用的扇区数在其所对应的逻辑零扇区的偏移地址20H 都有备份

2、 活动分区的起始点为0柱1头1扇区即010100结束点可由上述备份反推求出柱面号磁头号为FEH扇区号为3FH然后将柱面号和扇区号合并成两个字节若备份容量大于传统容量限制则为FE FF FF

3、 每一结点分区信息中前一分区表项中的隐含扇区数为003FH后一分区表项中的隐含扇区数分为两种情况在扩展分区中该部分内容为活动分区大小加上隐含的63个扇区在逻辑分区中该部分内容为前一结点信息中后一表项的两个数据项之和

4、每一结点逻辑分区信息后一分区表项的最后四个字节内容为下一结点前一分区表项的隐含扇区数与该分区所占扇区数之和

5、倒数第二个结点分区信息中的后一表项的两个数据项之和等于扩展分区所占用的总扇区数

6、 主分区信息表中分区类型标志分别为0BH和0FH在后续逻辑分区信息表中分别为0BH和05 H 本文针对FAT32位分区方式其它分区方式可相应改动

7、任一结点逻辑分区信息所对应的逻辑零扇区的入口地址等于该逻辑分区入口地址加上该分区所隐含的扇区数 即3FH。

掌握以上几条原则即便整个分区信息链表全部破坏或丢失都能从相关的逻辑零扇完全修复。

主分区信息的恢复过程操作概要

;第一步活动标志和起始点是固定的80010100分区类型0BH,隐含扇区

数是固定的3F000000 自用扇区总数从逻辑零扇区偏移20H处提取四个字节1B F2 B200。

利用公式扇区总数= 柱面号*磁头数+磁头号 每磁道扇区数

扇区总数=00B2F21BH、磁头数=FFH、磁头号=FEH、每磁道扇区数=3FH可推算柱面号就可得到活动分区的结束点内容。

;第二步扩展分区的活动标志为00起始点为下一个柱面号的0头1扇即0081 DA,分区类型为0FH 隐含部分=前一表项所占用扇区数与其前的隐含扇区之和结束点由于已超过8.4G一律填为FE FF FF扩展分区所占用的总的扇区数可通过上述原则中的第5条计算出来。

;

创梦网络-新上雅安电信200G防护值内死扛,无视CC攻击,E5 32核高配/32G内存/1TB SSD/100Mbps独享物理机,原价1299,年未上新促销6折,仅779.4/月,续费同价

创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川眉山联通、广东优化线路高防机柜,CN2专线相关业务。广东电信大带宽近期可以预约机柜了,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网...

DiyVM(50元起)老牌商家,香港沙田CN2直连vps/不限流量/五折终身优惠

diyvm怎么样?diyvm是一家国内成立时间比较久的主机商家了,大约在6年前站长曾经用过他家的美国机房的套餐,非常稳定,适合做站,目前商家正在针对香港沙田机房的VPS进行促销,给的是五折优惠,续费同价,香港沙田机房走的是CN2直连的线路,到大陆地区的速度非常好,DiyVM商家采用小带宽不限流量的形式,带宽2Mbps起步,做站完全够用,有需要的朋友可以入手。diyvm优惠码:五折优惠码:OFF50...

妮妮云(30元),美国300G防御 2核4G 107.6元,美国高速建站 2核2G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

大硬盘分区为你推荐
linux主机linux主机有什么区别?求答案免费云主机免费云主机哪家好?域名注册查询如何查域名注册信息免费网站域名申请怎么免费上传我的网站呀和免费申请域名免费vps服务器免费服务器有哪些台湾vps哪个地区的VPS从大陆访问快呢。成都虚拟空间成都有没有能玩ps主机游戏的网咖?100m网站空间100M的最好的网站空间价格多少?免费网站空间申请需要一个免费的网站空间申请地址。虚拟主机评测网求推荐一些适合个人博客网站的虚拟主机的服务商
猫咪永久域名收藏地址 域名服务器 域名估价 根域名服务器 xenvps 最新代理服务器地址 dns是什么 sugarsync 有益网络 空间技术网 支付宝扫码领红包 购买国外空间 国外ip加速器 免费mysql数据库 太原联通测速 百度云加速 lick 独立主机 免费网络 阿里云邮箱登陆地址 更多