FAT32文件系统结构
详解FAT32文件系统
详解FAT32⽂件系统详解FAT32⽂件系统硬盘是⽤来存储数据的,为了使⽤和管理⽅便,这些数据以⽂件的形式存储在硬盘上。
任何操作系统都有⾃⼰的⽂件管理系统,不同的⽂件系统⼜有各⾃不同的逻辑组织⽅式。
例如:常见的⽂件系统有FAT,NTFS,EXT,UFS,HFS+等等。
下⾯就来学习⼀下基于Windows的FAT32⽂件系统。
FAT32⽂件系统由DBR及其保留扇区,FAT1,FAT2和DATA四个部分组成,其机构如下图:这些结构是在分区被格式化时创建出来的,含义解释如下:DBR及其保留扇区:DBR的含义是DOS引导记录,也称为操作系统引导记录,在DBR之后往往会有⼀些保留扇区。
FAT1:FAT的含义是⽂件分配表,FAT32⼀般有两份FAT,FAT1是第⼀份,也是主FAT。
FAT2:FAT2是FAT32的第⼆份⽂件分配表,也是FAT1的备份。
DATA:DATA也就是数据区,是FAT32⽂件系统的主要区域,其中包含⽬录区域。
⼀、分析FAT32⽂件系统的DBRFAT32⽂件系统的DBR有5部分组成,分别为跳转指令,OEM代号,BPB,引导程序和结束标志。
如下图是我U 盘上⼀个完整的FAT32⽂件系统的DBR。
E8 58 90 :(跳转指令) 本⾝占2字节它将程序执⾏流程跳转到引导程序处。
“EB 58 90″清楚地指明了OS引导代码的偏移位置。
jump 58H加上跳转指令所需的位移量,即开始于0x5A。
4D 53 57 49 4E 34 2E 31 :(OEM代号) 这部分占8字节,其内容由创建该⽂件系统的OEM⼚商具体安排。
跳转指令之后是8字节长的OEM ID,它是⼀个字符串, OEM ID标识了格式化该分区的操作系统的名称和版本号。
为了保留与MS-DOS的兼容性,通常Windows 2000格式化该盘是在FAT16和FAT32磁盘上的该字段中记录了“MSDOS 5.0”,在NTFS磁盘上(关于ntfs,另述),Windows 2000记录的是“NTFS”。
FAT32文件系统
FAT32文件系统结构实例图
2.2 FAT32文件系统DBR
• 2.2.1 DBR的概念和组成 • 什么是DBR? DBR(DOS Boot Record),含义是DOS引导记录, 也称为操作系统引导记录 • FAT32文件系统的DBR(即操作系统引导记录)大体 可以分为5个部分,分别为:跳转指令,OEM代号, BPB(BIOS Parameter Block,BIOS参数块),引导程 序,结束标志(55AA)。 FAT32文件系统DBR结构模块图 请参照下图
第二章 FAT32文件系统
2.1 FAT32文件系统结构总揽 FAT32文件系统是从微软Windows 95系统的OSR2版本开 始使用的,它能够支持大于32MB小于32GB的分区。虽然 第三方的格式化程序可以把超过32GB的分区格式化为 FAT32,但微软自身的系统不允许将大于32GB的分区格 式化为FAT32文件系统。 FAT32文件系统由DBR及其保留扇区,FAT1,FAT2, DATA区 四个部分组成。
具体结构如下图:
• 长文件名FDT项结构图
具体内容如下:
• 每一个长文件名登记项有26个字节记录长文件名称,表示 13个Unicode格式的文件名(每个文件名字符需要2个字节)。 顺序字节低5位指明长文件名登记项序号,第6位置“1”表 明本登记项是最后一个,“顺序号”数据结构如下:
• (“顺序号”字节含义图)
基于文件签名的图像文件恢复技术
基于文件签名的图像文件恢复技术摘要:在生活中常常会遇到照片文件存储在U盘、移动硬盘或者电脑中,由于误操作、病毒攻击、存储介质损坏等问题导致文件数据损坏。
文件恢复技术在解决上述问题中起到关键作用,而利用文件签名方式恢复文件是最常用的一种恢复技术。
本文在FAT32文件系统环境中,使用WinHex软件将一个被彻底删除的JPG文件成功恢复。
关键词:文件签名;文件恢复;图像文件;文件类型0 引言在电子产品、电子化办公高度普及的今天,无论是在生活还是工作中,每个人都会有大量的电子文件存储在移动存储介质中,但是移动存储介质往往会因为硬件损坏、软件病毒等问题导致存储数据被删除。
数据“无价”,使用数据恢复技术来找回丢失数据在日常工作中有积极大的意义。
1 FAT32文件系统1.1 FAT32概述FAT32文件管理方式因为其优秀的稳定性和兼容性,而被广泛应用于各类存储介质[1],其文件分配表采用的是32位二进制数记录管理。
FAT32文件系统由三个部分组成,如图1所示,依次是BOOT区、FAT区、DATA区组成。
其中BOOT区中所含的DBR扇区称为引导扇区,里面记录了文件系统的保留区大小(扇区数),FAT表个数(扇区数),分区根目录在DATA区中的簇号等重要参数。
FAT区是文件分配表区,FAT文件系统是管理磁盘空间和文件的核心区域,FAT表中记录了数据区中哪些簇是空闲的,哪些簇可以被再分配。
DATA区是由一个个簇组成的,用来存放用户文件和文件夹(目录)的内容。
用来存放用户文件的簇,簇里存放的是文件内容;用来存放文件夹的簇,簇里存放的是长度为32字节的目录项,目录项用来描述该文件夹的子对象的基本信息,包含名称、常规属性、起始簇号等。
图1 FAT32文件系统结构1.2 文件删除创建文件的过程就是在该文件的父文件夹中给该文件分配目录项,对该文件的文件名以及外出地址等属性进行登记,然后给该文件在DATA区的簇中分配必要的存储空间,同时在FAT区中相应簇的FAT表项处登记该簇已被分配,把文件内容写入所分配的外存空间中。
FAT32文件系统结构的技术参数分析
0"()*+’ ! ! ,- !" 2!
()* +,-
01 ()* +,- ?"F10 ./ ./
01 ./
!123#!/1/
7/ /! // 88!+88 88Q88RS88 +ME;#!/// 0 6’4/ ! +&!///N!/!/ !123#!/// !123#!/!/ /& /" ; 66 64 42 63 61 64 63 6’ + 63 46 41 44 61 61 41 0/ 0/ 0/ 1& 0/ 42 6& + 6& 0/ 0/ 0/ 0/ 0/ U T:: 88 64 41 &’T=E’=>=F;)EE’;
4(5 6(5 6(5 $ñ º»he -./2 -./1 i¤e ±²ÍÎ ; ³ ùc6 3 heúû ùc6 01 heúû ; ´µ2 he ùc6 ; heúû 图2
ÕÖi× ;2;2;; -ØÙX 2 ´µ2 he; ³ ( c6 ; he,2ÚÛÜ- D- 6*7 ID2-./01 -./23 \]^_-T[Ý°Þ4ÚV 2:0 6*7 ID 6(5, ( 6*7 ID( 6(5,ß -*54./ àálmâÌã ä-åa2ÂT[æ 0 ¯×ç-èéêëN ¯×ç-ìí îï¶ 6*7 ðñò<3 ¯×ç- (E*7 óiô¶ 6*7 ID õö÷ä2 Â7ø[- (E*7 óiôV Âù ;( ×çú -./23 üJ 2Q ¯×ç,2åaýþf û2üJ <3 ¯×ç( ghei-./ -¯iÿói2!"#õ£©ªØÙ¬
// // // //
8888888888888888 8888888888888888 ! #$ ?"F0"
FAT32文件系统知识
FAT文件手动遍历实例
“FAT表分析”unicode字符转换为“46 00 41 00 54 00 68 88 06 52 90 67”
FAT文件手动遍历实例
分析目录表得出
FAT表分析.AVI 文件起始簇号高两位为00 00低两位为03 00 则该文件起 始簇号为 3号簇大小为174652928字节。结束簇号为42642
(4)DBR保留扇区数+2倍的每FAT扇区数 (5)通过文件名定位目标文件目录项 (6)查找文件起始簇号,跳转到FAT1中查找FAT项 (7)确定文件所在簇,跳转该簇查看数据(计算公式=DBR保留扇区+2倍的每FAT 扇区数+(簇号-2)*每簇扇区数)
FAT32文件系统目录项分析
子目录管理
1.根目录文件定位“Biblioteka 5 AA”。与MBR、EBR 相同。
FAT32文件系统FAT表分析
1 8 7 6 5
FAT表 结构特点
1.FAT文件系统有两个FAT表
2 3 4
2.FAT1跟在DBR之后 3.FAT表是由FAT表项构成的 4.每一个FAT表项都有一个固定编号 5.FAT表前两个FAT表项有专门用途 6.分区的数据区中每一个簇都会映射唯一FAT项 7.FAT项值表明簇的三种状态
谢谢欣赏!
XIE XIE XIN SHANG!
IT专业教学资源
FAT2查找
(1)定位本分区DBR位置 (2)读取DBR的BPB中0E~0F位置参数(DBR保留扇区数) (3)读取DBR的BPB中24~27位置参数(每FAT扇区数)
FAT32文件系统FAT项分析
前4个FAT表项解析
0号FAT项描述介质类型
1号FAT项坏簇标志
2号FAT项结束标志
《大话数据恢复》第五章思考题
第5章思考题(注:在本章思考题中,H盘是指“ZY5.vhd文件”通过计算机管理中的磁盘管理功能附加后所产生的虚拟硬盘)5.1 FAT32文件系统主要使用在哪几种外存储器中?FAT32文件系统由哪几大部分组成?答:U盘、照相机(或者摄影机)的SD卡、手机(或看戏机)的TF卡、移动硬盘以及硬盘外部存储器。
5.2 FAT32文件系统数据区的开始簇号是几号?根目录的开始簇号又是几号?答:FAT32文件系统数据区的开始簇号是2号。
根目录的开始簇号是2号。
5.3 简述FAT32文件系统的总体布局。
答:FAT32文件系统由三大部分组成:即保留扇区、FAT表和数据区。
这三个区域是在逻辑盘被格式化完成后创建的。
注:保留扇区由分区引导扇区即FAT32_DBR、FSINFO、FAT32_DBR备份和FSINFO备份等组成;FAT表由FAT1表和FAT2表组成。
FAT32文件系统的总体布局如图5.2所示:5.4 简述FAT16与FAT32文件系统的相同点和不同点。
答:1、FAT16与FAT32文件系统的相同点:(1)都是使用簇为单位来对数据区进行管理,即数据区使用簇为单位来进行分配和回收。
(2)簇的起始号均为2;(3)0号簇均认为是根目录所占用;(4)FAT16_DBR和FAT32_DBR都是存放在逻辑盘的0号扇区;(5)都是有两个FAT表,即FAT1和FAT2;(6)每个子目录下的第1个目录项为“.”,表示该子目录所在位置;第2个目录项为“..”,表示上一级目录(即父目录)所在位置。
2、FAT16与FAT32文件系统的不同点:(1)FAT16文件系统只有一个DBR,而FAT32则有两个DBR,其中一个为备份;(2)从整体上讲,FAT16由四部分组成,即保留扇区(即DBR)、FAT表、根目录目录和数据区;而FAT32则由三部分组成,即保留扇区、FAT表和数据区。
(3)FAT16文件系统的保留扇区只有一个扇区,即DBR;而FAT32文件系统的保留扇区由多个扇区组成,主要包括:DBR、FSINFO、DBR备份、FSINFO备份等。
读FAT32中的文件
读FAT32中的文件1.引言FAT32文件系统是微软比较成功的一个文件系统,虽然现在有被NFS代替的趋势,但由于广泛的认知性及易实现性,在嵌入式、便携产品上还广泛适用(几乎所有的基于windows 平台上的都是FAT32)。
FAT32文件系统将逻辑盘的空间划分为三部分,依次是引导区(BOOT区)、文件分配表区(FAT区)、数据区(DATA区)。
引导区和文件分配表区又合称为系统区。
FA T32 文件系统DBR(引导扇区),FAT,FDT,DATA这四个基本结构:1.DBR:DBR记录了当前FA T32 磁盘的一些基本信息,在通常情况下,DBR位于磁盘分区的0号逻辑扇区在附件中有幅DBR的图形信息,里面详细说明了在DBR中我们能获取到哪些主要信息,当然,还有很多信息希望读者自己去查阅详2 FDT:FDT区简单的说就是记录的目录(文件夹)的信息,里面记录了当前目录下所有的文件(包括当前目录下的文件夹名)的信息,说通俗一点就是记录了当前目录下的所有文件的文件名,我们定位文件,必须要定位到该文件所在目录的FDT区的位置。
3 FA T:FA T区在FA T32文件系统中有2个:FA T1与FA T2,FA T2是FA T1的备份,所以我们只需要获取FA T1的位置,FA T区所在的扇区号我们可以由DBR获取,那FA T区究竟是什么呢?首先,我们知道磁盘是由扇区组成的,若干的扇区组成一簇,当一个目录的FDT 区需要占据多个簇的时候,FA T区记录了多个簇的连接信息,具体可以详细去查阅有关资料。
4 DA TA:DA TA区是由FDT区定位的,上面说过FDT区记录了某个目录下文件的信息,若这个信息记录的是文件而非文件夹(目录),则这个信息的一部分记录了这个文件的DA TA 区的位置,顾名思义,DA TA区储存了文件的内容,当一个簇无法记录一个完整的文件内容时,就要用到FA T区进行簇连。
2.提出问题2.1FA T32文件系统的结构,主引导记录(MBR)、引导扇区、FA T表、FDT表的结构。
U盘FAT32文件系统
U盘FAT32⽂件系统⼀、FAT⽂件系统分为四个部分参考别⼈的博客1. 保留扇区(引导区)最开始的位置,第⼀个保留扇区是引导区。
包括基本的⽂件系统信息,⽐如它的类型和其它指向其它扇区的指针。
通常包括操作系统启动调⽤代码。
保留扇区的总数记录在引导扇区中的⼀个参数中。
2. FAT区(⽂件分配表)包含两份⽂件分配表,分区信息的映射表,指⽰簇是如何存储的。
3. 根⽬录区在根⽬录中存储⽂件和⽬录信息的⽬录表。
4. 数据区域实际⽂件和⽬录数据存储的区域。
需要注意的是每个簇只能被⼀个⽂件占有。
主引导记录(主引导扇区),读设备时最开始读这个分区。
1. MBR(master boot record)MBR ⼜称作主引导记录占⽤ Boot Sector 的前 446 个字节 ( 0 to 0x1BD ), 存放系统主引导程序 (它负责从活动分区中装载并运⾏系统引导程序).2. DPT 即主分区表占⽤ 64 个字节 (0x1BE to 0x1FD),记录了磁盘的基本分区信息,主分区表分为四个分区项,,每项 16 字节,分别记录了每个主分区的信息(因此最多可以有四个主分区).3. Boot Record ID 即引导区标记占⽤两个字节 (0x1FE and 0x1FF), 对于合法引导区,它等于 0xAA55,这是判别引导区是否合法的标志。
⼆、主引导扇区(MBR)的具体结构如下图所⽰:OffsetDescription Size000h Executable Code (Boots Computer)446 Bytes1BEh1st Partition Entry (See Next Table)16 Bytes1CEh2nd Partition Entry16 Bytes1DEh3rd Partition Entry16 Bytes1EEh4th Partition Entry16 Bytes1FEh Executable Marker (55h AAh) 2 BytesUSB hound 得到的数据512 IN fa 31 c0 8e d8 8e c0 8e d0 bc 00 7c fb fc 89 e6 .1.............. 55.1.0(2)bf 00 06 b9 00 01 f3 a5 ea dc 06 00 00 10 00 01 ................ 55.1.1600 00 7c 00 00 00 00 00 00 00 00 00 00 80 3f 00 ..............?. 55.1.32ff 00 b4 03 1e 0e 1f 3a 16 10 00 74 06 1f ea 36 .......:...t...6 55.1.48e7 00 f0 3d fb 54 75 05 8c d8 fb eb 1d 80 fc 08 ...=.Tu......... 55.1.6475 1b e8 81 00 8a 36 13 00 fe ce 8b 0e 15 00 86 u.....6......... 55.1.80cd c0 e1 06 0a 0e 11 00 31 c0 f8 eb 65 80 fc 02 ........1...e... 55.1.9672 cb 80 fc 04 77 c6 60 80 cc 40 50 be 00 00 c7 r....w.`..@P.... 55.1.11204 10 00 30 e4 89 44 02 89 5c 04 8c 44 06 66 31 ...0..D..\..D.f1 55.1.128c0 66 89 44 0c 88 f0 f6 26 11 00 88 cf 88 eb c0 .f.D....&....... 55.1.144ef 06 81 e1 3f 00 01 c8 48 89 c7 a1 13 00 f7 26 ....?...H......& 55.1.16011 00 f7 e3 01 f8 81 d2 00 00 89 44 08 89 54 0a ...........D..T. 55.1.17658 30 c0 8a 16 10 00 e8 0c 00 88 26 03 00 61 a1 X0.........&..a. 55.1.19202 00 1f ca 02 00 9c ff 1e 22 00 c3 80 fa 8f 7f ........."...... 55.1.20804 88 16 2d 06 be 87 07 e8 8d 00 be be 07 31 c0 ...-..........1. 55.1.224b9 04 00 f6 04 80 74 03 40 89 f5 81 c6 10 00 e2 ......t.@....... 55.1.240f2 48 74 02 cd 18 bf 05 00 be 1d 06 c7 44 02 01 .Ht..........D.. 55.1.25600 66 8b 46 08 66 89 44 08 b8 00 42 8a 16 2d 06 .f.F.f.D...B..-. 55.1.272cd 13 73 0d 4f 74 49 30 e4 8a 16 2d 06 cd 13 eb ..s.OtI0...-.... 55.1.288d8 a1 fe 7d 3d 55 aa 75 37 fa 66 a1 4c 00 66 a3 ....=U.u7.f.L.f. 55.1.3043f 06 be 13 04 8b 04 48 89 04 c1 e0 06 8e c0 31 ?......H.......1 55.1.320ff be 1d 06 b9 60 00 fc f3 a5 c7 06 4c 00 17 00 .....`......L... 55.1.336a3 4e 00 fb 8a 16 2d 06 89 ee fa ea 00 7c 00 00 .N....-......... 55.1.352be aa 07 e8 02 00 eb fe ac 20 c0 74 09 b4 0e bb ......... .t.... 55.1.36807 00 cd 10 eb f2 c3 53 74 61 72 74 20 62 6f 6f .......Start boo 55.1.38474 69 6e 67 20 66 72 6f 6d 20 55 53 42 20 64 65 ting from USB de 55.1.40076 69 63 65 2e 2e 2e 0d 0a 00 42 6f 6f 74 20 66 vice......Boot f 55.1.41661 69 6c 65 64 00 00 00 ea eb d4 ca 00 00 00 00 ailed........... 55.1.432 第⼀分区硬盘分区表 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 55.1.448 第⼆分区00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 55.1.464 第三分区00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 04 ................ 55.1.480 第四分区05 00 0b fe ff b3 00 01 00 0080 8c e8 00 55 aa ..............U. 55.1.496过256扇区后是这个分区 *512byte=7.2G硬盘分区表地址字节数描述00~001可引导标志0x00不可引导,0x80可引导01~033分区起始CHS地址04~041分区类型05~073分区结束CHS地址08~0B4分区起始LBA地址0C~0F4分区⼤⼩扇区数分区起始CHS地址(U盘可以直接根据扇区,簇来寻址。
数据恢复基础知识
数据恢复基础知识 DATA区分析
DATA
2号簇 3号簇 4号簇
……
根目录
子目录 或内容
子目录 或内容
……
N号簇
子目录 或内容
数据恢复基础知识
5 NTFS文件系统
数据恢复基础知识
16个元文件
$Mft
主文件表
$MftMirr 主文件表镜像
$LogFile
属性描述 标准信息 属性列表
文件名 对象ID 安全描述符
卷名 卷信息 文件数据
属性类型 90 00 00 00 A0 00 00 00 B0 00 00 00 C0 00 00 00 D0 00 00 00 E0 00 00 00 F0 00 00 00 00 10 00 00
属性描述 缩银根
索引分配 位图
子扩展分区
子扩展分区
M
主
E
B
分
B
R
区
R
扩展
E
扩展
磁盘
B
磁盘
分区
R
分区
2048
xxxxx
2048
xxxxx
2048
xxxxx
数据恢复基础知识
3 Windows系统的GPT磁盘分区
数据恢复基础知识 GPT是GUID Partition Table(全局唯一标识磁盘分区表)。 GPT是作为EFI(可扩展固件接口)计划的一部分引入的。
$Volume
$AttrDef
$Root
$Bitmap
$Boot 引导文件
$BadClus $Secure $UpCase $Extended metadata directory $Extend\$Reparse $Extend\$UsnJrnl $Extend\$Quota $Extend\$ObjId
FAT32文件系统基本结构
FAT32文件系统基本结构见表1。
注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。
存储时是按低位到高位存储的。
两者表现不同,请仔细看清楚。
以后出现的表,图均同。
也可以在winhex中看到这些参数的意义:系统启动过程主要由一下几步组成(以硬盘启动为例):1.开机2.BIOS加电自检(Power On Self Test--POST),内存地址为0ffff:00003.将硬盘第一个扇区(0头0道1扇区,也就是BootSector)读入内存地址0000:7c00处.4.检查(WORD)0000:7dfe是否等于0xaa55,若不等于,则转去尝试其他启动介质,如果没有其他启动介质则显示"No ROM BASIC"然后死机.5.跳转到0000:7c00处执行MBR中的程序.6.MBR首先将自己复制到0000:0600处,然后继续执行.7.在主分区表中搜索标志为活动的分区.如果发现没有活动分区或有不止一个活动分区,则转停止.8.将活动分区的第一个扇区读入内存地址0000:7c00处.9.检查(WORD)0000:7dfe是否等于0xaa55,若不等于则显示"Missing Operating System"然后停止,或尝试软盘启动.10.跳转到0000:7c00处继续执行特定系统的启动程序.11.启动系统...以上步骤中2,3,4,5步是由BIOS的引导程序完成.6,7,8,9,10步由MBR中的引导程序完成.附:分区表类型标志如图4DBR区(DOS BOOT RECORD)即操作系统引导记录区的意思,通常占用分区的第0扇区共512个字节(特殊情况也要占用其它保留扇区,我们先说第0扇)。
在这512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOS Parameter Block),扩展BPB,os引导程序,结束标志几部分组成。
解读FAT32文件系统(二)
解读FAT32文件系统(二)接着我们来看看FAT32文件系统特有的长文件名。
结构如下图:为研究方便,先在我的1G的u盘建一个长文件名的文本文件。
如图:文本文件的内容还是:0123456789十个字节,简单明了。
然后用Winhex打开我们的u盘看看根目录区有什么奇迹出现了。
如下图:这样4组32字节数据才表示了一个文件名,是不是很复杂了。
每一个32字节的数据就叫这个文件的子目录项。
按照Microsoft的白皮书,我们来看看这些数字的含义。
与短文件名中文件名的编码不同,长文件名文件的文件名采用的是Unicode 编码,这样一个32字节的目录项里可以存13个字节的文件名字符。
看上图,在字节地址0x001f5480到0x001f5490这32个字节子目录项里,只存了abcdefghijklm这13个字符。
刚好是我建的26个字符文件名的一半。
那放不下的文件名字符就安排在下一个32个字节里面。
于是我们可以在0x001f5460到0x001f5470可以看到nopqrstuvwxyz。
文件的扩展名即txt安排在0x001f5440到0x001f5450。
大家发现没有,按字节地址顺序从0x001f5440到0x001f5490,文件名的排列顺序是txt_nopqrstuvwxyz_abcdefghijklm(注意:为了方便大家看,我加了红色标识的下划线,实际存放中不存在)。
这就是书上说的长文件名按倒序来排列文件名字。
这种排列方式符合小端格式原则,即高字节地址存放高为字节。
既然安排文件名是有前后顺序的。
这样长文件名目录项的开头一个字节专门放这个排列顺序。
看图:我标了红圈圈的位置,这个就是长文件名子目录项排列顺序的编号。
按递推的关系存文件扩展名的0x001f5440到0x001f5450应该是0x03打头才对,我们看到的却是0x43。
这是一个规定就是长文件名子目录项最后一组32字节的顺序是本组数据序号(这里是0x03)和0x40(这个40是长文件名专有)做个与运算的结果,0x03|0x40就是我们看到的0x43了。
FAT32文件系统详细介绍
通过使用DiskEditor对硬盘的分析,现对硬盘的MBR区及FAT32文件系统做一个详细的介绍。
新硬盘->低格后变化:所有扇区中的字节数据填充为0x00低格后->分区后变化:写硬盘的MBR(主引导扇区)区分区后->格式华变化:写硬盘的FAT(文件分配表)区MBR区介绍:起始位置:0柱面0磁头1扇区(硬盘的第一个扇区)结束位置:0柱面0磁头1扇区大小:512(硬盘每个扇区的所占用的字节数)个字节000102030405060708090a0b0c0d0e0f 000000000000000000000000-0000000000000000 000000100000000000000000-0000000000000000………………………………-……………………000001b00000000000000000-0000000000008001 000001c001000c ff ff fe3f00-0000fc8a38010000 000001d00000000000000000-0000000000000000 000001e00000000000000000-0000000000000000 000001f00000000000000000-00000000000055aa000~1bd(446字节)executable code(我们不使用,固定填写0x00)1be~1cd(16字节)1st partition entry(参数解释见下面)1ce~1dd(16字节)2st partition entry(同第一个分区)1de~1ed(16字节)3st partition entry(同第一个分区)1ee~1fd(16字节)4st partition entry(同第一个分区)1fe~1ff(2字节)boot record signature(固定值:55aa)现以第一个分区的入口参数为例:80分区状态(80H表示为激活分区,00H表示为非激活分区)01分区的开始磁头0100分区的开始柱面和扇区(0~5位为扇区号、8~15位为柱面号的低8位,6~7位为柱面号的高两位)0c分区的类型(0c表示为FAT32,用LBA方式)ff分区的结束磁头ff fe分区的结束柱面和扇区(表示同开始磁头)3f000000从MBR到第一个分区扇区的扇区个数(一般为硬盘扇区的最大值)fc8a3801分区的总扇区数(可以计算扇区的总大小)FAT区介绍:起始位置:0柱面1磁头0扇区结束位置:根据硬盘参数不同有所不同大小:硬盘的总簇数×4字节FAT区中的BOOT:起始位置:0柱面1磁头0扇区结束位置:0柱面1磁头0扇区大小:512字节000102030405060708090a0b0c0d0e0f 00000000eb58904d5357494e-342e310002082000 000000100200000000f80000-3f00ff003f000000 00000020fc8a3801fc4d0000-0000000002000000 000000300100060000000000-0000000000000000 00000040800029ab0b641500-0000000000000000 000000500000464154333220-2020xx xx xx xx xx xx 00000060xx xx xx xx xx xx xx xx-xx xx xx xx xx xx xx xx …………………………-……………………000001f0xx xx xx xx xx xx xx xx-xx xx xx xx xx xx55aa000~059(60字节)各个参数(参数解释见下面)000~059(420字节)executable code(初始值固定)000~059(2字节)boot record signature(固定值:55aa)现解释各个参数的含义:eb5890跳转代码(固定值:eb5890)4d5357494e342e31OEM名字(固定值:表示MSWIN4.1)0002每扇区的字节数(512)08每簇的扇区数2000保留的扇区数(通常固定为32)02FAT表的个数(通常有2个)0000未使用(固定为0)0000未使用(固定为0)f8介质类型(硬盘为f8)0000未使用(固定为0)3f00每磁道的最大扇区数(硬盘的参数)ff00最大磁头数(硬盘的参数)3f000000分区中隐藏的扇区数(初始化时写入每磁道的最大扇区数)fc8a3801分区中的扇区总数(自己根据硬盘参数计算)fc4d0000每个FAT表占用的扇区数0000Flags(Bits0-4Indiate Active FAT Copy)(Bit7Indicates whether FAT mirroring is enabled or disable<clear is enabled>)(if FAT mirroring isdisabled,the FAT information is only written to the copy indicated by bits0-4)0000FAT32驱动版本(固定值:0000)02000000根目录区的开始簇号(0001两个簇号不使用)0100文件系统信息(后面有相关的说明)扇区所在位置的扇区号(此扇区号为相对位置)0600备份引导扇区所在位置的扇区号(此扇区号为相对位置)000000000000000000000000保留80分区的逻辑驱动号(第一个分区固定为80)00未使用29扩展标识(固定值:29)ab0b6415分区的串号(工控机硬盘为7400e6f0)0000000000000000000000分区的名称(工控机硬盘为4e4f204e414d4520 202020意思为“NO NAME”)4641543332202020FAT名称(固定值:表示“FAT32”)executable code:具体含义不明(应该是用来引导用的代码)FAT区中的文件系统信息区:起始位置:0柱面1磁头1扇区结束位置:0柱面1磁头1扇区大小:512字节000102030405060708090a0b0c0d0e0f 000000005252614100000000-0000000000000000 000000100000000000000000-0000000000000000…………………………-……………………000001e00000000072724161-75901d0044050000 000001f00000000000000000-00000000000055aa000~0031e4~1fd(30字节)各个参数(参数解释见下面)004~1e3(480字节)未知(固定值:00)000~059(2字节)boot record signature(固定值:55aa)现解释各个参数的含义:52526141标识(First Signature)72724161标识(Signture of FSInfo sector)75901d00剩余的簇数(如果设置为ff ff ff ff,表示未知)(工控机硬盘为fc941800)44050000最近一次被分配的簇号(工控机硬盘为02000000)000000000000000000000000保留0000未知FAT区中的未知数据区起始位置:0柱面1磁头2扇区结束位置:0柱面1磁头2扇区大小:512字节000102030405060708090a0b0c0d0e0f 00000000fa660f b64610668b-4e2466f7e1660346 000000101c660f b7560e6603-c233c9668946fc66 00000020c746f8ff ff ff ff fa-668b462c6683f802 000000300f82cf fc663d f8ff-ff0f0f83c5fc660f 00000040a4c210fb5250fa66-c1e010660f ac d010 000000506683e802660f b65e-0d8b f366f7e36603 0000006046fc660f a4c210fb-bb00078b fb b90100 00000070e8be fc0f82aa fc38-2d741e b10b56be d8 000000807d f3a65e741903f9-83c7153b fb72e84e 0000009075d6585a e8660072-ab83c404e964fc83 000000a0------d203c013d2e81800-fa26668b016625ff 00000110------0f a4c210fb8b df b9-0100e8b4fb5a0f82 000001809f fb fb8b da c30000-0000000000000000 000001900000000000000000-0000000000000000 000001a00000000000000000-0000000000000000 000001b00000000000000000-0000000000000000 000001c00000000000000000-0000000000000000 000001d00000000000000000-0000000000000000 000001e00000000000000000-0000000000000000 000001f00000000000000000-00000000000055aaFAT表介绍:起始位置:0柱面1磁道1扇区+保留扇区数+(每个FAT表占用的扇区数×2)结束位置:根据分区情况确定大小:根据分区情况确定000102030405060708090a0b0c0d0e0f 00000000f8ff ff0f ff ff ff ff ff ff ff0f ff ff ff0f 00000010a6000000ff ff ff0f ff ff ff0f ff ff ff0f ……ff ff ff0f ff ff ff0f ff ff ff0f ff ff ff0f 000001f0ff ff ff0f ff ff ff0f ff ff ff0f ff ff ff0f说明:每簇的使用情况用32位二进制填写,未被分配的簇相应位置写零;坏簇相应位置填入特定值;已分配的簇相应位置填入非零值,具体为:如果该簇是文件的最后一簇,填入的值为FFFFFF0FH,如果该簇不是文件的最后一簇,填入的值为该文件占用的下一个簇的簇号,这样,正好将文件占用的各簇构成一个簇链,保存在FAT表中。
FAT32文件系统
3.1 文件系统总论从本章开始,我们将使用几个章节详细介绍各种文件系统的工作原理及结构布局。
由于FAT文件系统是普及面非常广泛的Windows操作系统所使用的一种文件系统,所以我们由FAT 文件系统开始。
又因为FAT32是日前使用最多的FAT类型文件系统,因此,我们主要以FAT32 为对象进行讲解。
在正式介绍特定的义件系统前,我们有必要先对文件系统有个大致的了解。
到底什么是文件系统?文件系统就是对数据进行存储与管理的方式。
文件系统是为了长久地存储和访问数据而为用户提供的一种基于文件和目录的存储机制。
我们都知道,在使用硬盘存储数据前,首先要进行分区,然后对分区进行格式化。
格式化的过程就是在分区内建立一定的文件系统的过程。
一个文件系统由系统结构和按一定规则存放的用户数据组成,以使计算机可以找到并访问它们。
大多数情况下,丈件系统并不依赖于特定的计算机。
文件系统的种类繁多,每种文件系统都有自己特定的结构和管理数据的方式,但所有的文件系统也都有- 定的共性。
在此,我们简单介绍一下文件系统中的一些基本概念和共性。
1 数据单元建立一个文件系统后,就可以进行数据的存储了。
数据在写入磁盘或从磁盘读取时每次操作的数据量称为数据单元,它的大小在建立文件系统时确定。
数据单元在不同的文件系统中有不同的称呼方式,例如FAT和NTFS 文件系统中的“簇”,ExtX中的“块(Block) ”等,其实都是一种数据单元。
一个数据单元由若干个连续的扇区组成,大小总是2的整数次幂个扇区。
存储数据时,系统以数据单元为单位为其分配存储空间,也就是说,总是为其分配整数个数据单元大小的空间。
2 坏数据单元坏数据单元也就是包含缺陷扇区的数据单元。
许多文件系统可将一个数据单元标记为坏单元,这对于那些没有能力处理错误的老硬盘比较有用。
当一个数据单元中出现缺陷扇区时,即使缺陷扇区的数最只有一个,操作系统也会将整个数据单元标记为已损坏,不再分配给文件使用。
FAT32文件系统详细介绍(专业)资料
通过使用DiskEditor对硬盘的分析,现对硬盘的MBR区及FAT32文件系统做一个详细的介绍。
新硬盘->低格后变化:所有扇区中的字节数据填充为0x00低格后->分区后变化:写硬盘的MBR(主引导扇区)区分区后->格式华变化:写硬盘的FAT(文件分配表)区MBR区介绍:起始位置:0柱面0磁头1扇区(硬盘的第一个扇区)结束位置:0柱面0磁头1扇区大小:512(硬盘每个扇区的所占用的字节数)个字节000 ~ 1bd (446字节)executable code(我们不使用,固定填写0x00)1be ~ 1cd (16字节)1st partition entry(参数解释见下面)1ce ~ 1dd (16字节)2st partition entry(同第一个分区)1de ~ 1ed (16字节)3st partition entry(同第一个分区)1ee ~ 1fd (16字节)4st partition entry(同第一个分区)1fe ~ 1ff (2字节)boot record signature(固定值:55 aa)现以第一个分区的入口参数为例:80 分区状态(80H表示为激活分区,00H表示为非激活分区)01 分区的开始磁头01 00 分区的开始柱面和扇区(0 ~ 5位为扇区号、8 ~ 15位为柱面号的低8位,6 ~ 7位为柱面号的高两位)0c 分区的类型(0c表示为FAT32,用LBA方式)ff 分区的结束磁头ff fe 分区的结束柱面和扇区(表示同开始磁头)3f 00 00 00 从MBR到第一个分区扇区的扇区个数(一般为硬盘扇区的最大值)fc 8a 38 01 分区的总扇区数(可以计算扇区的总大小)FAT区介绍:起始位置:0柱面1磁头0扇区结束位置:根据硬盘参数不同有所不同大小:硬盘的总簇数×4字节FAT区中的BOOT:起始位置:0柱面1磁头0扇区结束位置:0柱面1磁头0扇区大小:512字节000 ~ 059 (60字节)各个参数(参数解释见下面)000 ~ 059 (420字节)executable code(初始值固定)000 ~ 059 (2字节)boot record signature(固定值:55 aa)现解释各个参数的含义:eb 58 90 跳转代码(固定值:eb 58 90)4d 53 57 49 4e 34 2e 31 OEM名字(固定值:表示MSWIN4.1)00 02 每扇区的字节数(512)08 每簇的扇区数20 00 保留的扇区数(通常固定为32)02 FAT表的个数(通常有2个)00 00 未使用(固定为0)00 00 未使用(固定为0)f8 介质类型(硬盘为f8)00 00 未使用(固定为0)3f 00 每磁道的最大扇区数(硬盘的参数)ff 00 最大磁头数(硬盘的参数)3f 00 00 00 分区中隐藏的扇区数(初始化时写入每磁道的最大扇区数)fc 8a 38 01 分区中的扇区总数(自己根据硬盘参数计算)fc 4d 00 00 每个FAT表占用的扇区数00 00 Flags(Bits 0-4 Indiate Active FAT Copy)(Bit 7 Indicates whether FATmirroring is enabled or disable <clear is enabled>)(if FAT mirroring isdisabled, the FAT information is only written to the copy indicated by bits 0-4)00 00 FAT32驱动版本(固定值:00 00)02 00 00 00 根目录区的开始簇号(00 01 两个簇号不使用)01 00 文件系统信息(后面有相关的说明)扇区所在位置的扇区号(此扇区号为相对位置)06 00 备份引导扇区所在位置的扇区号(此扇区号为相对位置)00 00 00 00 00 00 00 00 00 00 00 00 保留80 分区的逻辑驱动号(第一个分区固定为80,之后依次为81…ntfs分区固定为F6)00 未使用29 扩展标识(固定值:29)ab 0b 64 15 分区的串号(工控机硬盘为74 00 e6 f0)00 00 00 00 00 00 00 00 00 00 00 分区的名称(工控机硬盘为4e 4f 20 4e 41 4d 45 2020 20 20意思为“NO NAME”)46 41 54 33 32 20 20 20 FAT名称(固定值:表示“FAT32”)说明:隐藏扇区是MBR 到FAT BOOT 之间的扇区。
FAT32
FAT32数据恢复报告――FAT32简介FAT(File Alocation Table)即文件分配表,以这种文件分配表方式访问的文件系统被称为FAT文件系统结构,相应的磁盘分区也被称为FAT文件分区格式。
FAT格式是微软公司最早支持的分区格式,它依据FAT表中每个簇链所占的位数分为FAT12,FAT16和FAT32三种格式。
系统将磁盘划分为一个一个大小相等的块,这个块就是簇。
簇的大小并不唯一,具体占多少个扇区是在系统对分区进行格式化时根据分区的大小、文件系统类型等对簇的大小进行初始化的。
但大多数情况下,FAT32中每簇占用4KB大小。
文件占用磁盘时,最小的单位不是字节而是簇,即使某个文件只有一个字节,操作系统也会为其分配一个簇的空间。
每个簇都有一个逻辑编号。
FAT32系统采用FAT簇的方式来实现,过程大致如下:FAT 区中被逻辑的划分出若干个FAT项,每个FAT项有一个逻辑编号,FAT32结构的分区中每个FAT项占用32位,这个编号对应了数据区中的若干个簇。
FAT1和FAT2是两个完全一样的FAT,系统同时建立两条完全一样的FAT链,这样做是为了当FAT1损坏时可以用FAT2进行恢复。
在FAT区后面是系统的根目录区,由若干目录项组成。
在根目录区后面是文件的数据区,这个区域中存放的是用户和系统建立的文件数据,这个区被逻辑的划分成了若干个大小相等的簇,以便管理。
(一)引导扇区结构硬盘的主引导扇区MBS是硬盘的第一个扇区,由其中存放的内容包括MBR、出错信息数据区、磁盘分区表DPT和结束标志字四个部分。
主引导程序的偏移地址是0000H~0088H,它主要负责从活动分区中转载并运行系统的引导程序。
出错信息数据区偏移地址是0089H~00E1H。
磁盘分区表DPT含有4个分区项,它的偏移地址是01BEH~01FDH,每个分区表项长16个字节,共64字节。
结束标志是偏移地址为01FEH~01FFH的两个字节,结束标志是55AAH。
FAT32文件系统详解
FAT32⽂件系统详解第⼋章FAT32⽂件系统详解Description:OS: Microsoft windows 7、Microsoft Professional xp sp3Software: winhex15.2 SR-10Hardware: Mega16、Kingston 2G sd cardAuthor: FGDTime: 200908088.1 Microsoft⽐尔·盖茨于2008年6⽉27⽇退休了,他在微软同事的⼼⽬中是⼀个什么形象呢?这个当属与他⼀起共同执掌了微软28年之久的CEO鲍尔默最有话语权了。
“他是⼀个⽐较内向的⼩伙⼦,不太爱说话,但浑⾝充满了活⼒,尤其是⼀到晚上就活跃起来。
当时的情况是,经常在我早上醒来时,他才准备睡觉。
”鲍尔默在最近接受《华尔街⽇报》采访时,如此形容⽐尔·盖茨。
鲍尔默说的对,也许只有活⼒才是成功的最关键因素,这是⽐尔·盖茨留给⼤家最好的礼物!1. Life is unfair, you want to adapt it.2. The world will not take your self-esteem, but for the self-satisfaction before you have success.3. Just returned from the school come out when you can not earn 60,000 U.S. dollars a month, but will not become any company vice president, also owned a car until you have won the hand of those that day.4. If you think school teachers is too harsh, then you have to think back to the boss.5. Selling hamburger and not detrimental to your dignity. Your grandparents had a different understanding to sell hamburger, they called it "opportunity".6. If you get into difficulties, it is not the fault of your parents, you should not be the responsibility onto others, and to learn to learn from it.7. Before you were born, your parents do not like so boring. They look into this today because these years have been for you to pay bills, to your laundry. So, in talking to parents, or whatever cleaning your own house?8. You may no longer host school hours and poor health themselves, but life is not the case. In some schools had not "fail" concept, the school will continue to give you the opportunity for you to progress, but real life is not like that.9. Unlike in the life out of school after a semester of the same school hours, nor that the summer. No boss to help you find some self-and you must rely on its own to complete.10. Many of the scenes on television is not real life. In real life, people must do their buried in his work, not like TV where my daily dwell in the case of coffee Lane.11. Treat your aversion to the people, because there days you will work for sucha person.8.2 先说说硬盘【笔者按:这部分知识基本是笔者对《数据重现》⼀书(作者:马林)读书笔记的整理,要了解详更详细的细节,可参考该书或求助互联⽹。
FAT16 FAT32结构
一:FAT16/FAT32数据组织结构FAT32 与FAT16 文件系统变化不大,文件系统仍然将逻辑盘的空间划分为DBR引导(BOOT 区)/文件分配表(FAT)根目录表(FDT)和数据区(DATA 区)但有以下的区别:1:FAT16 只有一个DBR 且只占用逻辑0 扇区,FAT32中的DBR 多了一个副本分别起始于逻辑0 扇区xx 柱0 头1 扇区和逻辑6 扇区xx 柱0 头7 扇区2:FAT32 在DBR 副本和FAT1 之间有保留扇区FAT16 没有保留扇区;3:FAT16 文件系统中的FAT1 从逻辑0 扇区yy 柱1头1扇区开始FAT32文件系统中的FAT1 从逻辑32 扇区yy 柱1 头33 扇区开始如下图分别所示:FAT16文件系统的数据组织结构数据区注释:DBR:从逻辑0扇区开始FAT1:从逻辑1扇区开始FAT32文件系统的数据组织结构数据区注释: DBR从逻辑0扇区开始DBR副本从逻辑6扇区开始FAT1从逻辑32扇区开始(win2000建立分区在36个扇区)20482938+36=20482974二:DBR在FAT中的结构DBR区(DOS BOOT RECORD):操作系统引导记录区的意思,通常占用分区的第0扇区共512个字节(特殊情况也要占用其它保留扇区,我们先说第0扇)。
在这512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOS Parameter Block),扩展BPB,OS引导程序,结束标志几部分组成。
以用的最多的FAT32为例说明分区DBR各字节的含义。
FAT32分区DBR中各部分位置表0x00 3个字节 跳转指令0x03 8个字节 厂商标志/OS版本号0x0B 53个字节 BPB0X40 26个字节 扩展BPB0X5A 420个字节 引导程序代码0X01FE 2个字节 有效结束标志FAT32 中的DBR有多个副本(根据分区多少而变化)而且从偏移量0BH 开始的BPB 参数及一些相关地址的表示方法也有区别下表所示:FAT16 和FAT32 文件系统中的DBR中相关地址参数分配表如下:0B~0CH2每个扇区的字节数每个扇区的字节数0DH1每簇的扇区数每簇的扇区数0E~0FH2保留扇区数保留扇区数10H1FAT个数FAT 个数11~12H2根目录登记项个数13~14H2磁盘总扇区数15H1磁介质类型说明符磁介质类型说明符16 17H2每个FAT 表的扇区数18 19H2每个磁道的扇区数每个磁道的扇区数1A 1BH2磁头的个数磁头的个数1C 1FH4当前分区前隐含扇区数当前分区前隐含扇区数20 23H4逻辑盘总扇区数24 25H2每个FAT 表的扇区数27 2AH 4FAT16 格式磁盘系列号2B 35H11FAT16 卷标名36 3AH5FAT16磁盘格式标志43 46H4FAT32格式磁盘系列号47 51H11FAT32 卷标名52 56H5FAT32磁盘格式标志三:保留扇区在上述FAT文件系统DBR的偏移0x0E处,用2个字节存储保留扇区的数目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析FAT32文件系统结构
【摘要】fat32文件系统是windows系列操作系统中最常用的文件系统之一。
为了彻底了解fat32文件系统,本文将对fat32文件系统的存储结构进行分析,让大家对fat32的存储原理及数据恢复有所了解。
【关键词】存储结构;mbr;dbr;fat;fdt
数据恢复技术是指将硬盘上由于病毒、误删除、以及其它各种原因导致数据丢失的数据还原的技术,恢复它本来的“面目”。
这需要对存储结构有一定了解才能操作。
1、 fat32存储结构
硬盘在fat32文件系统管理下,其数据信息由磁盘主引导记录mbr、dos引导记录dbr、文件分配表fat、文件目录表fdt及用户数据区五部分组成。
磁盘的排列如图所示:
其中,mbr占用63个扇区(实际只使用一个扇区),dbr占用了32个扇区(实际只使用第1扇区和第6扇区,第6扇区是第1扇区的备份),fat的长度是可以改变的,其随着分区大小,每簇扇区数的变化而变化,dir属于data区的一部分,采用和子目录一样的方式来管理。
1.1 mbr(masterbootrecord)
mbr即硬盘主引导记录,位于整个硬盘的0柱面0磁头1扇区,一共占用63个扇区,实际它只使用一个扇区。
其主要作用是:检查硬盘分区表是否完好;在分区表中寻找可引导的活动分区;并将活动
分区的第一逻辑扇区(dbr)装入内存中加以运行,mbr由主引导程序、硬盘分区表dpt、有效结束标志(55aa)三部分组成。
(1)引导程序:
引导程序占用第一扇区446个字节。
它的功能是检查分区表是否正确以及确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,即执行ntldr(操作系统加载器)文件。
(2)分区表:
分区表dpt(diskpartitiontable)共占用第一扇区64个字节,在mbr中,从地址be开始到fd结束的64个字节就是分区表。
分为4个分区表项,每个分区表项占用16字节。
一个硬盘最多只能分成四个主分区,其中扩展分区也是一个主分区。
随着硬盘容量的迅速扩大,引入的扩展分区不受四个主分区的限制,可以把硬盘分区数扩展到四个以上。
(3)结束标志:
结束标志占用2个字节,位于mbr的最后2个字节上。
其值用55aa 表示。
1.2 dbr(dosbootrecord)
操作系统引导记录区dbr,又叫dos引导记录。
位于柱面0磁头1扇区1,是操作系统可以直接访问的第一个扇区。
dbr分为两部分:dos引导程序和bpb(bios参数块)本分区参数记录表。
dos引导程序:主要完成dos系统文件(io.sys,msdos.sys)的定位与装载,在根目录中寻找到系统文件io.sys、msdos.sys和
winboot.sys,把io.sys文件读入内存,并移交控制权予该文件。
bpb参数块:用来描述本分区的磁盘信息。
包括文件系统格式、根目录大小、簇的大小、fat表的大小等。
当dbr被损坏时,会出现磁盘末格式,如下图所示:
这就是典型的dbr损坏所造成的数据丢失,备份
dbr一般在第6扇区,如果当前dbr丢失可以用第6扇区的备份复制到第1扇区的dbr上恢复。
一般dbr丢失后备份的dbr也会丢失,这种情况下可以使用winhex软件手工填充dbr。
我们需要修改的dbr参数如下,0d:每簇扇区数;0e—0f:保留扇区数;1c—1f:隐含扇区数(系统隐含扇区);20—23:扇区总数;24—27:每fat表的扇区数。
根据以上的数据信息可以手工填充dbr表。
每簇的扇区数的计算可以用3号簇的位置减去2号簇的位置就可以得到每簇扇区数。
而隐含扇区数可以通过定位到fat表的位置得到隐含扇区数。
fat 表大小可以通过fat2的位置减去fat1的位置得到每fat表的大小。
而根目录的位置一般都是在2号簇上。
1.3 fat(fileallocationtable)
fat(fileallocationtable)即文件分配表。
对于fat32格式,在dbr之后就是fat1表的开始位置。
其大小由这个分区的空间大小及每簇的大小决定文件分配表占用扇区的多少凭磁盘类型大小而定。
文件分配表是用来表示磁盘文件的空间分配信息。
为了防止意外损坏,fat一般有两个:fat1、fat2。
fat2是fat1
的备份。
fat32采用4个字节来表示簇的位置。
1.4 dir(根目录区)
在fat32文件系统中,dir的位置一般在分区的fat2表后面,根目录区由许多文件目录项(fdt)组成,记录着根目录下每个文件(目录)的起始簇号、文件的属性等等信息。
1.4.1 文件目录项fdt(filedirectorytable)
fdt记录着每个文件(目录)的文件名、扩展名、起始簇号、文件大小、创建日期等信息。
fat文件分配表与fdt文件目录表相配合,可以统一管理整个磁盘的文件。
fdt告诉系统文件的起始簇号是什么?fat告诉系统文件还占用了那些簇号。
1.5data区(数据区)
data区是真正意义上的数据存储的地方,位于根目录区之后,占
据着硬盘上的大部份存储空间,有价值的数据信息就存在于data 区。
因此,恢复data的数据是我们关注的重点。
2.结束语
根据上面的分析,可以看出fat文件系统采用“fat+fdt”管理方式,由fat和fdt共同管理文件。
以上是本人在教学中的一些教学总结,有可能还存在一些不完善的地方。
参考文献
[1]戴士剑,涂彦晖.数据恢复技术(第2版).电子工业出版
社,2007.9.
[2]马林.数据重现——文件系统原理精解与数据恢复最佳实践.
清华大学出版社,2009.4
the analysis offat32 file system
guangdong yangjiang vocational and technical collegechen jianjun
【abstract】fat32 file system is one of the most frequently used file systems of windows series operating system. the thesis will analyse specifically the storage structure and the data recovery of fat32 system with a view to get a deep understanding of this system.
【key words】storage structure; mbr;dbr;fat;fdt。