将 FAT 转换为 NTFS 所需的可用空间

文章翻译 文章翻译
文章编号: 156560 - 查看本文应用于的产品
本文的发布号曾为 CHS156560
展开全部 | 关闭全部

概要

从 FAT 文件系统到 NTFS 的磁盘分区转换需要一定的可用磁盘空间,以用于建立 NTFS 磁盘结构。本文介绍使用 Convert.exe 将 FAT 转换为 NTFS 的步骤并讨论转换所需要的空间。

更多信息

FAT 和 NTFS 使用不同的磁盘结构表示文件的空间分配。这些结构通常被称作图元数据或文件系统的开销。

FAT 文件系统的图元数据由下列各项组成:即引导扇区、一个或多个文件分配列表、一定大小的根目录结构以及与子目录中的文件数目相关的每个子目录的可变空间。

与 FAT 和 NTFS 相关的另一种开销与两种文件系统按一定大小的簇分配磁盘空间有关。这些分配单元或簇的实际大小是在格式化时确定的,默认大小取决于卷的大小。对于大小相近的卷而言,NTFS 所默认的簇的大小小于 FAT 的默认大小。

由于文件数据的空间仅可以按整个簇的数量进行分配,所以在 FAT 卷上即使一个字节文件最后也将使用相当于一个簇的磁盘空间。NTFS 的情况与 FAT 类似,但是相比 FAT 稍微复杂一些,在本文中将不做详细介绍。

与 FAT 一样,NTFS 有一定数量的容量开销与一定数量的各个文件的开销。为了支持 NTFS 的高级功能(如可恢复性、安全性、大容量支持等等),NTFS 图元数据开销稍大于 FAT 图元数据开销。另一方面,由于 NTFS 簇开销小于 FAT 簇开销,即使不使用 NTFS 文件压缩,NTFS 卷上通常也能存储不多于但至少也会等同于 FAT 卷上的数据量。

为避免在转换过程中由于转换失败而使文件受到破坏的可能性,Convert.exe 必须使用 FAT 文件系统所认可的可用空间建立 NTFS 图元数据。这样,如果转换无法完成,用户文件的 FAT 表示仍旧有效。使得该方法复杂化的原因在于其中一个 NTFS 数据扇区必须占用磁盘上的指定位置,同时数量有限的某些其它结构必须占用临接扇区。

转换过程的一般概述如下:
  1. 为固定位置的 NTFS 结构与其它临接数据(如有必要)创建一些空位(即重新分配 FAT 簇)并保存新的 FAT。例如,如果由于不可读的原因,必要的扇区无法使用,转换过程会失败且 FAT 卷与试图转换前的状态将保持一致。
  2. 在 FAT 可用空间中创建 NTFS 基本数据结构。它们是适用于任何 NTFS 卷的固定大小的表示结构。这些表的大小可能因卷的大小而有所不同,但这并不取决于卷上的文件的个数。
  3. 在 FAT 可用空间中创建 NTFS 主控文件表与目录列表。该步骤所需的空间是可变的并取决于在 FAT 卷上的文件总个数。
  4. 将那些由 FAT 指定结构所使用的 NTFS 簇在 NTFS 位图中标记为可用。转换完成之后,FAT 图元数据开销可以重新作为 NTFS 的可用空间。
  5. 写 NTFS 引导扇区。这是导致卷被识别为 NTFS 而非 FAT 的最后一步操作。如果转换在此步骤之前的任一步骤失败,该卷将仍将是有效的 FAT 卷并将识别为 FAT 卷。
由于在任何时候均有可能发生崩溃,上述过程最大限度减小了磁盘破坏的可能性。

备注:几乎所有写操作是到 FAT 可用空间的,因此转换失败会使 FAT 保持原样。

例如,只有当转换失败可能会引起问题时,我们才写入非可用空间,这些情况包括:
  • 在步骤 1 的最后,当“转换”覆盖 FAT 时。重新分配簇的算法可以保证:如果在该过程中出现转换失败,CHKDSK 将可以修复磁盘而不丢失任何数据。
  • 在步骤 5,写引导扇区时。如果在该步骤中出现故障,且正在转换的卷是系统分区(用于引导系统的活动主分区),就有可能使系统停留在它无法开始的状态。发生这种情况(一般不可能发生)时,仍有可能使用启动软盘启动系统。
Convert.exe 根据在 FAT 卷上预先存在文件的个数以及卷的大小进行计算以统计出在开始转换之前需要多少可用空间。对于标准硬件(每个扇区有 512 字节的硬盘),计算方法为:
  1. 开始时,将卷的大小(以字节为单位)除以 100。 如果该值小于 1,048,576,则取 1,048,576。如果该值大于 4,194,304,则取 4,194,304。
  2. 对上述值加上以字节为单位的卷大小除以 803 的数值。
  3. 对上述值加上卷上的文件与目录的个数乘以 1280 的数值。
  4. 对上述值加上 196,096。
除上述算法之外,如果在 FAT 卷上有扩展属性信息,Convert.exe 将考虑所需要的额外空间。扩展属性信息通常不提供,而且在系统已运行 OS/2 且使用扩展属性时才考虑提供。

上述算法基本上反映了由 Convert.exe 所执行的算法。在给定系统上所获得的实际结果可能会稍微有所不同。

备注:这是在尝试转换之前 Convert.exe 所需要的可用空间。该算法考虑了在 FAT 可用空间中可能遇到坏扇区的可能性。但是,在卷有足够可用空间可以开始转换且发现磁盘空间的重要碎片不可用的情况下,转换过程可能会失败。如上所述,这将不会导致磁盘损坏。卷应自动退回为 FAT 的状态。

属性

文章编号: 156560 - 最后修改: 2004年9月21日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
关键字:?
kbhowto kbenv KB156560
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com