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

cjo*_*s26 16 ntfs date partitioning timestamp

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

谢谢!

-斜线

Jde*_*eBP 17

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

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

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

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


1grawity的效用只是需要多一点打磨,包括简单的使用FileTimeToSystemTime()GetTimeFormat(),使其可用为不能解码的Win32时间戳在他们的头脑最终用户。☺

  • 像 [this](https://gist.github.com/1596864) 之类的东西?(丑代码警告) (7认同)

And*_*ert 8

我知道没有内置到 NTFS 的“卷创建日期”。但是,您应该能够通过查看System Volume Information卷根目录中目录的创建日期来非常接近地近似创建日期。

  • 这给了我一个很好的近似值。感谢你的快速回复!现在我知道该驱动器未包含在我们的备份中该归咎于谁:)。 (2认同)