Чи можна визначити, коли створено розділ NTFS?


16

У нас є клієнт, де було б дуже корисно визначити, КОЛИ диск був ініціалізований або створений розділ NTFS. Чи є десь значення часової позначки? Якщо хто-небудь міг би дати будь-яку пораду, це буде дуже вдячно.

Спасибі!

-різка


Просто ідея, але чи можете ви змінити обчислення обсягу UUID, щоб отримати дату / час? (Я не знаю, як генерується UUID, тому це знадобиться для деяких досліджень, і це можливо взагалі неможливо.)
Кріс Нава,

1
@ChrisNava: Унікальний ідентифікатор, що використовується в NTFS, - це не 128-розрядний UUID, а випадкове 64-бітове число. (Крім того, сучасні системи також не генерують UUID, засновані на часі типу 1; для конфіденційності віддають перевагу випадкові UUID типу 4, але якби це був UUID типу 1, тоді не було б обчислень для зворотного зв’язку; часова мітка - це зберігається на очах.)
користувач1686

Відповіді:


17

Так. Ви навіть можете це зробити через локальну мережу.

Угода про CIFS є TRANS2_QFSINFOі рівень інформації є SMB_QUERY_FS_VOLUME_INFO. Власна функція API NT для запиту часу створення тома є ZwQueryVolumeInformationFile(), яка дає FILE_FS_VOLUME_INFORMATIONструктуру даних (майже ідентичну CIFS, примітка) при запиті про FileFsVolumeInformationклас інформації. Тестування того, що цей запит працює, є частиною тестера IFS, який Microsoft постачає розробникам драйверів.

Цікаво, що, здається, ніхто не написав зручну утиліту, яка просто запитує об'єм та друкує часові позначки створення у людському читаному вигляді. 1 Найближчим, що ви збираєтеся дістати, наскільки я можу сказати, - це запустити procmonінструмент SysInternals і шукати запити об’ємної інформації, що передаються потоком. Можливо, хтось, читаючи це, надихнеться на створення розширеної volкоманди.

Так, мітка часу створення томи буде инициализирован, і не просто встановити на нуль або який - або іншої постійної. Я не перевіряв, але мій досвідчений здогад щодо місця зберігання цієї інформації є $STANDARD_INFORMATIONатрибутом $Volumeзапису MFT. Я можу придумати ще три можливі місця, але це найбільш логічне.


Дляgrawity утиліти 1 потрібно трохи більше полірувати, включаючи просте використання FileTimeToSystemTime()та GetTimeFormat()зробити її корисною для кінцевих користувачів, які не можуть розшифрувати часові позначки Win32 у своїх головах. ☺


Нічого собі, я даю вам +1 за цю відповідь, тому що саме я шукав. На жаль, я не програміст Win32 API, який знає внутрішню систему і шукав швидке рішення. Гарна думка з промовою. Дякую, хоча !!!
косоокість

7
Що - щось на зразок цього ? (потворне попередження про код)
користувач1686,

8

Не існує "дати створення обсягу", яку я знаю про вбудований в NTFS. Однак ви повинні мати можливість наблизити дату створення досить уважно, переглянувши дату створення System Volume Informationкаталогу в корені тома.


2
Це дає мені дуже гарне наближення. Дякую за швидку відповідь! Тепер я знаю, хто винен у тому, що диск не включений до наших резервних копій :).
косий

0

Це десь оголюється. Якщо ви завантажуєте компакт-диск Windows XP і отримуєте доступ до консолі відновлення, версія chkdsk там надрукує дату створення обсягу після її закінчення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.