文件的建立与删除
文件大家都不陌生吧。但是对于文件的建立与删除是否也那么的熟悉呢!不是很了解的话也没关系的,下面就由小编来为大家介绍一下NTFS文件系统下建立与删除文件的过程。
首先建立文件 我们要建立一个文件“\子目录l\file.Txt”,假设目录“子目录l”已经存在于根目录下。要建立的文体大小为7000个字节,每簇大小4096个字节。
步骤1:读取文件系统第一个扇区的引导扇区.获取簇大小、MFT起始位置以及每个MFT项的大小。
步骤2:读取第一个MFT项,即$MFT文件的MFT项,由它的$DATA属性获取其他MFT的位置。
步骤3:首先为准备新建的文件建立MFT项一访问SMFT文件的$BITMAP屈性,找到一个未分配的项。第一个空闲项为400号,把它分配给新文件,并将$BITMAP中的相应位置置为1。
步骤4:初始化MFT项——跳转400号MFT项的位置,将其中的内容清除。建立标准信息属性($STANDARD_INFORMATION)和文件名属性($FILE_NAME),时间值设置为当前时间。在MFT项头中设置使用中标记。
步骤5:下面需要从使用6号MFT项的$Bitmap文件中为文件的$DATA属性寻找并分配两个簇,因为文件需要两个簇的空间。使用最佳分配策略找到两个连续的空闲簇722和723号簇,将其相应的bit设置为1。将文件内容写入簇中,更新$DATA属性中的簇地址。修改了MFT项,所以更新文件的最后修改时间值。
步骤6:下一步将其中间文件名项。访问使用5号MFT项的根目录,定位“子目录1”.读取索引跟属性($INDEX_ROOT)和索引分配属性($INDEX_ALLOCATION),在倒置树中分类寻找,找到“子目录1”的索引项,它的MFT项地址为200,更新目录的最后访问时间。
步骤7:跳转到200号MFT项,访问它的索引根属性($INDEX_ROOT),寻找将为file.txt分配的空间。为其建立一个新的索引项,重新对倒置树进行分类。新索引项的文件参考号地址是400号MFT项。设置相应的时间值和标志。更新目录的最后写入、最后修改、最后访问时间值。
步骤8:在前面的每一步中,在文件系统日志中建立项并将改变记入\$extend\$usrrnl,如果设置了配额管理,新文件的大小将记入用户的配额中(\$extemd\$quota)。
希望上面的内容会对您有所帮助,更希望您有更好的研究与我们共享,遇到问题时可以随时拨打我们的全国统一咨询电话:400-811-7471。或是想知道关于更多的数据恢复方面的知识可以浏览我的官方网站:www.twshuju.net。 |