找回密码

碧海潮声大学生网

查看: 878|回复: 0
打印 上一主题 下一主题

NTFS 和 FAT 文件系统中的尺寸限制

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-11 11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每个文件系统都支持一个最大的卷尺寸,文件尺寸,已经每卷可容纳的文件最大数量。因为 FAT16 和 FAT32 分别支持 4GB 和 32GB 的卷,要创建大于 32GB 的卷,就必须使用 NTFS 格式。如果在多系统共存的计算机中使用 FAT16 或 FAT32 格式,就必须对其尺寸限制有所了解:

一、小于 16MB 的 FAT 卷会被格式化为 FAT12 格式

二、使用 MS-DOS,Win95,Win98,WinMe,以及其它很多操作系统的计算机,其 FAT16 卷如果超过 2GB 就不可访问了。这个 2GB 的限制是由于这些操作系统不支持超过 32KB 的簇。

三、理论上说,FAT32 卷可以达到约 8TB;而实际上,WinXP Professional 可以格式化的最大 FAT32 卷也就是 32GB 而已。所以,必须使用 NTFS 格式来格式化超过 32GB 的卷。但,WinXP Pro 可以读写用其它操作系统格式化的更大的 FAT32 卷。

四、如果要建立包含多个物理磁盘的卷,例如跨区卷和带区卷,那么卷的大小就取决于每块磁盘上所使用了的空间。在多物理磁盘上创建大于 32GB 的卷,仍然要使用 NTFS 格式。

有关 FAT16 和 FAT32 的更多信息,参见“FAT 文件系统”。

NTFS 卷上的最大尺寸

理论上,NTFS 的最大卷包含 264减 1 个簇。实际上,WinXP Pro 中,NTFS 卷的最大限制是 232减 1 个簇。举例来说,如果是 64KB 的簇,那 NTFS 卷的最大尺寸就是 256TB 减 64KB 这么大。如果使用默认的 4KB 簇,NTFS 卷的最大尺寸就是 16TB 减 4KB 这么大了。

由于主引导记录(MBR)中分区表的限制,硬盘仅仅支持最大 2TB 的分区。要超过这个限制,必须建立 NTFS 的动态卷。Windows XP Professional 使用了一种有别于分区表的特殊的数据库来管理动态卷,这就是动态卷可以超过在分区表中 2TB 限制的原因。动态 NTFS 卷可以达到 NTFS 支持的卷尺寸的最大限制。使用 GUID 分区表的安腾计算机也可以支持超过 2TB 的 NTFS 卷。



如果在一个 NTFS 文件夹中包含了大量的(300,000 或更多)的文件,请禁止生成短文件名,特别是当长文件名的前 6 个字符相近的时候。详见后续译文“NTFS 性能优化”。

NTFS 性能优化

NTFS 的性能受很多因素影响,比如簇的大小,磁盘碎片的多少,以及象反病毒软件等应用程序的使用情况等等。此外,NTFS 的一些特性,如压缩和索引服务同样可能影响其性能。可以通过下面的一些方法来优化 NTFS 的性能。

簇的大小

在格式化一个 NTFS 卷之前,你首先要对自己要保存在该卷上的文件的类型做一个评估,以便决定是否使用默认的簇大小。即,重要的是先回答:

这些(要保存)的文件是否大小基本一致?

是否大部分文件的尺寸要小于默认簇的大小?

这些文件的尺寸是不变的还是常变的?

如果大部分文件都小于默认簇的大小(比如 4KB)并且都保持文件尺寸不变,使用默认簇大小将减小磁盘空间的浪费。因为,此时簇的尺寸变小将增加碎片产生的可能,尤其当这些(4KB 左右)的文件占用了超过一个簇的空间的时候。所以这时候可以在格式化卷的时候对簇的大小做相应的设定。如果要存储的文件会比较大,或者尺寸可能会增大,就该用 16 或 32KB 的簇来替代 4KB 的簇。

注意:压缩功能只在 4KB 或更小的簇为基本存储单位的卷上才可以实现。

在 Windows2000 或更早版本的 windows 产品中从 FAT 到 NTFS 转换的时候也可能影响簇的大小。因为,被转换的卷,簇的大小是 512 byte,主文件表(MFT)也很可能在转换过程中产生碎片。作为优化性能的考虑,应该备份该卷的所有数据,重新格式化该卷,并在格式化的过程中指定簇的尺寸,然后再恢复数据。

如果想进一步了解对簇的尺寸选择的相关知识,请参考本章前面讲过的“簇尺寸”内容。

短文件名

每当建立一个长文件名的文件时,NTFS 就会自动产生一个类似 8-3 短文件名的备份条目。8-3 短文件名即用 8 个字符表示文件名,3 个字符表示文件的扩展名,文件名和扩展名之间用一个句点隔开。

如果在一个文件夹中包含了非常多(例如 300,000 个或更多)的文件,而且所有文件都采用了长文件名规则命名并且初始的字符都相同,那么建立这些文件所需的时间就要增多。这是由于 NTFS 是根据长文件名的前 6 个字符来建立短文件名索引的。在多于 300,000 个文件的一个文件夹中,由 NTFS 用 8-3 规则建立文件名相似的长文件所对应的短文件名备份时会产生冲突。这种在建立新的短文件名时和已经存在的短文件名之间的冲突,会使 NTFS 在建立新文件的时候,所耗费的时间是没有这种冲突时的 6 到 8 倍。

要减少这种在建立新文件时所耗费的时间,可以在命令提示符下使用 fsutil behavior set 这个命令来禁用 8-3 规则以优化文件系统性能。详见本章最后部分:“在 NTFS上建立 MS-DOS-可读取的文件名”。

如果既要让 NTFS 使用 8-3 命名规则建立文件名备份,又要提高其系统性能,可以通过建立命名规划,使长文件名在文件名的开始而不是在结尾来体现文件名的不同。详见“WindowsXP Professional 中的文件名”一节。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋| 碧海潮声大学生网  

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.2( 浙ICP备11026473号 )

快速回复 返回顶部 返回列表