这不是我的主要问题,但我很好奇为什么 .txt 文件的大小是 21 字节,而它在磁盘上的大小是 4 千字节。以下是我所指的快照:
我也想知道硬盘的大小是否也是如此。例如:我安装了 1TB 的硬盘,但实际可用容量比 1TB 少很多,我看到最多少了 60GB,并认为这是一个相当大的数量?即:1TB 硬盘,但只有存储 950GB 的容量。
我并不是在寻求任何科学的解释,只是想了解一下幕后发生了什么事情才导致了这种情况的发生?
答案1
文件系统喜欢将文件按硬盘块对齐,因为这样更简单,并且可以提高性能。当文件大小小于块时,块的其余部分仍会被使用,从而导致差异。
如果您有许多小文件,则最终可能会出现很大的差异,但更有可能的是,广告中显示的可用空间和实际可用空间之间的差异是由于千兆字节的定义不同(1024 兆字节与 1000 兆字节)。
答案2
这是因为 Windows 将空间分配为 4KB 的块。因此,直到您填满 4 KB,才会为您分配一个块。即:4KB。达到 4kB 和 1 字节后,磁盘上的大小将为 8 KB,就像......
您可以在 NTFS 驱动器中使用压缩选项,将磁盘大小减少到几乎相同。但请注意,一些专家表示这会稍微降低您的访问速度。
巴德磁盘问题是另一回事。你的 1 TB 当制造商说它实际上说1吨(公制)= 1000^4 即 1000 x 1000 x 1000 x 1000 即 10^12 单位
但是当你用计算机术语来说 1 TB = 1024^4 字节
因此,计算机中的 1 TB 比公制中的 1 T 要大得多
因此,要从 Tera 公制单位制转换为 Tera 计算机单位制,
= 1 x 1000^4 / 1024^4
= 计算机系统中的 0.909 TB(931 GB 即 0.909 * 1024)
答案3
发生这种情况是因为硬盘是“块设备”。这意味着您一次只能以完整的“扇区”为单位写入数据,并且只能以“扇区”为单位在设备上保留空间。
不可能写入 21 个字节,只能写入一个完整的块(或“扇区”),而您实际上只能使用 21 个字节。
实际扇区大小可能因设备而异,而且对您来说,它几乎是不可见的(而且并不重要)。几十年来,512 字节很常见,但较新的驱动器有其他大小,通常是 4096 字节,以适应更大的存储容量。
有些驱动器(例如 SSD)内部甚至更复杂,因为它们有身体的例如,分配粒度为 512kiB,但向外界公开 4kiB 的单位。为了使这一切正常工作,驱动器会在内部(不告诉任何人)根据需要复制数据。操作系统或用户都看不到这些。
现在,由于设备以这种方式工作,操作系统必然要做一些类似的事情(事实上,不是一定但这是唯一有效的方法——你可以当然,如果您确实想要,也可以采用不同的方法,但这没有多大意义)。对于大小合理的分区,4096 是一个很好的默认“猜测”,因为它是所有正常出现的设备块大小的倍数,并且不会浪费太多空间。因此,这也是 NTFS(和大多数其他文件系统)默认使用的。您可以在格式化驱动器时手动更改此设置,但通常没有必要也不建议这样做。
对于非常大的分区,NTFS 将使用更大的簇大小(8K 以上为 16TB,16k 以上为 32TB),因为这样可以使簇数保持较小,并且大型驱动器可以避免在小文件上浪费几个字节。