驱动器系统文件大小

驱动器系统文件大小

当我创建一个新驱动器时,系统文件需要一些空间,FAT32 占用较少的空间,然后是 NTFS,然后是 ext4,我的问题是如何在创建驱动器之前知道系统将占用的空间,如果驱动器是 1giga 或 100giga,则为 FAT32、NTFS、ext4。

编辑:当使用 FAT32 制作 10MB 驱动器时,其大小显示为 9.9

当使用 ext4 制作 10MB 驱动器时,大小显示为 8.1

同样的事情,对于更大的尺寸,总会有一些空间被使用,而驱动器上没有文件,那么这个空间去哪里了,如果它是文件系统,我如何计算在格式化驱动器之前将占用的空间

答案1

  1. 提高你的英语!

  2. 每个文件系统都有一个“表”,其中包含有关存储的文件、块大小以及我认为有关磁盘上物理地址的一些数据的信息(名称、大小、权限、类型等),以及一些其他内容。这取决于文件系统,当分区为空时占用多少空间,或者它是否会随着更多文件的添加而增长。因此,每次创建分区时都会有一些空间丢失。

  3. 只是为了清楚起见。请注意,HDD 制造商使用 1 GB = 1000 MB 的标准表示法。一些操作系统使用“2 的幂”标准:1GiB = 1024GiB(Gibibytes - 在维基百科上阅读更多信息)。所以不用担心这种空间被“占用”。例如,100GB HDD 理论上将有 93.1323 GiB 可用。

  4. 现在,块大小是文件系统的一个重要元素。块就像文件系统的原子结构。分区被分成数据块。它可能会导致少量空间丢失。假设您有一个 18KiB 数据的 HDD。您用 4KiB 块大小格式化分区。您将得到理论上的 4x4=16KiB。2KiB 丢失。

  5. 另一个重要因素是碎片,碎片可以是外部的,也可以是内部的。碎片是造成空间丢失的另一个原因,还有文件系统“表”。一个文件看起来像文件系统上的连续块数组。如果 4K 文件系统上的两个文件之间会保留两个块,但所有文件都超过 8K(2x4),则该空间永远不会被占用。这是外部碎片。如果一个文件有 10KiB,我们想把它放在 4KiB 文件系统上,那么即使文件有 10KiB,文件系统也会为它分配 12KiB(3 个块)。2 KiB 将永远闲置。这是内部碎片(例如,在 Windows 上,当您检查文件的属性时,它会显示大小 - 它需要多少 - 以及磁盘上的大小 - 文件系统中实际占用的大小)。

因此,我想说不要担心在一个文件系统或另一个文件系统上会丢失多少空间,文件系统还有比丢失空间更重要的方面,特别是在空分区上:速度(读取、写入、索引、搜索)、安全性、大文件选项、与某些操作系统的兼容性。

我不知道有任何应用程序可以计算格式丢失的空间。

答案2

Ext4 默认分配 5% 的空间仅供超级用户使用。这是为了确保驱动器不会被完全填满,否则会导致数据重新分配和其他操作失败。这个数量可以降低(对于我们拥有的巨型驱动器来说,这通常没问题)或删除(不建议在 /home 和系统分区上这样做,但在纯存储驱动器上,负面影响通常不会那么大。也许随着驱动器填满到边缘,碎片会增加)。

除此之外,还保留了“索引节点“。

维基百科说

文件系统中 inode 的典型分配启发式方法是总大小的百分之一。

这很可能是一个很好的经验法则(实际上我认为它更多的是 1.5-2%,但大小顺序是正确的)。

在 NTFS 中,“inode”概念体现为骨髓纤维化和文件 ID:s。随着更多文件的添加,MFT 会增大,因此其大小不固定,因此在空文件系统上将显示较小的开销。

最后,二进制前缀和驱动器制造商报告的大小总是存在混淆。

https://askubuntu.com/questions/48488/ext4-partition-size-free-space-discrepancies/48511对于另一个涉及大多数陷阱的类似问题。

相关内容