Windows 2000 Insider/PC Insider合同特別企画

Windows XPの正体
強化されたコマンドライン・ツール(中編)

2.ディスク/ファイル関連ツール(2)

デジタルアドバンテージ
2001/11/08

 ファイル・システム関連の総合的な操作ツールとして、fsutil.exeというツールが新しく用意された。これは、ディスク・クォータの設定やハードリンクの設定、ファイル・システムの各種フラグの設定、リパース・ポイント(再解析ポイント)やスパース・ファイル(疎なファイル)の設定などを行うためのツールであり、以下のようなさまざまなサブコマンドを持っている。

fsutil behavior ―― ファイル・システムの挙動の制御
fsutil behavior query ファイル・システムの挙動パラメータの照会
fsutil behavior set ファイル・システムの挙動パラメータの変更
fsutil dirty ―― ボリュームのdirtyビットの管理
fsutil dirty query dirtyビットの照会
fsutil dirty set dirtyビットの設定
fsutil file ―― ファイルに固有のコマンド
fsutil file findbysid セキュリティ識別子でファイルを検索
fsutil file queryallocranges ファイルに割り当てられた範囲の照会
fsutil file setshortname ファイルの短い名前の設定
fsutil file setvaliddata ファイルの有効なデータ長の設定
fsutil file setzerodata ファイルのゼロ・データの設定
fsutil file createnew 指定されたサイズの新しいファイルを作成
fsutil fsinfo ―― ファイル・システム情報
fsutil fsinfo drives ドライブをすべて一覧表示
fsutil fsinfo drivetype ドライブの種類の照会
fsutil fsinfo volumeinfo ボリューム情報の照会
fsutil fsinfo ntfsinfo NTFS固有のボリューム情報の照会
fsutil fsinfo statistics ファイル・システム統計情報の照会
fsutil hardlink ―― ハードリンクの管理
fsutil hardlink create ハードリンクの作成
fsutil objectid ―― オブジェクトIDの管理
fsutil objectid query オブジェクトIDの照会
fsutil objectid set オブジェクトIDの変更
fsutil objectid delete オブジェクトIDの削除
fsutil objectid create オブジェクトIDの作成
fsutil quota ―― クォータの管理
fsutil quota disable クォータの追跡と強制の無効化
fsutil quota track クォータの追跡の有効化
fsutil quota enforce クォータの強制の有効化
fsutil quota violations クォータ違反の表示
fsutil quota modify ユーザーのディスク・クォータの設定
fsutil quota query ディスク・クォータの照会
fsutil reparsepoint ―― リパース・ポイントの管理
fsutil reparsepoint query リパース・ポイントの照会
fsutil reparsepoint delete リパース・ポイントの削除
fsutil sparse ―― スパース(疎な)ファイルの制御
fsutil sparse setflag スパース・ファイルに設定
fsutil sparse queryflag スパース・ファイルの照会
fsutil sparse queryrange 範囲の照会
fsutil sparse setrange スパース範囲の設定
fsutil usn ―― USN(更新シーケンス番号)の管理
fsutil usn createjournal USNジャーナルの作成
fsutil usn deletejournal USNジャーナルの削除
fsutil usn enumdata USNデータの列挙
fsutil usn queryjournal ボリュームのUSNデータの照会
fsutil usn readdata ファイルのUSNデータの読み取り
fsutil volume ―― ボリュームの管理
fsutil volume dismount ボリュームのマウント解除
fsutil volume diskfree ボリュームの空き領域サイズの照会
fsutilコマンドのサブコマンド一覧
fsutilコマンドは、ファイル・システムに関する種々のサービスやパラメータの問い合わせ、設定などに使われるコマンドであり、数多くのサブコマンドを持っている。

■fsutil behavior――ファイル・システムの挙動の制御
 ファイル・システムの挙動とは、以下のような項目を指す。短い形式のファイル名や最終アクセス時間の記録をオフにすれば、わずかだがシステムのパフォーマンスが向上する可能性がある。これらのフラグを個別にオンにしたり、オフにしたりすることができる。

属性名 意味
disable8dot3 FATやNTFS上で、8.3形式の短い名前の生成も行うかどうか
allowextchar 特殊な拡張文字セットの文字を、8.3形式の短いファイル名中で使うかどうか
disablelastaccess 最終アクセス時間も記録するかどうか
quotanotify frequency ディスク・クォータの違反をシステムログに記録する時間の頻度
mftzone value NTFSのマスタ・ファイル・テーブル(MFT)のサイズの指定

■fsutil dirty――ボリュームのdirtyビットの管理
 dirtyビットは、システム終了時にボリュームが正しくシャットダウンされたかどうかを制御するフラグである。システムが正常にシャットダウンすると、最後に各ボリュームのdirtyビットはクリアされる。だがシステムがハングアップしたような場合や、強制的にリセットや電源をオフにした場合にはdirtyビットはセットされたままの状態になる。ボリュームが“dirty”である場合は、システムの起動時に自動的にchkdskが実行され、ファイル・システム内に矛盾がないかどうかが検査される。

■fsutil file――ファイルに固有のコマンド
 これは、指定したサイズでのファイル作成(プログラムのデバッグなどで使う)やファイルの内容のゼロ・クリア、8.3形式の短いファイル名の設定などを行う。

■fsutil fsinf――ファイル・システム情報
 これはボリュームごとの各種パラメータなどを表示させるためのコマンドである。ボリューム情報や読み書きの統計情報(読み書きの回数や管理用データ領域へのアクセス回数など)を表示する。

C:\>fsutil fsinfo ntfsinfo c:  …NTFS情報の表示
NTFS Volume Serial Number :       0x04782eb4782ea480
Version :                         3.1
Number Sectors :                  0x0000000001c9e80c …総セクタ数
Total Clusters :                  0x0000000000393d01 …総クラスタ数
Free Clusters  :                  0x00000000002a88b0
Total Reserved :                  0x0000000000000000
Bytes Per Sector  :               512
Bytes Per Cluster :               4096 …クラスタ・サイズ
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x0000000001491800 …MFT情報
Mft Start Lcn  :                  0x00000000000c0000
Mft2 Start Lcn :                  0x00000000001c9e80
Mft Zone Start :                  0x00000000000c1480
Mft Zone End   :                  0x00000000001327a0

■fsutil hardlink――ハードリンクの管理
 ハードリンクとは、1つのファイル(の実体)に対して、2つ(以上)のファイル名エントリを付ける機能である。同じファイルを指す、異なるファイル名エントリを作成することができる。従来でもリソースキットなどには、linkd.exeという、ディレクトリのリンクを作成するコマンドが用意されていたが、これは、ファイルに対してハードリンクの作成を行うためのコマンドである。

 いったんハードリンクが作成されると、どちらのエントリでアクセスしても同じファイルが操作対象となる。削除する場合は、最後の1つのリンクが削除された時点で、ファイルの実体が解放されることになる。

C:\>dir *.txt  …ハードリンク作成前の状態
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 782E-A480 です

C:\ のディレクトリ

2001/11/06  15:43               710 sample.txt …元のファイル
               1 個のファイル                 710 バイト
               0 個のディレクトリ  11,417,636,864 バイトの空き領域

C:\>fsutil hardlink create newtext.txt sample.txt …リンクの作成
C:\newtext.txt <<===>> C:\sample.txt のハードリンクが作成されました
 ↑…同じファイルを指す2つのエントリが作成された

C:\>dir *.txt  …ハードリンク作成後の状態
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 782E-A480 です

C:\ のディレクトリ

2001/11/06  15:43               710 newtext.txt …いずれも同じ
2001/11/06  15:43               710 sample.txt  …いずれも同じ
               2 個のファイル               1,420 バイト
               0 個のディレクトリ  11,417,632,768 バイトの空き領域

■fsutil objectid――オブジェクトIDの管理
 分散リンク・トラッキングやファイル複製サービスなどで使われる、ファイルのオブジェクトIDを管理するためのツールである。おもに開発者などが使うためのツールであり、一般的にはあまり使うことはないだろう。

■fsutil quota――クォータの管理

C:\>fsutil quota track c:  …クォータ管理を有効にする

C:\>fsutil quota modify  c: 10000000 20000000 hiroy-u
    ↑↑…ユーザーhiroy-uのクォータを設定する

C:\>fsutil quota query c:  …クォータの設定状態を確認する
FileSystemControlFlags = 0x00000031
    このボリュームではクォータが追跡されます
    クォータ制限としきい値のログ作成が有効です
    クォータ値が最新の値です

既定のクォータしきい値 = 0xffffffffffffffff
既定のクォータ制限     = 0xffffffffffffffff

SID 名        = BUILTIN\Administrators (Alias)
変更時刻          = Tue Nov 06 16:22:37 2001
使用クォータ      = 3294092288
クォータしきい値  = 18446744073709551615 =0xffffffffffffffff
クォータ制限      = 18446744073709551615 =0xffffffffffffffff

SID 名        = WINXPPRO10\hiroy-u (User)
変更時刻          = Tue Nov 06 16:26:30 2001
使用クォータ      = 942543872
クォータしきい値  = 10000000 ……設定されたクォータ値
クォータ制限      = 20000000

SID 名        = NT AUTHORITY\NETWORK SERVICE (WellKnownGroup)
変更時刻          = Tue Nov 06 15:59:03 2001
使用クォータ      = 328704
クォータしきい値  = 18446744073709551615
クォータ制限      = 18446744073709551615
……(以下省略)

■fsutil reparsepoint――リパース・ポイントの管理
 これは、NTFS 5で導入されたリパース(再解析)ポイントの管理をするツールである。リパース・ポイントのために割り当てられているデータを取り出したり、それを削除したリする。これもどちらかというと、開発者向けの機能といえる。

C:\>fsutil reparsepoint query c:\usr  …リパース・ポイント・データの照会
再解析タグ値 : 0xa0000003 ……以下、リパース・ポイントの管理データ
Tag value: Microsoft
Tag value: Name Surrogate
Tag value: Mount Point
GUID : {00620000-0064-0000-5C00-3F003F005C00}
データ長 : 0x0000006e
再解析データ :
0000:  56 00 6f 00 6c 00 75 00 6d 00 65 00 7b 00 32 00  V.o.l.u.m.e.{.2.
0010:  32 00 35 00 31 00 65 00 31 00 63 00 34 00 2d 00  2.5.1.e.1.c.4.-.
0020:  63 00 65 00 32 00 64 00 2d 00 31 00 31 00 64 00  c.e.2.d.-.1.1.d.
0030:  35 00 2d 00 38 00 31 00 62 00 34 00 2d 00 38 00  5.-.8.1.b.4.-.8.
0040:  30 00 36 00 64 00 36 00 31 00 37 00 32 00 36 00  0.6.d.6.1.7.2.6.
0050:  39 00 36 00 66 00 7d 00 5c 00 00 00 00 00 00 00  9.6.f.}.\.......
0060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00        ..............

■fsutil sparse――スパース(疎な)ファイルの制御
 スパース・ファイルに関する各種の管理のためのツールである。スパース(疎な)ファイルとは、ファイルとしての長さはあるが、実際にはデータはほとんど含まれていないようなファイルのことを指す。このようなスパース・ファイルの内容確認や、データが割り当てられている部分の確認などに利用する。

■fsutil usn――USN(更新シーケンス番号)の管理
 ファイル・システムの更新記録など(追加や削除、変更など)を管理する「変更ジャーナリング」で利用する、「更新シーケンス番号(USN)」を操作するためのコマンド。

■fsutil volume――ボリュームの管理
 NTFSボリュームのアンマウントや容量の照会を行うためのコマンドである。


 INDEX
  強化されたコマンドライン・ツール(前編)
  強化されたコマンドライン・ツール(中編)
    1.ディスク/ファイル関連ツール(1)
  2.ディスク/ファイル関連ツール(2)
    3.タスク制御ユーティリティ
  強化されたコマンドライン・ツール(後編)
    4.イベント・ログ/レジストリ関連ツール
    5.その他のユーティリティ
 
 「Windows XPの正体」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間