【问题标题】:is it possible to overwrite MFT file table in windows api?是否可以在 windows api 中覆盖 MFT 文件表?
【发布时间】:2019-07-09 15:23:10
【问题描述】:

是否可以在 windows api 中覆盖 MFT 文件表。 Windows 何时启动并准备就绪?

我知道我们可以读 MFT,但我问的是写。

【问题讨论】:

  • 你的意思是只是 MFT?或者你会包括打开块设备(或任何 Windows 调用它)并覆盖整个分区?还是在 FS 中找到 MFT 位置并以这种方式编写? (如果文件系统已挂载,可能与 fs 缓存不一致。)
  • 找到每个文件的 mft 位置并写入

标签: c windows system ntfs low-level


【解决方案1】:

Vista 限制原始访问,但如果您先卸载卷,您可能仍然可以这样做。

Changes to the file system and to the storage stack to restrict direct disk access and direct volume access in Windows Vista and in Windows Server 2008.

我不知道您正在编写的程序类型,但它可能属于此类:

备份程序在写入卷之前必须卸载卷。否则,程序写入将与文件系统写入发生冲突。此类冲突将导致损坏或系统不稳定。

如果您跳过他们的所有环节,可能可以写入实时卷,但损坏的风险可能太高,您可能需要调查obscure 和/或未记录的 NTFS IO 控制代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多