直接用Convert命令转换文件格式合理吗
技巧与实践
×直接用Convert命令将FAT32转换成NTFS文件系统
∨创建一个占位文件,转换时加参数“/cvtarea”
我们有两种方法获得NTFS文件系统的硬盘分区:使用格式化工具将现有分区格式化为NTFS文件系统,或者使用系统自带的Convert.exe程序将FAT或FAT32文件系统转换为NTFS文件系统。不过你有没有想过,这两种方法获得的NTFS分区有什么区别?当然,相对来说格式化获得的NTFS分区是最好的,但对于很多老用户来说,不可能将硬盘格式化后再转换文件格式,这时候我们就要用到的Convert命令来转换。今天,我们主要讨论通过Convert.exe转化而来的分区存在的问题。
文件格式转换有讲究
我们都知道,FAT文件系统的全称是“File Allocation Table(文件分配表)”,FAT和FAT32文件系统也是靠文件分配表来标记硬盘分区中每个扇区每个磁道上所保存的文件信息的。而NTFS文件系统则使用了MFT(Master File Table,主文件分配表)标记每个扇区及磁道上的文件。
将FAT/FAT32文件系统转换为NTFS文件系统的过程中一个很重要的工作就是将FAT/FAT32文件系统所用的FAT转换为NTFS文件系统所用的MFT。这里就容易产生性能上的降低。因为是转换而来的,因此MFT可能会分散保存在硬盘分区的不同位置,相对格式化产生的MFT,分散的(也就是包含碎片的)MFT在性能上自然比不上连贯的MFT,同时在使用过程中,分散保存的MFT将变得越来越分散。因为MFT是重要的系统文件,系统自带的磁盘碎片整理程序并不能在Windows运行着的状态下对该文件整理磁盘碎片。所以,为了在转换后不因为产生分散的MFT而影响硬盘读写性能,我们要使用一个额外的步骤:添加/cvtarea参数。
正确的转换方法
这个方法的主要思路是:首先通过计算测算出该分区转换后MFT所占的硬盘空间大小,然后创建一个同等大小的占位文件。随后使用磁盘碎片整理程序整理硬盘,保证这个占位文件在硬盘上保存的连续性,接着转换文件系统,并通过/cvtareaca参数让Convert程序将以前创建的占位文件删除,并使用删除后空出的连续空间创建MFT,以间接达到产生连续的MFT的目的。
第一步: 使用Windows XP自带的磁盘碎片整理程序整理你打算转换的分区(例如C盘),以合并该分区上的所有可用空间。
第二步: 计算将要创建的MFT的尺寸。默认的MFT的尺寸等于硬盘分区大小的12.5%,因此,对于10GB大小的分区,MFT的尺寸将会是1.25GB。如果你的分区大小超过了40GB,MFT的尺寸将会是固定的4GB。
小提示:这里有一点需要注意,我们在下面的操作中需要根据计算出来的MFT的体积创建一个同样大小的占位文件。因为FAT32文件系统上能够保存的文件最大不能超过4GB(FAT分区则更小),所以如果你要转换超过40GB的FAT32分区,那么就会因为无法创建4GB的文件而无法继续后面的操作。这种情况下你只能使用格式化的方法获得高性能的NTFS分区了。
第三步: 使用Fsutil.exe命令创建一个占位文件,其大小等于此前计算的MFT的大小,该文件必须创建于要转换的分区的根目录下。
具体操作:
1.运行“CMD”命令打开命令提示符,输入下列命令并回车:
fsutil file createnew c:\testfile.txt 1250000000
注:这个命令将会在C盘根目录下创建一个名为testfile.txt,大小为1.25GB的占位文件。当然,你可以使用任意的文件名,但是文件的大小必须符合此前计算出来的MFT的大小。这时候还要重新运行磁盘碎片整理程序,整理目标分区上的磁盘碎片。
2.重新打开命令提示行窗口,输入下列命令:
Convert c: /fs:ntfs /cvtarea:testfile.txt
因为C盘通常是系统盘,因此你也许需要重启动系统以完成转换。在转换完成后,此前创建的占位文件会被自动删除,同时Convert.exe程序使用了此前创建的占位文件的空间来保存MFT,这也就保证了MFT的连贯性,性能方面则不会受任何影响。
董师傅点评:我们的操作全部是按照给MFT分配12.5%空间的默认设置进行的,毕竟本文主要是解决如何创建连续的MFT,并不打算对硬盘分区到底需要多少空间保存MFT做过多讨论。如果你的硬盘分区比较大,觉得这样有些浪费,那么也可以适当减少MFT占用的空间比例。
要创建连续的MFT文件,我们还有其他方法,就是使用磁盘碎片整理程序。当然,这里说的并不是Windows自带的磁盘碎片整理程序,而是其他第三方工具,这类工具通常都具有类似“脱机整理”的功能,可以将分散的MFT碎片整理起来。例如O&O Defrag,如果你觉得本文的方法有难度,也可以考虑直接转换,然后使用工具整理碎片。
大家应该还记得这样的问题:新建一个分区,格式化之后,发现可用空间的总数比分区总体积要小。在阅读本文后应该可以解答你的疑惑了吧,除了厂商和平时我们对磁盘空间算法不一样以外,还有一部分空间被文件系统用来保存MFT信息,以及其他一些和文件系统相关的信息了。