如何调整和缩小 BTRFS 分区的大小?

Bor*_*ook 29 btrfs

我有/home一个BTRFS分区,我需要缩小它。

不幸的是,Gparted此 FS 没有调整大小选项。

我可以以任何其他方式调整它的大小而不会丢失我的数据吗?

Eli*_*gan 20

根据btrfs wiki中的这个页面

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

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 中完成的调整大小。)

如果某些实用程序或应用程序在执行时看不到调整大小操作的结果,则重新启动是一个好主意。

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

我个人对 btrfs 文件系统不是很熟悉,但是这些调整大小命令采用文件系统的挂载点而不是设备名称对我来说似乎很奇怪。如果有人可以解释这一点,请发表评论或随时编辑此答案以改进它。

  • 列出的命令只调整文件系统的大小,而不是分区。这就是他们在已安装的系统上工作的原因。一旦您调整了 FS 的大小,您应该能够使用您最喜欢的分区管理工具来更改实际分区的大小。但是,最新的 gparted 将为您完成所有工作,因此没有理由打扰。 (13认同)

bma*_*pin 15

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

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

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