ttnml 发表于 2009-2-7 13:56:35

根据合理性判断分区信息的正确性

如果分区表被删除或破坏,或者需要判断现有的分区表是否存在问题时,可以根据其合理性进行判断。
分区表损坏是经常遇到的故障之一。在这种情况下,我们需要找到磁盘内原来的分区布局结构,以便重写分区表,进而获得数据。
恢复分区时,可以利用软件对某些文件系统的特征码进行搜索来找到分区的起始位置(比如FAT文件系统的第一个扇区的第510字节和511字节分别为0x55和0xAA)。有的软件是对每个扇区进行搜索来寻找特征码,比如Winhex,这种搜索机制可以保证不遗漏任何可能存在的信息,但速度较慢。而有的软件则只搜索整数柱面的位置,速度相对较快,比如FinalData。其原理是大多数分区机制是将同一柱面的扇区全部划归在同一个分区内,而不会将同一柱面的前一部分扇区划归一个分区,将其余的扇区划分给另一个分区。基于这种原理,卷信息或逻辑分区信息一定起始于某个柱面的起始处。
提示:并不是所有的分区机制都严格遵循柱面不可分隔的原则,比如WINDOWS的GPT分区,这种分区机制允许一个柱面跨越两个分区的分界线。
如果磁盘有过多次不同的分区操作,就会在磁盘上遗留下多个卷信息。经过软件搜索后,这些信息都会呈现在我们面前。这时,我们需要判断各个信息间的关系。分区间的关系通常会有如下几种情况:
        首尾相连
通常情况下,各个分区会首尾相接(如图2.7所示),我们可以利用一个分区的起始位置加上该分区的大小,得到下一分区的起始位置并从搜索到的信息中查找是否有这个起始位置信息,从而逐步将看似杂乱的各个搜索结果分离成组并将各个组串接成可能有用的布局关系。

图2.7各分区首尾相接
        分区间存在未分配空间
当然,也不排除会有分区与分区间存在未分配空间的情况(如图2.8所示)。这时我们需要考虑以下几种可能:
        如果是根据现在的分区得到的布局结果,则应该考虑现有的分区表是否存在问题。
        如果是搜索得到的结果,则应该考虑此处原来确实存在一个分区,但后来被覆盖了卷信息。
        还有一种情况就是这部分空间确实没有被划分为分区,我们应该考虑此处可能会被用户利用来隐藏某些敏感数据。

图2.8分区间的未分配空间
        分区交叉
如果根据现有的分区表得到某些不合理的布局,如图2.9所示,分区1与分区2同时拥有一部分交叉空间,这是不合理的。应该考虑现有的分区表可能已遭到破坏。

图2.9 分区交错
        分区包含
但在有些情况下,我们必须根据实际情况进行判断其合理性,如图2.10所示,分区2包含在分区1中。大多数情况下这是不合理的,但在MAC操作系统下,HFS+卷通常会被封装在一个HFS卷中,就会出现与图2.10所示的相似情况。

图2.10 包含在另一个分区中的分区
提示:总而言之,对分区进行分析需要以了解文件系统为基础,并根据实际情况进行分析。在后续的章节中,我们会详细介绍有关分区及文件系统的知识。

xulemeng 发表于 2009-2-7 14:15:53

恩,不错。谢谢楼主!!!!!!!!

wanghehe 发表于 2009-2-7 15:23:19

我来回贴了,呵呵呵呵

dfgd 发表于 2009-2-7 16:45:01

苹果系统的知识还是很少见的

ttnml 发表于 2009-2-9 09:18:58

回复 3# 的帖子

多谢多谢! 呵呵

ttnml 发表于 2009-2-9 09:20:31

已建专帖,请见http://bbs.intohard.com/thread-56380-1-1.html

liangguiqwerty 发表于 2009-2-9 10:23:30

多谢多谢! 呵呵

liangguiqwerty 发表于 2009-2-9 10:35:34

多谢多谢! 呵呵

mahuafeng 发表于 2009-2-9 19:59:24

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

耒阳电脑 发表于 2009-2-11 11:53:18

谢多谢! 呵呵
转自中国硬盘基地技术社区 http://bbs.intohard.com ,原文地址:http://bbs.intohard.com/viewthread.php?tid=56369
页: [1] 2
查看完整版本: 根据合理性判断分区信息的正确性