NTFS 记录元数据,因此如果机器发生故障,文件系统本身不会损坏。我读到文件数据本身不是这种情况。但如果数据仅附加在文件末尾怎么办?我认为数据库会这样做,所以大概是安全的,但我找不到文档。我想在开机后安全地恢复下载。
答案1
这取决于情况。TM 来自 TechNet,重点是我的:
NTFS 使用事务日志和恢复来保证卷结构没有损坏。
理论上,NTFS 保证卷结构更新要么全部保存在磁盘上,要么全部不保存。因此,电源恢复后将出现以下两种情况之一:
- 文件恢复原样,且缺少新数据
- 文件有了新的大小,而你的新数据是……哦等等
NTFS 日志的目的是确保在断电时对簿记和元数据进行更改时,不会破坏这些更改。这是通过以下方式实现的变革日志(我听说过断电后出现坏扇区的传闻,但我找不到任何官方来源来证实此类事情确实发生。)
然而,用户数据并不总是按你认为的那样写入,特别是在存在写缓存的情况下。即使如此,在这种情况下,您的卷是完好的,并且现有数据不会发生任何不良情况,因为它没有更新。
话虽如此,如果您的下载应用程序不是为处理这种情况而设计的,那么文件完全有可能被扩展,但新部分却用零填充。如果应用程序更新多个位置,任何操作系统写入缓存都会使您对用户数据写入时间的假设失效。(FILE_FLAG_WRITE_THROUGH
可能会有帮助,但即使如此,也可以忽略,如果已启用高级性能。