exFAT 文件时间戳

exFAT 文件时间戳

我使用外部 SD 卡备份 PC 上的重要数据。我通常使用“Robocopy /mir /ndl”,这样我就可以在 SD 卡上看到磁盘上的真实内容。

每年两次,当时钟发生变化时,复制过程就会变得奇怪并开始复制整套文件,经调查发现,exFAT 格式的 SD 卡上的时间戳似乎相差一个小时。

使用 NTFS 时不会发生这种情况。

这是 Windows 7 的错误还是 exFAT 的某些内在缺陷?似乎 exFAT 会不顾夏令时而存储 GMT 时间,或者似乎 Windows 读取时间时没有进行调整,就像它从 NTFS 分区读取时间时一样。

答案1

NTFS 是一个 64 位时间戳,例如 fat 使用 3 个独立的字段来存储时间戳,其中一个字节是 UTC 时间的时区。

我必须回去看看,但你可以从 SANS 论文中获取详细信息,或者浏览 rshullic.wordpress.com

答案2

这可能是 Windows 7 的一个错误(例如,FileTime/SystemTime)或 robocopy(时间戳比较)。微软在不破坏 UTC 转换方面并没有最好的记录(例子)。也许可以在运行 Windows 10 的带有直通 USB 的 VirtualBox 上尝试一下,看看是否能修复?如果没有,请向 MS 开一张票,希望他们能读到。

你说的没错,没有夏令时。微软最近发布了 exFAT 规范,其中明确指出 UtcOffset 字段为只需以 15 分钟为增量进行偏移,而不是像那样的“时区位置”字符串America/Chicago取决于 DST 状态。可能是与 FAT 共享代码的错误。

NTFS 时间戳始终是 UTC。

相关内容