I was wondering if it is possible to convert my boot system from xfs to ext4. If it is possible, how do I do so?


  • 1
    Why do you want to do that? – dr01 Jul 13 '17 at 8:41
  • @dr01 It is part of a requirement of an assignment that I have to have it as ext4 but I just only discovered that it is wrong – Thomas Jul 13 '17 at 8:44

You can do this using fstransform, which is a tool to convert a filesystem type into another:

fstransform /dev/sda1 ext4

Currently it supports all main Linux filesystems i.e. ext2, ext3, ext4, jfs, ntfs, reiserfs, xfs.

  • If I execute this one then possibility to data loss ? If not then this is safe ? – Nullpointer Sep 14 '17 at 9:42
  • There is always the possibility of data loss. Backup the data you cannot risk to lose. See the readme.md on GitHub. – dr01 Sep 19 '17 at 11:29

There is an old post on serverfault.com, hope you will find your answer here:

changing filesystem format from xfs to ext4 without losing data

To quote the top answer:

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.

  • Good find, but in the event that the serverfault page gets removed, we like answers here to be self-contained. – Jeff Schaller Jul 13 '17 at 9:56

Used fdisk to convert it.

fdisk /dev/sdb

Enter d (to delete a partition)

now fdisk /dev/sdb and create a partition

mkfs -t <filesystem_new> /dev/sdb

NOTE: This will result in data loss as we are deleting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.