I wish to convert my current /home partition to BTRFS (or other file systems) without losing data if possible, what steps should I take for this? is it safe?
- 41,000
- 24
- 132
- 201
- 14,684
- 24
- 89
- 136
1 Answers
If you install btrfs-tools (newer systems call this package btrfs-progs) 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
- 3
- 3
- 20,597
- 12
- 65
- 91
-
Let's say you have a 1TB disk with a 1TB Ext4 partition and it is used 80%. Can you convert it like this? You say that most data gets moved only, so my assumption is that you can convert nearly full partitions. Just want to be sure. – bzero Nov 06 '13 at 08:59
-
@bzero Yes, so long as the disk has at least 1 MB free. – nanofarad Nov 06 '13 at 14:27
-
2Maybe this would require another separate question, but I don't see in your answer any modification of fstab or grub. Will the next boot succeed if I only use btrfs-convert ? – Xavier T. Jan 15 '14 at 14:53
-
@XavierT. I personally do not know this. It looks from a new version of the source that fstab would need to be modified and a valid FS driver existent at boot. – nanofarad Jan 15 '14 at 17:58
-
5@XavierT. You have to edit `fstab` if it mentions ext2/3/4 explicitly (just change it to `auto` or `btrfs`) or if it contains ext-specific mount options (needs to be evaluated on a case-by-case basis, open a question and post your fstab) or if it the line does not end in `0 0` (change it to `0 0`). GRUB does not need a change, because it only deals with the root, not with the home. Doing btrfs-convert without fsck is like going to a car race without having a mechanic check your car beforehand - you may do it and succeed, but it is just stupid unless you have a very good reason. – ignis Jun 21 '14 at 12:51
-
1Note that `btrfs-convert` has been dropped in Debian. – Frederick Nord Oct 12 '17 at 17:28
-
2And btrfs-convert appears to have been dropped on Ubuntu 18.04 as well (I didn't check earlier versions). – b_laoshi Nov 13 '18 at 08:18