![缩小分区后“已用空间”发生变化](https://linux22.com/image/1062780/%E7%BC%A9%E5%B0%8F%E5%88%86%E5%8C%BA%E5%90%8E%E2%80%9C%E5%B7%B2%E7%94%A8%E7%A9%BA%E9%97%B4%E2%80%9D%E5%8F%91%E7%94%9F%E5%8F%98%E5%8C%96.png)
我使用 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%。