缩小分区后“已用空间”发生变化

缩小分区后“已用空间”发生变化

我使用 Kubuntu 16.04 live USB 启动了笔记本电脑,并使用 KDE 分区管理器(版本 1.2.1)查看了内部硬盘 (/dev/sda)。主分区 (/dev/sda3, ext4) 为 442.91 GiB,分区管理器报告使用了 41.29 GiB。

然后我使用 KDE 分区管理器将 sda3 缩小到 45 GiB。缩小成功完成后(未报告任何错误),KDE 分区管理器报告已使用 35.03 GiB。分区上的数据不应该发生变化,那么这是怎么发生的呢?

我的猜测(不是特别有根据的)是分区管理器实际上给了我一个已用空间的“估计值”,在执行缩减操作后,这个值有所改善;也就是说,实际数据总是接近 35 GiB。或者可能是垃圾或临时文件夹中的大量数据被删除了。但这仍然是一个很大的差异(大约 20%),所以我想知道是否有人以前见过这种情况,或者实际上知道为什么会发生这种情况/应该预料到这种情况。

更新:笔记本电脑在缩水后似乎可以正常启动和工作。当然,这不是证据,但没有数据丢失的迹象。

更新 2:缩小和未缩小时使用的 inode 数量相同,并且所有文件的校验和比较没有显示任何差异,因此我更加确信没有数据丢失,这是主要的实际问题。这个问题仍然悬而未决,但目前更具学术性。

答案1

KDE 分区管理器从几个来源获取已用空间,其中一些可能是估计值。但正如你所说,20% 看起来有点太多了。

我认为另一件事是分区调整大小工具可能会改变一些磁盘结构,例如范围数,因此您需要更少的空间来存储元数据。

答案2

出现差异的原因是reserved-blocks-percentage是文件系统的一个参数。reserved-blocks-percentage可以使用 -命令更改tune2fs,默认值为 5%(请参阅man tune2fs,查找-m-选项)。

看起来您的文件系统在编辑分区之前被调整为 2%,而在调整大小期间又被设置回 5%。

相关内容