最近个人几篇文章分析了改分区文件系统的文章. 关联文章的地址
一、分区与分区表
分区和卷是一个经常换着应用的语术。通常情况下没有什么问题,因为他们是一同件事件。只是说法上稍有不同而已。当然,理解这两个语术之间的异差也是成为专业的考察员人所必须把握的一部分。一个分区是一系列的连续的区扇所成组的,这些区扇由一个件文系统来停止编址。一个卷,是一组编址的区扇,可以用于织组并存储相干的数据。这些可以编址的地址可所以不连续的―― 这就是他们之间的不同。
当卷只由一个分区成组的时候,他们在能功上是分歧的。当卷逾越了多个分区或者磁盘的时候,这个别区就很显著了。卷是逻辑的存储元单,并由操作系统配分了一个盘符。从理论上来讲,绝大多数的操作系统可以持支24个卷,从C到Z。A和B是留保供软盘应用的。如果在系统上只布置一块物理盘硬,在理论上来讲可以分为24个卷。但从我们对MBR的论讨来看,我们最有64个字节可以用来跟踪分区的配分,个每分区只可以用16个字节,最多可以有4个分区。那么他们是如何来织组24个分区的呢?
案答就是扩展分区。在定义的4个分区里,最少得有一个是扩展分区。配分到扩展分区的空间可以被进一步划分为更小的分区。个每子分区都含包一个分区表,它位于该分区的第一个区扇 。个每分区都指向下一个分区。按照这样的式方可以扩展至24个分区,个每分区都这样述描自己,并指向下一个,始终到最后一个分区。你很少会到遇比较少的分区的这类情况,在理论上讲,你可以最多到遇24个分区。分区的类型也是可以由操作系统和机主来决议的。每16个字节中的第5个字节决议了分区的类型。在扩展分区及其子分区里都是应用如上雷同的设置。四个分区中的第一个字节决议了某一个分区否是为活动分区,也就是启动分区。只能存在一个活动分区,0x80明表它是活动分区。而其他的分区标识为0x00。表1.1 定义了分区表的字段。
这些都是分区为FAT12, FAT16, FAT32,及 NTFS 时的型典设置。基本都为这一规矩:
偏移(十进制) | 名称 | 长度 | 述描 |
446 | 启动字节 | 1 字节 | 启动状态:0x80表现活动状态,否则,它会是0x00 |
447 | 肇端头磁号 | 1 字节 | 对于CHS模式,这是肇端头磁号或者分区的驻面号 |
448 | 肇端面柱与区扇号 | 2 字节(16 位) | 对于CHS模式,肇端面柱为10位。而起 区扇为6位。一共为16位。 |
450 | 分区类型 | 1 字节 | 这为分区和件文系统的类型。 |
451 | 束结头磁号 | 1 字节 | 对于CHS模式,这是一个分区的束结 头磁号。 |
452 | 束结面柱与区扇号 | 2 字节 | 对于CHS模式,束结面柱为10位,而束结区扇为6位,共16位。 |
454 | 对相区扇号 | 四字节(32比特或者DWORD) | 对于LBA模式,这是分区之前的区扇数,也是该分区的肇端区扇号。 |
458 | 总区扇号 | 四字节(32比特或者DWORD) | 对于LBA模式,这是该分区里的全部的区扇总和。 |
* 该字段将重复很多次,如果定义了分区的话,其他的肇端点为偏移462, 478, 和 494。 |
表1 . 1 分区表字段的定义
经常应用的磁盘分区具工,如FDISK, DISKPART, 或者Disk Manager.。其他的见常的分区是Linux的EXT2/3 和Reiser,交换分区,Solaris (UFS), 和Mac OSX (HFS+), 这些分区在EnCase的本版5里都持支。在Windows的操作系统里,分区利用这些具工来传递操作系统。如果你须要建立其他的分区,你可以应用第三方的具工,如Symantec的PartitionMagic和V-Communications的Partition Commander。
应用磁盘管理器(在Windows 2000/XP),当你应用向导建创一个分区的时候,式格化是动自成完的。如果应用FDISK来建创分区的话,分区必须应用级高式格化令命。当你应用式格化令命来式格 化FAT12/16/32 分区时,将会生发列下程过:
1. 磁盘扫描该错误,然后把坏区扇标识出来。
2. 驱动器的头将放在分区的第一个面柱,并写入一个VBR。
3. FAT 1将写入头磁1的第二区扇。紧跟其后的为FAT 1, FAT 2。FAT表为空,除了标识为坏簇的簇。
4. 写入一个空白的根目录。
5. 如果指定/s 这一数参,将传递系统件文。
6. 如果指定了/v 这一数参,将提示用户输入一个卷标。在应用FDISK或者磁盘分区理处的中程过,将会写入MBR。它含包MBR的启动代码。同时,也将写分区表项。在一个级高式格化的中程过,将写入一个VBR,和其他的件文系统特征。
我们提到了一些件文系统的名字,例如:FAT,NTFS和Linux。在本章里,我们从头至尾彻底地来懂得FAT件文系统的容内构结和能功,并且我们还要懂得CDFS件文系统,并跟大家懂得如果在除删分区后之如何查找并恢复分区表。
FAT件文系统已存在了近四分之一个天下了,而且还要伴陪我们不知多少年。它仍用于软盘,存闪媒体,USB指盘中,而且还在继承应用。Windows 2000默以为FAT件文系统,Windows XP也可以选择安装为FAT件文系统。所以,作为名一计算机考察员人,你可能接触到的很多案件涉及到FAT件文系统。
在本章,你将懂得到FAT件文系统的数据构结,重要由两部分成组:件文配分表(FAT=File Allocation Table)和目录项所成组。你将学习到目录项是如何存储件文名和属性的(我们又把属性称为元数据Metadata),以及FAT如何用来跟踪数据存储区域的配分状态(是按照“簇”的式方来停止织组的),及它们之间是如何连接到一同并存储数据的。
你将理解FAT件文系统是如何交叉引用来对应比大较的数据存储设备。最后,你将要懂得各种CD件文系统和NTFS件文系统的各个组件。在这些不同的件文系统中,我们将同时向大家分析它们之间的共同点与不同点。
FAT础基
FAT件文系统的第一个组件是目录项。在全部的FAT件文系统中(FAT12, FAT16, 和FAT32),个每件文和目录项都被考参并且在一个独立的表项中停止述描。目录项是32个字节长,并且含包了件文或目录的名字,它的长度、它的肇端盘区(或者开始簇号),及其他的件文属性或者元数据(建创时光,最后一次拜访时光,最后一次写入的时光)。数据的容内其实不存在于目录项中,而是存储于我们称之为“簇”的数据空间中。簇由一个或多个区扇成组,簇是件文或目录够能存储的小最元单。如果一个件文的小大超过了一个簇的空间,它将会被配分另外的簇来存储数据。目录项只跟踪肇端区扇,但其实不跟踪件文所应用的其他簇。
在FAT件文系统中,一个重要的组件我们称为件文配分表(FAT--File Allocation Table)。在其他的能功中,如果一个件文超过了一个簇的话,可以跟踪一个件文的簇的次序。FAT同时跟踪簇的配分状态,保确操作系统可以把数据存储在可用的区域,并且存储的数据不会被覆盖。FAT同时也跟踪坏的簇,以保确它们不会被应用。
随着存储器量容的越来越大的展发,接踵现出了FAT的三个本版,就是我们所说的FAT12,FAT16,FAT32。列下的数据述描了在一个FAT表中的一个项的小大。
在一个FAT12的系统中,目录项是一个12个比特项的数组。个每12位比特的次序代表一个簇,从0开始,到卷的最后一个簇束结。理论上来讲,一个12位比特可以表现4096个簇。但由于指定的簇是留保着的,所以FAT12最多可以持支4084个簇。
与此相似类,一个FAT16的件文系统有一个16个比特的目录项,一个32位的FAT件文系统有32位的目录项。虑考指定的留保值,一个FAT16的件文系统最多可以持支65,524个簇,一个FAT32件文系统理论上最多可以持支268,435,445个簇(但是因为MBR的限制为67,092,481簇,所以一个分区最多持支的量容为2TB)。在FAT12/16及FAT32上还有一些别区,但重要体现在他们所持支的簇的数量下面,见表2.1.
FAT类型 | 最大可以持支的簇数 |
FAT12 | 4,084 |
FAT16 | 65,524 |
FAT32 | 67,092,481 |
表3 . 1 每一类的FAT类型所持支的最大区扇数
文章结束给大家分享下程序员的一些笑话语录: 很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。