fsutil usn
更新シーケンス番号 (USN) 変更ジャーナルを管理します。 USN 変更ジャーナルは、ボリューム上のファイルに対して行われたすべての変更の永続的ログを提供します。 ファイル、ディレクトリ、およびその他の NTFS オブジェクトが追加、削除、および変更されると、NTFS がコンピューター上のボリュームごとに 1 つずつのレコードを USN 変更ジャーナルに入力します。 レコードはそれぞれ、変更の種類と変更されたオブジェクトを示します。 新しいレコードがストリームの末尾に追加されます。
構文
fsutil usn [createjournal] m=<maxsize> a=<allocationdelta> <volumepath>
fsutil usn [deletejournal] {/d | /n} <volumepath>
fsutil usn [enablerangetracking] <volumepath> [options]
fsutil usn [enumdata] <fileref> <lowUSN> <highUSN> <volumepath>
fsutil usn [queryjournal] <volumepath>
fsutil usn [readdata] <filename>
fsutil usn [readjournal] [c= <chunk-size> s=<file-size-threshold>] <volumepath>
パラメーター
パラメーター | 説明 |
---|---|
creaternarnal | USN 変更ジャーナルを作成します。 |
m=<maxsize> |
NTFS が変更ジャーナルに割り当てる最大サイズをバイト単位で指定します。 |
a=<allocationdelta> |
変更ジャーナルの末尾に追加され、先頭から削除されるメモリ割り当てのサイズをバイト単位で指定します。 |
<volumepath> |
ドライブ文字 (後ろにコロンを付ける) を指定します。 |
deleternarnal | アクティブな USN 変更ジャーナルを削除または無効にします。 注意: 変更ジャーナルを削除すると、ファイル レプリケーション サービス (FRS) とインデックス サービスに影響します。これは、これらのサービスがボリュームの完全な (時間のかかる) スキャンを実行する必要があるためです。 これにより、ボリュームの再スキャン中に、FRS SYSVOL レプリケーションと DFS リンク代替候補間のレプリケーションが悪影響を受けます。 |
/d | アクティブな USN 変更ジャーナルを無効にし、変更ジャーナルが無効になっている間に入出力 (I/O) 制御を返します。 |
/n | アクティブな USN 変更ジャーナルを無効にし、変更ジャーナルが無効になってからのみ I/O 制御を返します。 |
enablerangetracking | ボリュームの USN 書き込み範囲追跡を有効にします。 |
c=<chunk-size> |
ボリューム上で追跡するチャンク サイズを指定します。 |
s=<file-size-threshold> |
範囲追跡のファイル サイズしきい値を指定します。 |
enumdata | 指定された 2 つの境界間の変更ジャーナル エントリを列挙して表示します。 |
<fileref> |
列挙を開始するボリューム上のファイル内の順序位置を指定します。 |
<lowUSN> |
返されるレコードをフィルター処理するために使用される USN 値の範囲の下限を指定します。 最後の変更ジャーナル USN が lowUSN メンバー値と highUSN メンバー値の間にあるレコードだけが返されます。 |
<highUSN> |
返されるレコードをフィルター処理するために使用される USN 値の範囲の上限を指定します。 |
queryrnarnal | ボリュームの USN データを照会して、現在の変更ジャーナル、そのレコード、およびその容量に関する情報を収集します。 |
readdata | ファイルの USN データを読み取ります。 |
<filename> |
ファイル名と拡張子を含む、ファイルへの完全なパスを指定します (C:\documents\filename.txt など)。 |
readrnarnal | USN ジャーナルの USN レコードを読み取ります。 |
minver=<number> |
返される USN_RECORD の最小メジャー バージョン。 既定値は 2 です。 |
maxver=<number> |
返される USN_RECORD の最大メジャー バージョン。 既定値は 4 です。 |
startusn=<USN number> |
USN ジャーナルの読み取りを開始する USN。 既定値は 0 です。 |
解説
プログラムは、USN 変更ジャーナルを参照して、ファイルのセットに対して行われたすべての変更を特定することができます。 USN 変更ジャーナルは、タイム スタンプの確認やファイル通知の登録よりもはるかに効率的です。 USN 変更ジャーナルは、有効にされ、インデックス サービス、ファイル レプリケーション サービス (FRS)、リモート インストール サービス (RIS)、およびリモート記憶域で使用されます。
変更ジャーナルがボリューム上に既に存在している場合は、creaternarnal パラメーターが変更ジャーナルの maxsize パラメーターと allocationdelta パラメーターを更新します。 これにより、アクティブなジャーナルが保持しているレコードの数を、そのジャーナルを無効にすることなく拡張することができます。
変更ジャーナルは、この目標値より大きくなる可能性がありますが、次の NTFS チェックポイントでこの値を下回るように切り捨てられます。 NTFS は、変更ジャーナルを検査して、そのサイズが maxsize と allocationdelta の合計値を超えていた場合にトリミングします。 NTFS チェックポイントでは、オペレーティング システムが NTFS ログ ファイルにレコードを書き込み、NTFS が障害から復旧するために必要な処理を判断できるようにします。
変更ジャーナルは、トリミングされる前に、maxsize と allocationdelta の合計値を超えるまで増加する可能性があります。
アクティブな変更ジャーナルの削除または無効化には非常に時間がかかります。これは、システムがマスター ファイル テーブル (MFT) 内のすべてのレコードにアクセスし、最後の USN 属性を 0 (ゼロ) に設定する必要があるためです。 このプロセスには数分かかる可能性があり、再起動が必要な場合は、システムの再起動後も継続する可能性があります。 このプロセス中は、変更ジャーナルがアクティブとは見なされないため、無効にされません。 システムがジャーナルを無効にしている間は、ジャーナルにアクセスすることができません。また、すべてのジャーナル操作でエラーが返されます。 アクティブなジャーナルを無効にする場合は、注意が必要です。これは、ジャーナルを使用している他のアプリケーションに悪影響を及ぼすためです。
例
ドライブ C で USN 変更ジャーナルを作成するには、次のように入力します。
fsutil usn createjournal m=1000 a=100 c:
ドライブ C でアクティブな USN 変更ジャーナルを削除するには、次のように入力します。
fsutil usn deletejournal /d c:
指定されたチャンクサイズしきい値とファイルサイズしきい値を使用した範囲追跡を有効にするには、次のように入力します。
fsutil usn enablerangetracking c=16384 s=67108864 C:
ドライブ C で指定された 2 つの境界間の変更ジャーナル エントリを列挙して表示するには、次のように入力します。
fsutil usn enumdata 1 0 1 c:
ドライブ C のボリュームの USN データを照会するには、次のように入力します。
fsutil usn queryjournal c:
ドライブ C の \Temp フォルダー内のファイルの USN データを読み取るには、次のように入力します。
fsutil usn readdata c:\temp\sample.txt
特定の開始 USN で USN ジャーナルを読み取るには、次のように入力します。
fsutil usn readjournal startusn=0xF00