如果断电,只能附加 NTFS 文件会损坏吗?

Bru*_*nez 5 power crash ntfs

NTFS 记录元数据,因此如果机器出现故障,文件系统本身不会损坏。我读到文件数据本身并非如此。但是如果数据只附加在文件的末尾呢?我认为数据库会这样做,所以大概是安全的,但我找不到文档。我想在开机后安全地恢复下载。

Ben*_*n N 0

这取决于。TM 来自 TechNet,重点是我的:

NTFS 使用事务日志记录和恢复来保证卷结构不被损坏。

理论上,NTFS 保证所有卷结构更新要么全部位于磁盘上,要么全部不位于磁盘上。因此,电源恢复后将出现以下两种情况之一:

  1. 该文件是原来的大小,并且您的新数据不存在
  2. 该文件具有新的大小,并且您的新数据是...哦等等

NTFS 日志记录的目的是确保在断电时簿记和元数据正在进行更改时不会被破坏。这是通过变更日志完成的。(我听说过断电后出现坏扇区的轶事,但我找不到任何官方消息来源来证实这种事情的发生。)

然而,用户数据并不总是在您认为写入时写入,尤其是在存在写入缓存的情况下。即便如此,在这种情况下,您的卷很好,现有数据不会发生任何问题,因为它没有更新。

也就是说,如果您的下载应用程序不是为处理此类情况而设计的,则完全有可能文件已扩展,但新部分填充了零。如果应用程序更新多个位置,则任何操作系统写入缓存都会使您对用户数据写入时间所做的假设无效。(FILE_FLAG_WRITE_THROUGH可能有帮助,但如果启用了高级性能,即使这一点也可以被忽略。)