是否可以确定 NTFS 分区的创建时间?

是否可以确定 NTFS 分区的创建时间?

我们有一个客户,确定驱动器初始化或 NTFS 分区创建的时间非常有用。某个地方是否有时间戳值?如果有人可以提供任何建议,我们将不胜感激。

谢谢!

-斜杠

答案1

是的。您甚至可以通过 LAN 进行操作。

CIFS 事务为TRANS2_QFSINFO,信息级别为SMB_QUERY_FS_VOLUME_INFO查询卷创建时间的本地 Windows NT API 函数是ZwQueryVolumeInformationFile(),得到一个FILE_FS_VOLUME_INFORMATION当被要求提供信息类别时,数据结构(注意,与 CIFS 数据结构几乎相同)会返回FileFsVolumeInformation。测试此查询是否有效是 Microsoft 向驱动程序开发人员提供的 IFS 测试程序的一部分。

有趣的是,似乎没有人编写过一个方便的实用程序,它只查询卷并以人类可读的形式打印其创建时间戳。1 我所知,您最接近的方法就是启动 SysInternals 的procmon工具并查找流经的卷信息查询。也许阅读本文的人会受到启发,创建一个增强的vol命令。

是的,卷创建时间戳正确初始化,而不是设置为零或其他常量。我没有检查,但我对此信息的存储位置的合理猜测是MFT 条目$STANDARD_INFORMATION的属性$Volume。我可以想到其他三个可能的位置,但这是最合乎逻辑的。


1grawity的实用程序只需要再稍微完善一下,包括FileTimeToSystemTime()和的简单使用GetTimeFormat(),就可以让无法在头脑中解码 Win32 时间戳的最终用户使用。☺

答案2

据我所知,NTFS 没有内置“卷创建日期”。但是,通过查看System Volume Information卷根目录中的目录的创建日期,您应该能够相当接近地估算出创建日期。

答案3

这在某个地方是暴露的。如果你启动 Windows XP CD 并访问恢复控制台,那里的 chkdsk 版本将在运行完成后打印出卷创建日期。

相关内容