今天我们先学习一下Windows下较为常见的一个文件系统NTFS的基本结构及DBR分析,NTFS文件系统作为我们日常较为常用的一个文件系统,所以在数据恢复上学会它非常地重要,那么这篇文章就主要分享NTFS文件系统一个整体概览,以及DBR(分区引导扇区)关键字节的分析与汇总,此为个人学习实践的一些总结,阐述上难免有疏漏,感谢和欢迎各位读者向我提出,感谢支持!
目录
一、前言
我们看下baidu百科对NTFS文件系统的简介:
‘’’
NTFS(New Technology File System)是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。
NTFS文件系统最早出现于1993年的Windows NT操作系统中,它的出现大幅度地提高了微软原来的FAT文件系统的性能。 [2]
NTFS是一个日志文件系统,这意味着除了向磁盘中写入信息,该文件系统还会为所发生的所有改变保留一份日志。这一功能让NTFS文件系统在发生错误的时候(比如系统崩溃或电源供应中断)更容易恢复,也让这一系统更加强壮。在这些情况下,NTFS能够很快恢复正常,而且不会丢失任何数据。在很少出错情况下,微软表示你需要运行CHKDSK修复程序来对磁盘卷进行维护的概率特别低,其概率不到1%。
‘’’
由此可见NTFS文件系统在安全、容错、稳定等方面均有不错的表现,同时也使得我们在做数据恢复时变得简便,话不多说我们直入主题:
创建NTFS文件系统及挂载就比较简单了,我在前面的文章里面有说过,有需要的朋友可以点击左下角或左上角进入我的主页找到相关专栏文章查阅,谢谢!
二、整体结构:
在这里我整理了一张图来帮助大家理解整体的一个结构,这样有助于我们后面的学习,记得,保存多看以防忘记,毕竟熟记文件系统的结构是数据恢复非常基础的,除非你打算只用软件
(图一)NTFS文件系统结构概览
三、DBR字节分析
3.1、找到DBR
DBR即分区引导扇区,它记录了大部分关于引导我们找到这个文件系统数据的关键信息,所以我们要找到数据就要先了解它的结构。
老规矩,我们从MBR(主引导记录)的分区表项处获取DBR的位置
(图二)MBR
因为我们只分了一个分区,所以只有一个分区表项(黄色划线区)
从上图我们可以看出来NTFS分区指示数为:07,而鼠标点击绿色圈出来的00此时查看数据解析器的32bit处,读数2048,也就是说此时向后跳转2048个扇区即可,具体的操作以及MBR各个字节的分析建议可以看一下我的其他文章!
3.2、DBR字节分析
(图三)DBR所在扇区[2048]
相对于上述(图三)扇区,有:
[红框:1]0x000(3):NTFS文件系统DBR头标识
[橙框:2]0x00B(2):每扇区字节数(一般为512字节)
[蓝框:3]0x00D(1):每蔟扇区数,一般来说:/*
卷大小(MB)
每蔟扇区数
<=512
1
513~~1024
2
1025~~2048
4
>=2049
8
*/
[绿框:4]0x01C(4):当前分区的隐藏扇区数也叫保留扇区数;
[黑框:5]0x028(8):该分区的扇区总数(即分区大小);
注意:NTFS文件系统所属分区的最后一个 扇区是DBR备份,不算入该分区的扇区总数,所以在做MBR修复时要注意,即MBR 记录的分区大小要比NTFS文件系统的DBR所记录的要大1,就比如图二MBR记录的 00E8FF07 就比图三DBR记录的FFE7FF07 要大1
[红框:6]0x030(8):MFT的起始蔟号;
计算方法:读数*每蔟扇区数=MFT保留扇区(记住是在当前DBR的基础上跳,也就是MFT所在扇区=当前DBR的隐藏扇区数+MFT保留扇区)
示例:图三读数:786,432*8=6291456,这也就是6291456的由来,事实上大部分NTFS文件系统的MFT都是在DBR处往后跳转6291456
[橙框:7]0x038(8):MFTMirr的起始蔟号,计算方法与上同,一般都是16,即DBR往后16个扇区;
[蓝框:8]0x040(1):文件记录的大小描述,计算方法:
[蓝框:9]0x044(1):索引缓冲大小描述,计算方法与上同
[红框:1]0x1FE(2):NTFS文件系统DBR扇区结束标识
3.2、上述字节说明:
如:[红框:1]0x000(3)
表示offset为0000100000至0000100002共三个字节,也就是,图三中的3号红色框
再如:[黑框:5]0x028(8)
表示offset为0000100028至000010002F共八个字节,也就是,图三中的5号黑色框