如何安全地调整(缩小)BTRFS分区?

我在BTRFS分区上有/ home我需要缩小它,遗憾的是Gparted没有这个FS的resize选项。 我可以在不丢失数据的情况下以任何其他方式resize吗?

根据GPartedfunction页面 ,支持btrfs shrink。 如果该选项不可用,安装btrfs-tools包可能会修复它。 如果这不起作用,可能是因为Ubuntu包含旧版本的GParted,在这种情况下你可以使用GParted Live CD:

http://gparted.sourceforge.net/livecd.php

(这也是Ubuntu推荐使用它的方式)

根据btrfs wiki中的这个页面 :

要将文件系统缩小4 GiB: btrfs filesystem resize -4g /mntbtrfsctl -r -4g /mnt设置FS大小。 要将文件系统设置为特定大小,请从大小中省略前导+或 – 。

Ubuntu中的btrfsbtrfsctl命令由名为btrfs-utils的软件包提供,您可以在软件中心中安装该软件包。 您可以在终端中运行这些命令(Ctrl + Alt + T)。 无论你想要缩小分区多少4g ,而用分区的挂载点取代/mnt 。 例如,要将安装在/ media / Alpha上的btrfs分区缩小500 MiB,您将运行:

btrfs filesystem resize -500m /media/Alpha

要么:

btrfsctl -r -500m /media/Alpha

假设调整btrfs文件系统大小的准则与其他文件系统相同,则应避免调整与正在运行的系统位于同一物理磁盘上的分区。 因此,如有必要,从实时系统启动以调整已安装Ubuntu系统的驱动器上的分区大小。 (这也适用于在GParted中完成的大小调整。)

如果某些实用程序或应用程序在执行时没有看到resize操作的结果,则重新启动是个好主意。

有关使用这些命令的更多详细信息,请参见btrfsbtrfsctl 手册页 。 希望btrfs维基很快就能恢复。

我个人对btrfs文件系统并不熟悉,但我觉得这些resize命令占用文件系统的挂载点而不是设备名称。 如果有人可以解释,请评论或随意编辑此答案以改进它。