如何调整两个 btrfs 分区的大小(增加第一个分区并减少第二个分区)?

如何调整两个 btrfs 分区的大小(增加第一个分区并减少第二个分区)?

我有两个 btrfs 分区,一个用于 /home,另一个用于 root。

gparted 截图

我想从根分区获取一些存储并在 /home 分区中使用它。

我尝试减小根分区大小,但无法将生成的未分配空间添加到 /home 分区,因为未分配空间放置在根分区之后。

答案1

在执行任何操作之前,请验证您是否拥有在职的最新备份驱动器上的所有重要数据。如果你正确地完成了所有操作,你就不会丢失它,但无论如何你应该始终有备份并且你可能会这样做。


我推荐的程序:

  1. 缩小根分区,使其后面的可用空间与新根分区应有的大小一样大
  2. 在该可用空间中创建新分区(/dev/nvme0n1pN其中 N 是新分区的自动分配编号。可能是 8。)
  3. 将 root 挂载于/anymountpointhere(如果尚未挂载/;您可以在实时系统中执行此操作)
  4. btrfs replace start /dev/nvme0n1p7 /dev/nvme0n1pN /anymountpointhere
  5. 删除旧的根分区
  6. 扩展主分区

您可能需要考虑合并分区。这样您就不必担心分区大小的问题。
最简单的方法是重新安装,但下一个最好的方法是将主分区的子卷(为其创建快照)发送到根目录并更改 fstab 以从根分区中的子卷挂载主目录。
然后执行btrfs replace我上面描述的相同过程,但以相反的方式将所有空间用于组合分区。

相关内容