web-dev-qa-db-ja.com

NTFSでは、セクターサイズ、ブロックサイズ、クラスターサイズの違いは何ですか?

たとえば、ntfsinfoから抽出された次の情報を含むボリュームがあります。

$ Sudo ntfsinfo -m /dev/sdb1
Volume Information
        Name of device: /dev/sdb1
        Device state: 11
        Volume Name: Photos 250GB
        Volume State: 27
        Volume Version: 3.1
        Sector Size: 512
        Cluster Size: 65536
        Index Block Size: 4096
        Volume Size in Clusters: 3815583

以前に作成されたもの:

$ Sudo mkfs.ntfs -c 65536 -Q -L "Photos 250GB" /dev/sdb1

クラスターサイズはWindowsのアロケーションユニットサイズと同じだと読みました。そのため、Windowsの場合と同様に、ファイルは少なくとも64KBを占めることを期待しています。ただし、これは小さなファイルでstatを呼び出すことからは明らかではないようです。

$ stat lsfsdf
  File: `lsfsdf'
  Size: 9               Blocks: 1          IO Block: 4096   regular file
Device: 811h/2065d      Inode: 80          Links: 1

私はそれをすべて理解しようとしているので、セクターサイズクラスターサイズおよびインデックスブロックサイズは、ntfsinfoによって出力されるボリューム情報にあります。

6
silvernightstar

「セクターサイズ」は、ストレージデバイス自体の原子単位のサイズを表します。 「クラスターサイズ」は、非常駐ストリームのNTFS割り当てのアトミックユニットを示します(以下を参照)。インデックスブロックは、ディレクトリを格納するために使用されます。 「インデックスブロックサイズ」は、インデックスブロックストレージのアトミックユニットのサイズを示します。

ストリームが常駐しているため、小さなファイルにサブクラスターが割り当てられています。小さなファイルはマスターファイルテーブル(MFT)( "常駐ストリーム" )に直接保存され、クラスターを割り当てる必要はありません。

4
Evan Anderson