changing filesystem format from xfs to ext4 without losing data

fstransform converts between ext2, ext3, ext4, jfs, minix, xfs, reiserfs.

I see it in Debian repositories, so it probably is also available in other Debian-based distributions.


i am unaware of any way to non-destructively convert a file system. this does not mean it is impossible, but i would put it at very low odds.

you can, for example, convert from ext2 to ext3 without wiping the disk, and from ext3 to ext4.

but to go from something like jfs to ext4 seems highly improbable, without first copying your /home files to another partition or external hard disk.

even then, you would want to create a new user on your system, with a home directory somewhere like /tmp/tempuser or copy your configurations for your user, usually the 'dot' files (files beginning with .) in your home directory to a new location off /home and updating /etc/passwd to use the new home directory, so you can log in as a normal user while you're performing this update.

then, back up your files, unmount /home and format it using /sbin/mkfs.ext4 or whatever tool you plan to use. mount the fresh partition at /home and copy your files back.

also, i would recommend something 'intelligent' like rsync to copy your files, to assure you preserve your permissions and all that jazz.


You can try http://tzukanov.narod.ru/convertfs/ When I used it a few years ago it worked in one case and trashed the file system in another case.