如何将我的根分区从BTRFS转换为EXT4?

是否可以在不丢失数据的情况下将btrfs转换为ext4? 我在btrfs上的读/写操作速度非常低。

我只是使用可用的工具,而不是经验或文档。 你可能想用一个分区(甚至只是一个图像)测试它,如果一切都出错,你不介意丢失。 不进行备份就不要尝试这样做。

btrfs-convert具有撤消转换function的回滚function。 我不确定这是否适用于未通过btrfs-convert转换为btrfs分区。

  1. 首先卸载文件系统。 如果它对系统至关重要,请启动LiveCD。

  2. 安装btrfs-tools

     sudo apt-get install btrfs-tools 
  3. 回滚转换

     sudo btrfs-convert -r /dev/sdXn 

据我所知,你无法将btrfs转换为任何其他文件系统。

我使用具有多重启动发行版的系统(ext4上的Ubuntu,btrfs上的Xubuntu)来完成此操作。 运行Ubuntu,我已经使用了Xubuntu btrfs主分区,并使用fsarchiver对其进行了归档。 然后,我再次使用fsarchiver将其还原到另一个分区并指定ext4文件系统类型。 这似乎工作正常。

仍在Ubuntu中,我在/ mnt上安装了Xubuntu根分区,并编辑了/ mnt / @ / etc / fstab来更改/ home的挂载以指向新的ext4分区,同时更改UUID和fs类型,并删除子体积数据。 我保存了文件,然后重新启动进入Xubuntu。

启动时出错,启动暂停。 错误是我有另一个分区,我想挂载到我的〜/ Documents目录失败。 我选择手动修复问题。 事实certificate我的根分区安装好了ext4,但是当我做了一个列表命令时我得到了

 #ls /home @home 

所以原始的btrfs子体积结构仍然存在于ext4文件系统中。 我发出了命令

 mount --bind /home/@home /home 

然后我按下ctrl-D继续启动,Xubuntu继续启动,一切都很好。 我还没有这样做,因为我仍然在这个初始启动,但我确定我可以将该命令放在我的fstab文件中。 或者也许我可以将子卷信息留在fstab条目中,我不知道。

然而,我要做的是(这是偏离主题的),从另一台计算机中为Xubuntu采用更成熟的/ home(ext4)分区实例并使用它。 我已经certificate这会起作用。