Checking file system on C:
The type of the file system is NTFS.
Volume label is root.
A disk check has been scheduled.
Windows will now check the disk.
Cleaning up minor inconsistencies on the drive.
Cleaning up 24 unused index entries from index $SII of file 0x9.
Cleaning up 24 unused index entries from index $SDH of file 0x9.
Cleaning up 24 unused security descriptors.
<以下略>
こちらは、マイクロソフトによると「ファイルで未使用のセキュリティ記述子をクリーンアップする作業」とのこと。何故か知らないけどWin2k時代のこんな情報が出てきています。(一方は
Microsoftサポート 文書番号: 255008「未使用のセキュリティ記述子をクリーンアップする Windows 2000 の Chkdsk レポート」
Microsoftサポート 文書番号: 327009「大量のデータを復元またはコピーすると Chkdsk が無効なセキュリティ ID を検出する」
これらから必要部分を引用すると、
すべての NTFS ボリュームには、セキュリティ記述子データベースが含まれています。このデータベースは、ファイルとフォルダーに適用される固有のアクセス許可設定を表すセキュリティ識別子が追加されます。ファイルまたはフォルダーに適用される固有の NTFS アクセス許可がある場合は、NTFS が回ボリュームでは、一意のセキュリティ記述子を格納し、任意のファイルまたは参照先のフォルダーのセキュリティ記述子へのポインターも格納します。結局、NTFSの構造上の問題&Windows2000のバグってことでサービスパック当ててください、っとコレXPのsp3なんですが(笑)
ファイルまたはフォルダーは、一意のセキュリティ記述子を使用すると、NTFS 固有のセキュリティ記述子をデータベースからは削除されませんが代わりに、そのキャッシュを保持します。
NTFS ファイル システムの仕様では、セキュリティ記述子はブロックに書き込まれ、各セキュリティ記述子ブロックの末尾に少なくとも 20 バイトの空き領域が必要です。この空き領域にはセキュリティ記述子ヘッダーが書き込まれます。しかし、NTFS コードの計算における誤りが原因で、セキュリティ記述子がブロックの末尾近くに書き込まれ、空き領域が 20 バイト未満になることがあります。
この場合、Chkdsk.exe は、ブロックの末尾に 20 バイト以上の空き領域が確保されるように、そのセキュリティ記述子を削除して、デフォルトのセキュリティ記述子を書き込みます。このため、一部のファイルやフォルダでユーザー定義セキュリティが失われます。
まあ、問題そのものはchkdskで修正されたみたいですし、アクセス権は(個人用途ならば)あまり気にしなくていいですし、ね。
なお、以下でも同じ話が出ていますが、回答者が最後の部分で
これによると、コマンドプロンプトでと回答されていますが、これはchkdskのダーティビットを見せるだけで全く意味のない作業なんですが……ほんとに調べてor理解して回答したのかな?「正常です」って表示=エラーがないではないんですよ(ーー;
chkntfs c:
を実行して、エラーが表示されなければ、問題ないとのことです。
@IT旧会議室「NTFSの修復法」
おまけ:XPのchkntfs.exeの説明はこちら。(英語だけど)
Microsoft Windows XP Professional Product Documentation「Chkntfs」