How can I convert an ext4 partition to btrfs (or other file systems) without losing data?
If you install btrfs-tools
with sudo apt-get install btrfs-tools
, then the btrfs-convert
command is made available to you.
First run an fsck
:
sudo fsck.ext3 -f /dev/xxx
Then, convert!
sudo btrfs-convert /dev/xxx
To rollabck, run:
sudo btrfs-convert -r /dev/xxx
To clean up a bit of space, and make the conversion permanent, delete /ext2_saved/image
on the partition.
Of course, while this is a relatively safe procedure as only 1 MB needs to be moved, and the original Ext2/3/4 FS is available as an image, it is up to you to decide whether to back up. As with any filesystem operations, there is an inherent risk of data loss.
Your data stays in place, as well as your Ext4 metadata. However, the first 1 MB is moved, and a series of BTRFS metadata is created within Ext4 free space.
Partial ref: https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3