7.04.2014

NTFS birimi ne zaman yaratılmış

Bilgisayarlarla uzun zaman geçirmemin bir sonucu olduğunu düşünüyorum, herşeyin bir log dosyasının olması gerektiğini düşünmemin. Hatta gerçek hayatta bile bazı şeylerin logu otomatik olarak tutuluyor olsaydı, süper olurdu.

Linux'ta bir ext3 disk bölümünün ne zaman yaratıldığını şurada da anlattığım gibi tune2fs aracıyla bulabiliyoruz. Bunu Windows'da NTFS sürücüler için yapabilir miyiz diye ararken şu sonucu buldum. Sistem sürücüsü için bunun yerine systeminfo komutunu kullanabiliriz. Ama harici bir disk için? İşte sorunun cevabı.

Güzel haber olarak ZwQueryVolumeInformationFile() Windows API'si ile bu bilginin sorgulanabildiği, 5. parametre olarak FileFsVolumeInformation sağlanması halinde FILE_FS_VOLUME_INFORMATION tipinde bir veri döndüğü ve bunun da içinde birim etiketi, seri numarası ve yaratılma tarihi olduğu söylenmiş.

Ama kötü haber: bu veriyi okuyabilecek bir program yazılmamış. Ancak JdeBP adlı kullanıcı, bu bilgiyi meşhur sysinternals aracı Process Monitor'ün okuduğu onca bilginin arasında bu bilgiyi de listelediğini söylemiş.

O halde bu veriye ulaşmak için yapılacaklar şöyle:
  1. procmon /noconnect ile Process Monitor başlatılır. noconnect anahtarı başlar başlamaz veri yakalamamasını söyler.
  2. İlk olarak Ctrl+L ile "Filter" diyaloğu açılır. Burada varsa eski süzgeci sıfırlamak için önce Reset tuşuna basılabilir. Ardından
  3. Operation=QueryInformationVolume
    süzgeci girilir.
    Tercihen Filter menüsünden de "Drop Filtered Events" seçilerek ilgi alanımız dışında yakalanabilecek olayların saklanmaması da sağlanır ve Capture komutu (Ctrl+E veya büyüteç sembolü) verilir.
  4. Ardından bilgisayarda sürücülerin harfleri tıklanarak birkaç gezinme yapılır, kök dizindeki dosyalar listelenir. Olmadı, cmd ile terminal açılır, istenen sürücü için dir komutu kullanılır. Bu arada Process Monitor'e veriler düşmeye başlar.
  5. Düşen verilerin içinde Detail sütununda VolumeCreationTime bilgisine bakılır. Aranan veri buradadır.