在 NTFS 中,扇区大小、块大小和簇大小之间有什么区别?

sil*_*tar 6 filesystems 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
Run Code Online (Sandbox Code Playgroud)

之前是通过以下方式创建的:

$ sudo mkfs.ntfs -c 65536 -Q -L "Photos 250GB" /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

我读过集群大小与Windows 中的分配单元大小相同。所以我希望文件至少占用 64KB,就像在 Windows 中一样。但是,通过调用stat小文件似乎并不明显:

$ stat lsfsdf
  File: `lsfsdf'
  Size: 9               Blocks: 1          IO Block: 4096   regular file
Device: 811h/2065d      Inode: 80          Links: 1
Run Code Online (Sandbox Code Playgroud)

我试图弄明白了这一切,所以希望知道什么是扇区大小簇大小索引块的大小是按体积输出的信息ntfsinfo

Eva*_*son 5

“扇区大小”描述了存储设备本身的原子单元的大小。“簇大小”描述了非常驻流的 NTFS 分配的原子单元(见下文)。索引块用于存储目录。“索引块大小”描述了索引块存储的原子单元的大小。

由于驻留流,您会看到小文件的子集群分配。小文件直接存储在主文件表(MFT)(“常驻流”)中,不需要分配簇。