web-dev-qa-db-ja.com

HDDがフォーマットされているときにタイムスタンプを取得することは可能ですか?

HDDがいつフォーマットされているかを判断することは可能ですか?ライブLinuxのGPartedでフォーマットされました。以前は、Windowsがインストールされ、ファイルシステムはNTFSでした。ありがとう

1
saksija

これは、フォーマットした内容によって異なります。ディスクをパーティション分割するだけでは、タイムスタンプは残りません。ただし、フォーマットすると、特定のパーティションに新しいファイルシステムが作成されます。作成日が記録されるかどうかは、特定のファイルシステムによって異なります。フォーマットしたファイルシステムについてはおっしゃっていなかったので、Windows、OSX、Linuxで最も人気のあるファイルシステムについてお答えします。

Linux ext4

これは、ほとんどの主要なLinuxディストリビューションでサポートされている最新のファイルシステムです。これは、使用されている最も人気のあるファイルシステムの1つです。 ext4ディスクレイアウト によると、スーパーブロックには32ビットのタイムスタンプ_s_mkfs_time_が含まれ、ファイルシステムが作成されたときのエポックからの秒数が保持されます。 ext4ファイルシステムの作成日を取得するには、デバッグ _tune2fs_ コマンドをrootとして_tune2fs -l /dev/sda1_の形式で実行し、デバイスを特定のパーティションに置き換えます。確認したい。これにより、多くのデバッグ情報が出力されます。フィールド_Filesystem created_を探します。

OS X HFS +

HFS +は、Mac OSXおよび他の多くのAppleデバイスの標準ファイルシステムです。ボリュームヘッダーには、ボリュームがいつだったかを指定する createDate フィールドが含まれています私はOSXに特に精通していませんが、クイック検索で hfsdebug というコマンドが表示されました。このコマンドはファイルシステムボリュームを引数として取り、一連のデバッグ情報を出力します。フィールドcreateDateを探します。これにより、ファイルシステムの作成日がわかります。

Windows NTFS

NTFSは、ほとんどのWindowsコンピューターで使用されるファイルシステムです。ファイルシステムが作成された日付は _FILE_FS_VOLUME_INFORMATION_ に保存されます。このデータ構造は、ネイティブのWindows NT API ZwQueryVolumeInformationFile() を使用して取得できます。 スーパーユーザーの回答 によると、この情報を取得するための便利なユーティリティはありませんが、SysInternals procmonユーティリティを使用するとこの情報を取得できる場合があります。 単純なプログラム は、そのスーパーユーザーの質問に答えて作成されました。これは便利です。

Linuxや他のUnixライクなシステムとは異なり、Windowsはエポック(1970年1月1日の00:00:00)以降のタイムスタンプを秒の形式で保存しません。むしろ、Windowsシステムでの時間は、1601年の初めからの100ナノ秒間隔の数として表されます。

1
forest