我正在尝试从 MFT 中删除一个文件记录,如果我打开原始分区并通过解析 MFT 文件到达所需的文件记录,我会成功执行该记录。这种方法的问题是我必须先锁定卷,以便我可以在任何 MFT 文件记录上写入零,并且如果其他一些进程正在持有卷锁定(这很可能),由于 Windows 操作系统,写入原始卷失败限制。
我想到的另一种方法是将“$MFT”作为文件打开,然后对其进行读写。通过这种方式,我认为我不必锁定音量。但是当我尝试通过 createfile winapi 函数打开 $MFT 文件时,即使我以管理员身份运行我的程序,也会引发“访问被拒绝”错误?
我的问题是如何打开 $MFT 系统文件进行读写?windows操作系统是否允许系统文件以正常方式读写?如果没有,我还能做什么?
任何帮助,将不胜感激。