NTFSに関するノート¶
ファイルシステムNTFSは、オペレーティングシステムWindows NT以降で使用できます。これは、TreeSizeにも影響を与えるいくつかの特別な機能を提供します。
以下の段落では、これらの機能のいくつかと、このソフトウェアへの影響について説明します。
アクセス制御リスト¶
ユーザーがファイルやフォルダーにアクセスする方法を制限することができます。他のユーザーやグループに対して、読み取り、書き込み、実行、または削除といった特定の権利を付与または拒否することができます。このようにして、管理者がファイルやフォルダーにアクセスすることを拒否することも可能です。
所有者が他のユーザーに対して読み取りアクセスを拒否したフォルダーに、管理者がWindows Explorerからアクセスしようとすると、「アクセスが拒否されました」というエラーメッセージが表示されます。
ただし、TreeSizeは、管理者としてログインしているか、バックアップを実行する権利を持つユーザーとしてログインしている場合、そのようなフォルダーをスキャンすることができます(このオプションは「コントロールパネル > 管理ツール > ローカルセキュリティポリシー」およびWindowsのユーザーエディタで変更できます)。
ファイルベースの圧縮¶
NTFSは、個々のファイル単位での圧縮をサポートしています。NTFSボリューム上で圧縮されたファイルは、他のプログラムによって事前に解凍されることなく、読み書きが可能です。解凍は、ファイルの読み取り中に自動的かつ透過的に行われます。ファイルは保存される際に再度圧縮されます。
圧縮されたファイルが占めるスペースは、通常、その通常のサイズよりもはるかに小さくなります。その結果、部分的または完全に圧縮されたフォルダーについて、TreeSizeが報告する割り当てられたスペースは、このフォルダーのサイズよりも小さくなる場合があります。
TreeSizeは、「詳細」タブの追加の列に圧縮率を表示することができます。さらに、圧縮されたファイルやフォルダーを異なる色で表示することもできます。これらの機能は、オプションダイアログでオンまたはオフにすることができます。
TreeSizeは、コンテキストメニューを使用して、ファイルシステムの全体のブランチを圧縮および解凍することができます。
Windows 10では、MicrosoftはNTFSに新しい透過的圧縮機能を導入し、主にDLLおよびEXEファイルのオペレーティングシステムのファイルを圧縮するように設計されています。古いファイルベースの圧縮とは異なり、これらのファイルはファイル属性で圧縮されたとしてフラグ付けされません。
スパースファイル¶
ファイルサイズは大きいが一部しか使用されていないファイルは、スパースファイル と呼ばれる。
オペレーティングシステムはスパースファイルの未使用部分に対してディスクスペースを割り当てないため、実際のサイズよりも少ないディスクスペースを占有します。
TreeSizeはスパースファイルを圧縮ファイルのように扱い、それらの圧縮率も計算します。
再解析ポイント:ボリュームマウントポイントとシンボリックリンク¶
ボリュームマウントポイントは、別のボリュームを「マウント」する既存のパスです。
これにより、ユーザーやアプリケーションはそのパスを使用してマウントされたボリュームを参照できます。このボリュームにドライブレターを割り当てる必要はありません。これにより、複数のファイルシステムを1つの論理ファイルシステムに統合することができます。
例えば、空のフォルダ「C:⇄Documents⇄Images」がある場合、「E:⇄Pics」へのシンボリックリンクを作成することができます。すると、アプリケーションは「E:︙Pics」のコンテンツを「C:︙Documents︙Images」に表示します。
NTFSジャンクションポイントとは異なり、シンボリックリンクはファイルやリモートSMBネットワークパスを指すこともできます。
「マウントポイントとシンボリックリンクを追跡する」オプションがオンになっている場合、TreeSizeはスキャン時にこれらのフォルダーの内容を含めます。これらはスキャンしているドライブに物理的に保存されていないため、割り当てられたスペースの結果がドライブの総サイズよりも大きくなる可能性があります。
代替データストリーム(ADS)¶
NTFSでは、ファイルは異なるデータストリームで構成されています。1つのストリームはセキュリティ情報(アクセス権など)を保持し、別のストリームはファイルに期待される「実データ」を保持します。
代替データストリームが存在する場合、標準データストリームと同様の方法でデータを保持します。これらの代替データストリームは隠されています。つまり、公式のメインデータストリームに1バイトのデータがあり、1つまたは複数の代替データストリームに数百MBのデータがあるファイルを持つことができます。
dirコマンド、ファイルマネージャー、またはWindowsエクスプローラーは、このファイルのサイズを1バイトとして表示しますが、実際にはハードドライブ上でより多くのスペースを割り当てています。
TreeSizeは代替データストリームを検出し、そのサイズを割り当てられたファイルサイズに追加できます。
注釈
ADSはメインデータストリームと同じクラスターに情報を保存する場合があるため、ファイルに1つ以上のADSがある場合、このファイルは必ずしも追加のディスクスペースを割り当てるわけではありません。
TreeSizeオプションダイアログで、ディレクトリブランチのより正確な割り当てスペースを得るために、代替データストリームを検出するように選択できます。
このオプションはデフォルトで無効になっています。なぜなら、ADSのクエリには時間がかかり、スキャンに必要な全体の時間が増加するためです。TreeSizeのカスタムファイル検索を使用して、代替データストリームを含むファイルを検索できます。
ハードリンク¶
Windows環境において、ハードリンクはNTFSストレージボリューム上の物理データへの参照またはポインタです。すべての名前付きファイルはハードリンクです。ファイルに関連付けられた名前は、オペレーティングシステムに実際のデータを指し示すラベルに過ぎません。
NTFSボリュームでは、同じデータに複数の名前を関連付けることができます。異なる名前で呼ばれていても、行われた変更は実際のデータに影響を与え、ファイルが後でどのように呼ばれていても変わりません。
ハードリンクは、同じファイルシステム上に存在するデータのみを指すことができます。データは、少なくとも1つのリンクが存在する限りアクセス可能です。最後のリンクが削除されると、そのスペースは空きと見なされます。
注釈
同じファイルを指すすべてのハードリンクは、同じセキュリティ記述子(アクセス権)を共有します。
ハードリンクを作成するには、ユーザーは該当するフォルダーブランチおよび共有に対してファイル属性の書き込み権限を持っている必要があります。ドライブがローカルドライブでない場合は特に重要です。
ファイルのデータを指すハードリンクが複数ある場合、これらのファイルによってスペースは一度だけ割り当てられ、ハードリンクの数に関係なくなります。
オプションダイアログで、TreeSizeにハードリンクを検出させ、ディレクトリブランチのより正確な割り当てスペースを得ることができます。このオプションはデフォルトで無効になっており、ハードリンクのクエリには時間がかかり、スキャンに必要な全体の時間が増加するためです。
自動データ重複排除¶
Windows Server 2012以降では、データ重複排除機能が提供される:データ重複排除は、コンテンツが部分的に等しいファイルをいわゆる "チャンク "に領域分割し、対応するNTFSパーティションにあるサブフォルダ "System Volume InformatonDedup¦ChunkStore¦"に移動する。
Windowsによって重複排除が適用された後、元のデータはChunkStoreディレクトリ内の対応するチャンクへのポインタに置き換えられます。NTFS重複排除によって重複が排除された2つの同一ファイルは、以前占有していたディスクスペースの半分だけを必要とします。
元のファイルはデータの代わりに小さなポインタのみを含むため、割り当てられたディスクスペースはWindowsによって以前よりもはるかに小さい値で表示されます(2つの同一ファイルの場合、占有されているディスクスペースは「0バイト」と表示されます)。
TreeSizeに元のファイルとフォルダのサイズを表示させるには、「割り当てられたスペース」から「サイズ」に表示モードを切り替えるだけです。TreeSizeに表示される「割り当てられたスペース」は、対応するファイルを削除することによって得られるディスクスペースです。
オフラインファイル¶
Windows Serverおよび一部のサードパーティ製ツールやアプライアンスは、「オフラインファイル」と呼ばれる機能を提供しています:長期間使用されていないファイルは自動的に安価で遅いストレージに移動され、元の場所には小さなスタブファイルが残ります。
通常、TreeSizeはそのようなスタブファイルの割り当てられたスペースを正しく報告しますが、これはしばしば1つのファイルシステムクラスタのサイズに過ぎません。
ただし、スタブファイルの割り当てられたスペースが正しく報告されない状況が1つあります。TreeSizeがアクセス拒否エラーに遭遇した場合、ファイルシステムのその部分をスキャンし、サイズと割り当てられたスペースの値を提供できるように、バックアップソフトウェア用に設計されたWindows API関数を使用します。
この場合、スタブファイルの割り当てられたスペースとしてフルファイルサイズを報告するアプライアンスをいくつか見たことがありますが、これはバックアップで占有されるサイズである可能性が高いです。
これを避けるために、スキャンを実行するユーザーがスキャン対象のファイルシステムに対して完全な読み取りアクセス権を持っていることを確認してください。