深究NTFS文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深究NTFS文件系统相关的知识,希望对你有一定的参考价值。

参考技术A

NTFS文件系统比FAT32复杂多了,小明我上课听得一头雾水。
接下来来详细介绍NTFS文件系统
NTFS文件系统原名为New Tecnology File System(这个称呼有点直接(・∀・)),是现在绝大多数电脑磁盘分区使用的文件系统
其具有以下特点:
安全性较高 ,NTFS文件系统有日志容错功能,所以安全性比FAT文件系统高。
–NTFS文件系统可以 给文件设置访问权限
–文件 压缩 和文件 加密 EFS加密 右键高级设置)
磁盘配额
–NTFS文件系统 支持大分区 (在MBR磁盘最大支持 2T ,在GPT磁盘支持的分区更大)
–NTFS文件系统 支持大文件 大于4G
–NTFS下可创建超过 2TB 的磁盘(注: 硬盘可创建超过其本身大小的虚拟磁盘 ,但是需要选择 动态扩展 而不是固定大小。其文件类型是 vhdx 。)

接下来演示以下NTFS文件的压缩功能(文件系统本身支持的,不借助压缩软件)
右键属性,点击常规中的高级,勾上 压缩内容以便节省磁盘空间

结构类型有两种

这些元文件名都是以 $ 开头的

• 以明文 “FILE” 开头
• 每个MFT项都占用 1024 字节,即 两个扇区
• NTFS文件系统中的所有文件,都有一个MFT项记录相应的数据
• 每个MFT项占用的两个扇区, 最后两个字节 是一个修正值,这个修正值和MFT项中的 更新序列号 相同,如果系统发现 不同 ,就会认为这个MFT项 错误 ,会把开头标志明文“FILE”改成 “BAAD”

每个MFT的属性都可以分成两部分: 属性头 属性体
MFT属性的分类
 • 常驻属性 :直接在 MFT项中 记录属性体,例如10 30
  •优点:直接在MFT项中记录属体,访问速度
  •缺点:只能记录 少量 的数据
 • 非常驻属性 :在 MFT之外 的区域记录属性体,例如80
  •优点:用簇流记录文件存储的数据区域,可以记录很 的数据
  •缺点:访问速度较

一个属性分为 属性头 属性体 用同一种颜色的浅深区分

MFT中30属性,最小为\\x68(104)字节,最大为\\x268(616)字节,可容纳 255 Unicode 字符的文件名

80属性是存储文件数据内容
80属性有两种类型,一种是常驻80属性,一种是非常驻80属性
常驻属性头比较小,体比较大;
非常驻属性头比较大,体比较小

这在winhex很容易辨认
当文件大小 不超过1024字节(一个扇区) 是在一个簇里存,此时80属性为常驻属性;
当文件 大于1024字节 会变成簇流(非常驻)存储方式。
常驻80属性的属性体就是数据内容,可用winhex直接复制到新文件显示。
非常驻的属性体是簇流存储地址

LCN(logical cluster number):整个文件卷的相对位置,单位(簇)。
VCN(virtual cluster number):文件内部的相对位置,单位(簇)。

每个运行列表中第一个字节的低4位表示运行簇大小(filesize)的len,高4位表示起始簇(start)的len。如果一个运行列表后面的第一个字节是00,说明运行列表结束,后面的数值暂时不用管;如果不是00,则是下一个运行列表开始。

0x00~0x3F 是属性头;运行列表在橘黄色框中,0x40开始,可以得到运行列表 33 40 BC 00 00 00 0C。
分析如下:
首先0x33,低4位是3,表示紧随其后的3Byte 0xBC40作为 运行簇大小(簇个数) ,即文件所占总大小;高4位是3,表示簇大小之后的3个Byte 0x0C0000 是 起始簇 ,即文件起始,这里是说的是LCN。
划重点!!!
通过该处簇总个数与28-2F的属性体占用总空间大小,可推算出一个簇的大小
公式为
NTFS中一个簇包含的扇区=
(数据总大小(字节)/512)/簇总个数

分析如下:
第一个运行列表,首先是0x31,低4位是1,表示紧接着的1Byte(03)是运行簇大小;高4位是3,表示紧接着3Byte(65 9A 00)是起始簇,这里说的是LCN;
第二个运行列表,首先是0x11,低4位是1,表示紧接着的1Byte(01)是运行簇大小;高4位是1,表示紧接着3Byte(13)是起始簇,这里说的是VCN。
注意,只有第一个运行列表的起始簇说的是LCN,从第二个运行列表开始每个运行列表的起始簇都说的是VCN。想要得到LCN需要按下面的公式计算:
第n个运行列表的LCN = 第一个运行列表的起始簇(LCN) + 第二个运行列表的起始簇(VCN) +...+第n个运行列表的起始簇(VCN)

部分图片源自 https://www.jianshu.com/p/8471b7f4152a ,侵删

NTFS文件系统的简述

NTFS文件系统的设计思想基于稳定性、和安全性并支持大容量存储设备的文件系统:

1.它提供日志可以增加文件系统的容错率,可以有效的保护系统的安全。NTFS是一个可恢复的文件系统。在NTFS分区上即使强制关机后,一般也不需要运行CHKDSK命令修复磁盘。NTFS文件系统可以通过使用标准的事务处理日志和恢复技术来保证分区的一致性。发生系统失败事件时。NTFS文件系统会使用日志文件和检查点信息自动恢复文件系统的一致性。

2.NTFS文件系统将所有的数据都看作文件,即使是文件系统格式化产生的管理文件系认的数据也被看作一个个文件。整个文件系统都是数据区,不像FAT文件系统一样 还有保留区。这是它与其他的文件系统最大的区别。

3.NTFS支持对分区、文件夹和文件的压缩。任何基于windows的应用程序对NTFS分区上的压缩文件读写时,可以直接读取不需要解压。

4.NTFS分区上,可以为共享资源设置权限,通过这种措施,可以将这种安全隐患降低到最低,这些在FAT文件系统中是不能实现的。

5。NTFS文件系统可以进行磁盘配额管理,磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围的磁盘空间。磁盘配额管理功能使得管理员可以方便合理地为用户分配存储资源,避免由于磁盘空间使用的失控造成系统崩溃。从而提高的系统的安全性。

6.NTFS文件系统除了在windows系统下用,还可以在unix系统下用。

7.NTFS对容量存储的支持非常好,可以支持的卷大小达到2TB。

8.NTFS与FAT文件系统一样,也使用“簇”作为数据存储的最小单位。但因为它将所有的数据当作文件进行管理。所有NTFS文件系统中的所有扇区都被分配簇号,并从0号开始所有的簇进行编号。

友情提醒您,NTFS文件系统是学习数据恢复时必须要掌握好的一项知识点,而且要掌握的很熟练才行。因为在平时做数据恢复时NTFS文件系统占了绝大部分。


本文出自 “林峰数据恢复” 博客,请务必保留此出处http://shujvhuifu.blog.51cto.com/10412640/1795658

以上是关于深究NTFS文件系统的主要内容,如果未能解决你的问题,请参考以下文章

NTFS文件系统概述

NTFS文件系统误删除数据的恢复教程

centos挂载ntfs文件系统

十月个人考核:NTFS文件系统的优点有哪些

了解NTFS文件系统基本构造

NTFS格式是啥?