n-Archives.net

NTFSのファイルが持つ8種類のタイムスタンプとは

目次

NTFSのMFTとファイル管理

NTFSにはMaster File Table(MFT)と呼ばれる領域があり、NTFSの基本情報の他、全てのファイル・フォルダのエントリ情報(ファイル名、属性、タイムスタンプ、など)が1KBの固定サイズ領域に記録されています。

1つのファイルまたはフォルダのエントリレコードには、いくつかのAttribute(属性)と呼ばれる情報が格納されていますが、タイムスタンプ情報は、$STANDARD_INFORMATION という属性と、$FILE_NAME という属性の中に記録されています。

 

$STANDARD_INFORMATION 属性は、ファイル(またはフォルダ)の基本情報が管理する属性です。

$FILE_NAME 属性は、ファイル名を記録する属性で、1つのファイルに複数存在する場合があります。(8.3ファイル名と長いファイル名など)

 

NTFSファイルのMFTレコードに記録されているタイムスタンプ

それぞれについて、タイムスタンプ情報が記録されていおり、それらをまとめると以下の表のようになります。

NTFS MFTに格納されているTimestamp
Attribute タイムスタンプ種別 説明
$STANDARD_
INFORMATION
(ファイル・フォルダの基本情報)
File Create Time (CTime) ファイルが作成された時間。
エクスプローラで表示される作成日時
robocopyなどのユーザレベルプロセスで書き換え可能
File Modified Time (ATime) ファイルのデータが更新された時間。
エクスプローラで表示される更新日時
robocopyなどのユーザレベルプロセスで書き換え可能
MFT Entry modified Time (MTime) このMFTエントリが更新された日時
ファイルデータ、ファイル名、ファイル属性、セキュリティ情報、所有者などMFT内のどの情報を更新してもタイムスタンプが更新される
robocopyなどのユーザレベルプロセスで書き換え可能
File Last Access Time (RTime) エクスプローラで表示されるアクセス日時
robocopyなどのユーザレベルプロセスで書き換え可能
$FILE_NAME n
(ファイル・フォルダ名に関連する情報)
File Create Time (CTime) ファイルが作成された時間。
Kernelでしか更新されない
File Modified Time (ATime) ファイルのデータが更新された時間。
Kernelでしか更新されない
MFT Entry modified Time (MTime) MFTが更新された日時
Kernelでしか更新されない
File Last Access Time (RTime) エクスプローラで表示されるアクセス日時
Kernelでしか更新されない

通常、エクスプローラなどで表示されるファイルのタイムスタンプは、$STANDARD_INFORMATION のタイムスタンプです。このタイムスタンプは、エクスプローラのなどの一般のユーザレベルアプリケーションでも参照、更新できるようになっています。

 

ファイルの更新タイムスタンプには2種類ある

$STANDARD_INFORMATION のタイムスタンプで注意しなければならないのは、更新タイムスタンプには、「File Modified Time (ATime)」と「MFT Entry modified Time (MTime)」の2つがあるという点です。

File Modified Time (ATime)はファイルの「データ」が更新されると書き換わるだけですが、MFT Entry modified Time (MTime)は、ファイルのデータだけでなく、ファイル名、属性、セキュリティ情報、所有者情報など、MFTに記録されているどの情報が更新されても更新されるタイムスタンプです。

 

$FILE_NAME のタイムスタンプは通常目にすることはないもののようです。

 

ファイル・フォルダに対してどのようなオペレーションをすると、どのタイムスタンプが更新されるかについては、以下の参考リンク記事に、マトリクスとしてにまとめられていますので参考にしてください。

 

参考リンク:

 

 

【関連記事・関連コンテンツ】

 

コメントをお送りください
お名前:
コメント:
コメントの公開: