成野 发表于 2012-1-23 22:23:12

NTFS 格式化

请问:将Fat的文件系统格式化为NTFS的文件系统时,MFT是如何生成的?即操作系统是如何确定MFT的生成位置?请给出算法,谢谢!

junyi_de 发表于 2012-1-24 06:36:08

MFT如何生成,这个程序写好的啊,是NTFS 磁盘驱动的工作,每次系统都要先加载这个驱动才能从磁盘读写数据的。

MFT的位置在磁盘什么地方,这个应该是由NTFS版本确定的,当然微软说了算啊。至于第三方软件格式化时MFT在哪个位置段,应该参考微软的技术文档吧,不能乱放的吧。

据我所知,xp版本以后全新格式化一个分区,MFT起始位置开始于786432 号族。至于算法,我觉得微软应该规定了MFT就是开始于分区的第几号族(如果分区大小大于某个容量),对于小于这个容量的分区,MFT开始于分区总族数的XX %号族(33% ? 猜的),应该就是这样,没啥特别的算法。

如果说你想知道从FAT转换到NTFS的时候MFT的位置,这个还真不好说了,如果说分区很满的话,可能还转换不了,因为没有足够的地方来生成元文件。至于转换成功后MFT在什么地方,应该是哪里有空位就放哪了,当然这里面还需要考虑到MFT有一个预留区域,选位置时倒要一个合适的空白区域。

如果谁有更官方说的数据或技术文件,麻烦也告诉我一下,我也想知道。

成野 发表于 2012-1-25 18:31:05

虽然不是很明白,当是我感谢你热情的回答!

成野 发表于 2012-1-25 18:31:36

虽然不是很明白,当是我感谢你热情的回答!

rebeva 发表于 2013-8-3 21:57:54

感谢你热情的回答!

神奇而不烦 发表于 2017-3-13 14:50:30

感谢你热情的回答!

wrh58366843 发表于 2017-3-31 09:32:06

我见过的基本上MFT的位置都是在DBR下面600000(H)扇区

3.4T黄 发表于 2019-10-28 19:26:18

一般MFT在DBR后的第6291456号扇区

0o酱 发表于 2019-11-7 10:28:12

$MFT一般在$Boot后的786432簇处,每簇扇区数一般情况下是8,在$Boot后2个簇的位置内有$MFTmir,是$MFT中前四个文件记录的备份
页: [1]
查看完整版本: NTFS 格式化