我有一个分区/dev/sda1。
磁盘实用程序显示其容量为 154 GB。
df-h节目
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 123G 104G 14G 89% /
devtmpfs 1006M 280K 1006M 1% /dev
none 1007M 276K 1006M 1% /dev/shm
none 1007M 216K 1006M 1% /var/run
none 1007M 0 1007M 0% /var/lock
none 1007M 0 1007M 0% /lib/init/rw
为什么结果不同?丢失的 31 GB 去哪儿了?
答案1
分区容量可能不同的原因之一是为根保留了一些空间,以防分区已满。如果没有为根保留空间,并且分区已满,系统将无法运行。然而,这种差异通常约为 1%,因此这并不能解释您的案例中的差异。来自 df 的手册页
如果参数是包含已安装文件系统的磁盘设备节点的绝对文件名,则 df 显示该文件系统上的可用空间,而不是包含该设备节点的文件系统(始终是根文件系统)上的可用空间。
因此 df 实际上显示了文件系统的大小,通常是设备的大小,但在您的情况下可能并非如此。您的文件系统是否扩展到整个分区?
做
resize2fs /dev/sda1
有什么区别吗?此命令尝试增加文件系统以覆盖整个分区。但如果您尝试此操作,请确保您有备份。
答案2
主要区别是因为有些人说 1 KB 是 1000 字节,而另一些人说 1 KB 是 1024 字节。
Gnome 磁盘实用程序使用 1 KB = 1000 字节显示容量,因为磁盘制造商以这种方式描述磁盘大小。这意味着您的磁盘容量接近154,000,000,000 字节。
另一方面,大多数操作系统表示 1 KB = 1024 字节。所有工具都喜欢df
并fdisk
使用这个约定。所以 154,000,000,000 字节 / 1024 / 1024 / 1024 =143.4GB。
正如 jlliagre 正确指出的那样(Gilles 在询问您的fdisk
输出时暗示),磁盘实用程序会告诉您整个硬盘的大小。但/dev/sda1
它是硬盘上的单个分区。例如,您的硬盘上可能还有一些其他分区,例如 4-8 GB 的交换分区(也称为虚拟内存),以及通常约为 100 MB 的引导分区。
您没有发布 的输出fdisk -l /dev/sda
,因此我们假设您的交换分区为 8 GB。现在我们要做的是135GB。
然后,还有一些其他因素导致了这种差异。
例如,文件系统使用某些磁盘分区来存储元数据。元数据是诸如文件名、文件权限、分区的哪些部分属于哪些文件以及分区的哪些部分是空闲的等信息。在我的系统上,大约 2% 的分区用于此目的。假设你的类似,它会将可用空间减少到大约132GB。
文件系统还可以保留一些只能由root用户使用的空间。在我的系统上,它占分区的 5%,因此在您的情况下,这意味着总容量约为125GB。
确切的数字取决于您是否使用 ext2、ext3、ext4、fat、ntfs、btrfs 等,以及格式化分区时使用的设置。
如果您使用的是 ext2 或 ext3,sudo tune2fs -l /dev/sda1
可以帮助了解空间的去向。
答案3
可能它们被 inode 使用。 MBR 可能会用完一些量。
答案4
sda1 不是您的整个磁盘,而是它的第一个主分区。您可能创建了其他未安装的分区,这些分区未显示在 df 输出中,或者只是由于某种原因 sda1 未填充所有可用空间,或者文件系统未使用其分区中的所有可用空间。
fdisk -l
会告诉你你的分区表是什么样子的。