Runtimes DiskExplorer解读硬盘0扇区文档格式.docx
《Runtimes DiskExplorer解读硬盘0扇区文档格式.docx》由会员分享,可在线阅读,更多相关《Runtimes DiskExplorer解读硬盘0扇区文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
sDiskExplorer对硬盘的读写是基于LBA(逻辑块地址)方式,我们不需要去理解以前的CHS寻址方式,有关LBA(逻辑块地址)更详细的信息请在互联网上搜索。
这里简单的理解一下LBA、扇区(sector)、字节(Byte)、KB、MB、GB、TB的关系:
当你用Runtime'
sDiskExplorer去查看、编辑硬盘的时候,你看到的是硬盘的实实在在的物理扇区,你可以看到一个硬盘有多少个扇区,你可以随意编辑任何一个扇区,简单的理解为:
1sector=1LBA,1sector=512byte,1KB=2sector,1MB=1024KB,1GB=1024MB,1TB=1024GB。
sDiskExplorer以前版本对大于1TB的硬盘(当然现在还没有大于1TB的单个硬盘,大于1TB的硬盘大都是配置好的磁盘阵列),V3.03版本已经解决了这一问题。
Runtime'
sDiskExplorer界面介绍:
你可以从http:
//www.runtime.org/站点下载DiskExplorerforFATV3.03和DiskExplorerforNTFSV3.03安装程序,安装到计算机上后运行该程序。
界面如下:
(这时候Runtime'
sDiskExplorer打开了计算机上的第一块硬盘,一般情况下就是该计算机装有正在运行当前操作系统的硬盘。
通常情况下我们不要去更改系统盘相关信息,我们需要编辑的是挂接在计算机上的第二块盘或者第二块以上的硬盘信息。
)
硬盘在Runtime'
sDiskExplorer上的编号是HD128、HD129、HD130依次类推,HD128是指计算机上的第一块硬盘,HD129是计算机上的第二块硬盘依次类推。
下图是打开选择某个硬盘的界面。
Physicaldrives下列出所有计算机上能正常识别到的物理硬盘,并列出每个硬盘的分区信息。
sDiskExplorer早期的版本只能列出前8块硬盘,如果计算机上挂接多于8块硬盘,那后面的硬盘就没法看到。
新版本V3.03已经没有硬盘数量的限制了。
按照上图,我们选择2ndharddrive,双击鼠标进去以后,显示如下图:
(如果该硬盘主引导扇区正常,即0扇区没有被破坏,Runtime'
sDiskExplorer自动显示PartitionTable浏览界面。
如果0扇区不符合主引导记录-MBR格式,则显示HEX即十六进制浏览界面。
)PartitionTanle界面图:
sDiskExplorer有多种浏览显示界面,这我们先看一下Hex(按F3)、PartitionTanle(按F9)、BootRecord(按F10)三种界面,可以通过快捷键切换,也可以通过对程序界面中间单击右键—View来选择进入哪种显示模式(如下图)。
Hex显示界面即十六进制界面图
BootRecord即Boot扇区显示界面图
sDiskExplorer十六进制模式下的分区表信息
简单的理解硬盘分区信息:
假设我们计算机上的硬盘分了4个分区C、D、E、F,分区表的作用就是给这4个分区作定义。
具体如下:
C盘分区定义:
分区类型为NTFS,起始扇区(Boot扇区)是63sec(扇区),大小为10000000sec(扇区);
D盘分区定义:
分区类型为FAT32,起始扇区是10000001sec(扇区),大小为10000000sec(扇区);
E盘分区定义:
分区类型为NTFS,起始扇区是20000001sec(扇区),大小为10000000sec(扇区);
F盘分区定义:
分区类型为NTFS,起始扇区是30000001sec(扇区),大小为10000000sec(扇区);
假如F盘分区表坏了,分区类型、起始扇区、分区大小都没有了,如果这个分区中的数据没有被破坏,那么我可以重新建立F盘的分区表,前提是我必须先找到它的分区类型、起始扇区、分区大小三个参数,用Runtime'
sDiskExplorer可以把这3个参数填写出正确的分区表,F盘就正常了。
对硬盘分区表的理解一直是初学者的一个较难的问题,以往的网上搜索得到的关于硬盘分区表的文章写得比较难懂,需要理解的专业词汇太多。
下面主要用Runtime'
sDiskExplorer来解释分区表结构,Runtime'
sDiskExplorer对分区表的可视化操作使得手工填写分区表变得非常容易。
(以下截图均来自Runtime'
sDiskExplorerforNTFS软件,视图模式为十六进制,内容硬盘的第0扇区。
)
如果十六进制模式去学习分区表,你需要理解以下相关内容:
硬盘主引导记录(MBR):
MBR是英文MasterBootRecord的缩写,中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节。
主引导记录可以分为三个部分。
第一部分:
pre-boot区(预启动区),占446字节;
第二部分:
Partitiontable区(分区表),占64个字节。
第三部分:
结束标志占2字节(55AA)
如果分区表信息的活动分区表损坏,用这个硬盘来引导系统的时候会报错:
Invalidpartitiontable.Errorloadingoperatingsystem.Missingoperatingsystem。
如果预启动区是空的没有任何数据或者不是正确的MBR格式的数据,用这个硬盘来引导,会提示找不到可以用来启动的设备:
RebootandSelectproperBootdeviceorInsertBootMediainselectedBootdeviceandpressakey。
下面试图用十六进制编辑模式去理解分区表信息,以便和Runtime'
sDiskExplorer可视化编辑分区表做对比。
下图标记选择部分是MBR的pre-boot区,即硬盘0扇区前446字节。
注意:
不需要去理解每个字节的含义,因为这部分数据一旦被破坏,我们可以从正常的硬盘中copy相应数据覆盖就可以正常使用,或者通过重新初始化该硬盘也可以使其正常。
需要指出的是,在非Microsoft平台下使用的硬盘,这部分数据有的不符合主引导记录(MBR)格式,我们不需要去更改它,否则正常的数据会被破坏掉!
下图标记选择部分是MBR的Partitiontable区(分区表,共占64个字节,每个分区表占用16字节)
下图标记选择部分是MBR的结束标志(共占2个字节)结束标志55AA两个字节是主引导记录(MBR)和每个Boot扇区的特有标记,如果没有55AA字符作为结束标志,主引导记录(MBR)和每个Boot扇区都是不正常的。
下图标记选择部分是硬盘第1个分区表信息(共16个字节)
解读第一个分区表:
8001010007EFFFFF3F00000061E78501每个分区表都有3个非常重要的参数:
分区类型、分区起始扇区、分区大小,其中还有一个参数标记这个分区是否为活动分区,活动分区一般一个硬盘中只允许有一个。
80----活动分区标志07----分区类型,07表示该分区为NTFS格式,3F000000----该分区的起始扇区,为十六进制:
0000003F(十进制是63)61E78501----该分区的大小,单位是扇区,为十六进制:
0185E761(十进制是25552737)注意:
起始扇区和分区大小分别占用4个字节,61E78501是反过来两位两位取值,即0185E761是真正的数字,十六进制和十进制之间的换算可以用计算器科学计数模式换算。
要更改某个字节数据,鼠标单击该字节,就可以就可以输入新的数据。
需要在Runtime'
sDiskExplorer做一下设置Toolsà
Option默认情况下自动选择Readonly,没法编辑。
我们选择Virtual选项,一般不建议选择Directread/write选项。
如下图:
下图标记选择部分是硬盘第2个分区表信息(共16个字节)
0069C1FF07E0FFFF7701860178B1D401,00----正常分区,不是活动分区,如果该字节不是00也不是80,那该分区是不正常的,07----分区类型,07表示该分区为NTFS格式,77018601----该分区的起始扇区,为十六进制:
01860177(十进制是25559415)78B1D401----该分区的大小,单位是扇区,为十六进制:
01D4B178(十进制是30716280)
下图标记选择部分是硬盘第3个分区表信息(共16个字节)
0000C1FF07EFFFFFA0B65A03707D9E0A,00----正常分区,不是活动分区,如果该字节不是00也不是80,那该分区是不正常的,07----分区类型,07表示该分区为NTFS格式,A0B65A03----该分区的起始扇区,为十六进制:
035AB6A0(十进制是56276640),707D9E0A----该分区的大小,单位是扇区,为十六进制:
0A9E7D70(十进制是178158960)。
下图标记选择部分是硬盘第4个分区表信息(共16个字节)
第四个分区表信息是空的,没什么信息可以使用。
小结:
这一章主要先了解一下Runtime'
sDiskExplorer软件的简单使用以及十六进制下分区表的定义所在的位置,还没讲到Runtime'
sDiskExplorer更简单的分区表编辑操作。
分区表知识是学习数据恢复技术的最基础的东西,了解十六进制下的一些编辑知识是必要的。