如何在不丢失数据的情况下将ext4分区转换为btrfs(或其他文件系统)?


16

我希望将当前/home分区转换为BTRFS(或其他文件系统),如果可能的话不会丢失数据,我应该采取什么步骤?安全吗?

Answers:


18

如果您安装btrfs-toolssudo apt-get install btrfs-tools,那么btrfs-convert命令提供给您。

首先运行fsck

sudo fsck.ext3 -f /dev/xxx

然后,转换!

sudo btrfs-convert /dev/xxx

要滚动,请运行:

sudo btrfs-convert -r /dev/xxx

要清理一些空间并使转换永久生效/ext2_saved/image,请在分区上删除。

当然,虽然这是一个相对安全的过程,因为仅需要移动1 MB,并且原始的Ext2 / 3/4 FS可以作为映像使用,但您可以自行决定是否备份。与任何文件系统操作一样,存在固有的数据丢失风险。

您的数据以及Ext4元数据都将保留在原位。但是,前1 MB已移动,并且在Ext4可用空间内创建了一系列BTRFS元数据。

部分参考:https : //btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3


假设您有一个带有1TB Ext4分区的1TB磁盘,并且已使用80%。可以这样转换吗?您说大多数数据仅被移动,所以我的假设是您可以转换几乎完整的分区。只是想确定一下。
bzero13年

@bzero是的,只要磁盘具有至少1 MB的可用空间。
恢复莫妮卡-ζ-13年

2
也许这将需要另一个单独的问题,但是我在您的答案中看不到fstab或grub的任何修改。如果仅使用btrfs-convert,下一次启动会成功吗?
Xavier T.

@XavierT。我个人不知道这一点。从源的新版本看来,fstab将需要修改,并且引导时存在有效的FS驱动程序。
恢复莫妮卡-ζ-2014年

4
@XavierT。您必须编辑fstab它是否明确提到ext2 / 3/4(只需将其更改为autobtrfs),或者是否包含ext特定的挂载选项(需要根据具体情况进行评估,请打开一个问题并发布您的fstab ),或者该行未以结尾0 0(将其更改为0 0)。GRUB不需要更改,因为它仅处理根目录,而不处理主目录。不使用fsck进行btrfs转换就像参加赛车而无需机械师事先检查您的车一样-您可以做到并取得成功,但这只是愚蠢的,除非您有充分的理由。
ignis 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.