NTFS文件系统可以自动地修复磁盘错误而不会显示出错信息。
WindowsNT/2000/XP向NTFS分区中写入文件时,会在内存中保留文件的一份拷贝,然后检查,磁盘中写入的文件与内存中保留的拷贝是否一致。如果两者不一致,Windows就把相应的扇区标为坏扇区而不再使用它(即簇重映射),然后,用内存中保留的文件拷贝重新向磁盘上写文件。如果在读文件时出现错误,NTFS返回一个读错误信息,并告知相应的应用程序数据 已经丢失。二、安全性:
NTFS有许多安全性能方面的选项,可以在本机上和通过远程的方法保护文件及目录。NTFS还支持陪槐加密文件系统EFS(Encrypting File System),可以阻止没有授权的用户访问文件。三、文件压缩(Compress):
NTFS支持文件压缩功能,用户可以选择压缩单个文件或整个文件夹。四、磁盘配额(Disk Quotas):
磁盘配额功能允许系统管理员管理分配给各个用户的磁盘空间,合法用户只能访问属于自己的文件,Windows
NT/2000/XP中的磁盘配额功能是基于用户和卷(Windows NT/2000/XP下歼乱简文件系统以卷为单位划分,相当于Windows 95/98/Me下逻辑分区的概念)的所谓磁盘配额,就是管理员可以对本域中的每个用户所能使用的氏裤磁盘空间进行配额限制,即每个用户只能使用最大配额范围内的磁盘空间
NTFS的优点:
(1)更安全的文件保障,提供文件加密,能够大大提高信息的安全性。
(2)更好的磁盘压缩功能。
(3)支持最大达2TB的大硬盘,并且随着磁盘容量的增大,NTFS的性能厅没氏不像FAT那样随之降低。
(4)可以赋予单个文件和文件夹权限。对同一个文件或者文件夹为不同用户可以指定不同的权限。在NTFS文件系统中,可以为单个用户设置权限。
(5)NTFS文件系统中设计的恢复能力无需用户在NTFS卷中运行磁盘修复程序。在系统崩溃事件中,NTFS文件系统使用日志文件和复查点信息自动恢复文件系统的一致性。
(6)NTFS文件夹的B-Tree结构使得用户在访问较大文件夹中的文件时,速度甚至比访问卷中较小的文件夹中的文件还快。
(7)可以在NTFS卷中压缩单个文件和文件夹。NTFS系统的压缩机制可以让用户直接读写压缩文件,而不需要使用解压软件将这些文件展开。
(8)支持活动目录和域。此特性可以帮助用户方便灵活地查看和控制网络资源。
(9)支持稀疏文件。稀疏文件是应用程序生成的一种特殊文件,文件尺寸非常大扮散,但实际上只需要很少的磁盘空间,也就是说,NTFS只需要为这种文件实际写入的数据分配磁盘存储空间。察棚
(10)支持磁盘配额。磁盘配额可以管理和控制每个用户所能使用的最大磁盘空间
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 ,侵删
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)