8

I have a fresh Lucid Lynx (Ubuntu 10.04) running on a laptop. where I defined the filesystems as:

  • mount point / on ext4 (46 Gb)
  • mount point /home on jfs (63 GB)
  • swap as 3 Gb

I left the machine over night to do some task, without AC power supply. next day in the morning I found it on standby, task completed, but filesystem was not reachable. it gave me I/O error

it seems that there is a problem with jfs and standby.

anyways, to avoid any hassle, I want to move this mount point from jfs format to ext4.

can I do this without losing data and without the need to place the data in a temporary location until transformation is done?

sorry to mention that, but I recall back in the windows days, we would change a FAT16 to FAT32 or a FAT32 to NTFS without having to lose the data. I hope this is available on Linux.

Update The /home filesystem was xfs not jfs, and it seems there is a bug with this filesystem for some reason, I had to re-install the OS twice until I ended up with ext4 for the entire /

However, as a conclusion, it seems that there is no way to make a conversion

A.Rashad
  • 293
  • 1
  • 5
  • 18
  • 3
    Make a backup and restore. Any other method would not be used commonly enough to be considered safe. Oh, and for the record FAT32->NTFS was not always without problems. – Zoredache May 28 '10 at 06:24
  • @Zoredache: (or anyone else with info) What would be the appropriate backup utility? I think one might have to use `tar` or something similar, since my impression is that `dump` is filesystem specific. – mpez0 May 28 '10 at 13:34
  • I need to convert my root (/) fs, a reiser4, to ext4, and a friend of mine recommended using cp or even tar on that. I've read `man cp` and I'll try it soon, the suggested method is to mount the target fs on another OS, if possible a live one, format the partition and then just extract/copy the data back. Since you aren't booting through that OS, you won't have any trouble backing it up, since devices node files and other special files won't be mounted at that time. – Spidey Jun 05 '11 at 00:01

3 Answers3

8

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.

chronos
  • 568
  • 5
  • 13
  • 2
    There is more info about this project on [github](https://github.com/cosmos72/fstransform) – lockwobr Nov 28 '17 at 20:45
  • If you are an openSUSE user and want to use this tool, you can download/install using the 'one-click' method here: https://software.opensuse.org/download.html?project=filesystems&package=fstransform – seveninstl Nov 10 '18 at 01:09
5

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.

cpbills
  • 2,692
  • 17
  • 12
2

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.

Florian Diesch
  • 1,794
  • 1
  • 11
  • 5