<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=NTFS</id>
	<title>NTFS - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=NTFS"/>
	<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=NTFS&amp;action=history"/>
	<updated>2026-04-07T16:55:07Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=NTFS&amp;diff=1050&amp;oldid=prev</id>
		<title>Zhang3：创建页面，内容为“{{Filesystems}}  NTFS ('''New Technology File System''') 是Windows NT的原生文件系统。 它不仅基于HPFS，还支持访问控制等安全功能。 因为Windows NT完全是Unicode，所以NTFS是Unicode文件系统，每个字符(例如名称)是16位而不是8位。   == 关于 == NTFS不仅为HPFS添加了安全功能。 在NTFS中，有更多的内置冗余。 例如: 在 HPFS 中，清除错误位置的扇区会使整个卷无法访问…”</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=NTFS&amp;diff=1050&amp;oldid=prev"/>
		<updated>2022-03-28T06:28:57Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{Filesystems}}  NTFS (&amp;#039;&amp;#039;&amp;#039;New Technology File System&amp;#039;&amp;#039;&amp;#039;) 是Windows NT的原生文件系统。 它不仅基于&lt;a href=&quot;/index.php?title=HPFS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;HPFS（页面不存在）&quot;&gt;HPFS&lt;/a&gt;，还支持访问控制等安全功能。 因为Windows NT完全是Unicode，所以NTFS是Unicode文件系统，每个字符(例如名称)是16位而不是8位。   == 关于 == NTFS不仅为&lt;a href=&quot;/index.php?title=HPFS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;HPFS（页面不存在）&quot;&gt;HPFS&lt;/a&gt;添加了安全功能。 在NTFS中，有更多的内置冗余。 例如: 在 &lt;a href=&quot;/index.php?title=HPFS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;HPFS（页面不存在）&quot;&gt;HPFS&lt;/a&gt; 中，清除错误位置的扇区会使整个卷无法访问…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Filesystems}}&lt;br /&gt;
&lt;br /&gt;
NTFS ('''New Technology File System''') 是Windows NT的原生文件系统。 它不仅基于[[HPFS]]，还支持访问控制等安全功能。 因为Windows NT完全是Unicode，所以NTFS是Unicode文件系统，每个字符(例如名称)是16位而不是8位。 &lt;br /&gt;
&lt;br /&gt;
== 关于 ==&lt;br /&gt;
NTFS不仅为[[HPFS]]添加了安全功能。 在NTFS中，有更多的内置冗余。 例如: 在 [[HPFS]] 中，清除错误位置的扇区会使整个卷无法访问。 还增加了对文件的多硬链接（multiple hard-links）的支持（在NTFS之前，唯一容易访问的是通过POSIX子系统，但Windows 2000（NT 5）也将其添加到Win32）。&lt;br /&gt;
&lt;br /&gt;
NTFS支持任意数量的文件分叉(与Mac OS非常相似，不同之处在于Mac OS始终为每个文件严格有2个分叉)。&lt;br /&gt;
&lt;br /&gt;
[[HPFS]] 规定一个簇总是512字节长，并且一个簇总是一个扇区。 为了性能和与某些（尤其是日本）机器的兼容性，NTFS允许不同大小的扇区。 它还支持多个扇区的簇，这可能会提高性能。&lt;br /&gt;
&lt;br /&gt;
简而言之，ntfs最重要的变化:&lt;br /&gt;
* 更好、更安全。&lt;br /&gt;
* 指向一个文件的多硬链接。&lt;br /&gt;
* 任意数量的分叉。&lt;br /&gt;
* 可变的簇和扇区大小（通常会带来更好的性能）。&lt;br /&gt;
&lt;br /&gt;
== 实现 ==&lt;br /&gt;
NTFS可能是最难处理的文件系统之一，尤其是因为缺乏黑客指导和可靠的文档。 自内核2.4以来，在Linux源代码库中可以找到一个只读的稳定驱动程序，而Linux 2.6附带了一个实验性的读写驱动程序。&lt;br /&gt;
&lt;br /&gt;
NTFS-3G项目明显有一个针对Linux/FreeBSD/BeOS的读/写实现，目前处于“测试版”开发阶段。&lt;br /&gt;
&lt;br /&gt;
== 结构 ==&lt;br /&gt;
&lt;br /&gt;
NTFS格式是围绕“文件”表构建的，这些表允许操作系统存储和读取预定义属性和自定义属性。&lt;br /&gt;
&lt;br /&gt;
NTFS引导扇区类似于其他文件系统，如FAT。&lt;br /&gt;
&lt;br /&gt;
{| {{wikitable}}&lt;br /&gt;
! 字段&lt;br /&gt;
! 类型&lt;br /&gt;
|-&lt;br /&gt;
|JMP || int8_t[3]&lt;br /&gt;
|-&lt;br /&gt;
|OEM System || char[8]&lt;br /&gt;
|-&lt;br /&gt;
|Bytes Per Sector || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Sectors Per Cluster || int8_t&lt;br /&gt;
|-&lt;br /&gt;
|Reserved Sector Count || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Table Count || int8_t&lt;br /&gt;
|-&lt;br /&gt;
|Root Entry Count || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Sector Count || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Media Type || int8_t&lt;br /&gt;
|-&lt;br /&gt;
|Sectors Per Table || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Sectors Per Track || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Heads || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Hidden Sector Count || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Sector Count (32-bit) || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Reserved || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Sector Count (64-bit) || uint64_t&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
紧跟其后的是特定于NTFS的报头。&lt;br /&gt;
&lt;br /&gt;
{| {{wikitable}}&lt;br /&gt;
!字段&lt;br /&gt;
!类型&lt;br /&gt;
|-&lt;br /&gt;
|Master File Table Cluster || uint64_t&lt;br /&gt;
|-&lt;br /&gt;
|Master File Table Mirror Cluster || uint64_t&lt;br /&gt;
|-&lt;br /&gt;
|Clusters Per Record || int8_t&lt;br /&gt;
|-&lt;br /&gt;
|Reserved || int8_t[3]&lt;br /&gt;
|-&lt;br /&gt;
|Clusters Per Index Buffer || int8_t&lt;br /&gt;
|-&lt;br /&gt;
|Reserved || int8_t[3]&lt;br /&gt;
|-&lt;br /&gt;
|Serial Number || uint64_t&lt;br /&gt;
|-&lt;br /&gt;
|Checksum || uint32_t&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
使用“主文件表簇（Master File Table Cluster）”和“每个簇的扇区（Sectors Per Cluster）”值，您可以找到主文件表。  此表包含文件系统中每个对象的条目，包括文件、文件夹和表本身。  主文件表中每个记录的大小可以使用启动扇区中的“每个记录的簇数（Clusters Per Record）”和“每个簇的扇区数（Sectors Per Cluster）”字段来计算。&lt;br /&gt;
&lt;br /&gt;
每条记录都以相同的头结构开始。&lt;br /&gt;
&lt;br /&gt;
{| {{wikitable}}&lt;br /&gt;
! 字段&lt;br /&gt;
! 类型&lt;br /&gt;
|-&lt;br /&gt;
|Record Type || char[4]&lt;br /&gt;
|-&lt;br /&gt;
|Update Sequence Offset || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Update Sequence Length || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Log File Sequence Number || uint64_t&lt;br /&gt;
|-&lt;br /&gt;
|Record Sequence Number || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Hard Link Count || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Attributes Offset || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Flags || uint16_t&lt;br /&gt;
|-&lt;br /&gt;
|Bytes In Use || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Bytes Allocated || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Parent Record Number || uint64_t&lt;br /&gt;
|-&lt;br /&gt;
|Next Attribute Index || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Reserved || uint32_t&lt;br /&gt;
|-&lt;br /&gt;
|Record Number || uint64_t&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
文件记录的其余部分包含此记录的其他表和数据。  “Attributes Offset”字段包含此记录的属性列表开头的字节偏移 (从记录的开头开始)。&lt;br /&gt;
&lt;br /&gt;
属性的长度可变，但总是以相同的序列开头。&lt;br /&gt;
&lt;br /&gt;
{| {{wikitable}}&lt;br /&gt;
! 字段&lt;br /&gt;
! 类型&lt;br /&gt;
|-&lt;br /&gt;
| Attribute Type || uint32_t&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
如果“Attribute Type”字段包含值0xFFFFFFFF，则标志着属性列表的结束。  否则，属性序列与属性 “记录” 的长度连续。&lt;br /&gt;
&lt;br /&gt;
{| {{wikitable}}&lt;br /&gt;
! 字段&lt;br /&gt;
! 类型&lt;br /&gt;
|-&lt;br /&gt;
| Attribute Length || uint32_t&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
此长度值定义属性记录的总长度，包括 “Attribute Type” 和 “Attribute Length” 字段。&lt;br /&gt;
&lt;br /&gt;
==另见==&lt;br /&gt;
=== 外部链接 ===&lt;br /&gt;
* [https://flatcap.org/linux-ntfs/ntfs/index.html Guide to NTFS]&lt;br /&gt;
* [https://www.writeblocked.org/resources/NTFS_CHEAT_SHEETS.pdf Cheat sheet]&lt;br /&gt;
* [http://www.linux-ntfs.org/ The Linux NTFS project]&lt;br /&gt;
* [http://www.ntfs-3g.org/ NTFS-3G Read/Write Drivers For Linux/FreeBSD/BeOS]&lt;br /&gt;
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/ntfs;hb=HEAD Linux fs/ntfs tree]&lt;br /&gt;
* [http://www.opensource.apple.com/source/ntfs/ Apple Open Source NTFS site]&lt;br /&gt;
&lt;br /&gt;
[[Category:Filesystems]]&lt;br /&gt;
[[de:NTFS]]&lt;/div&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
</feed>