How do I convert a FAT32 to ext3 (keeping the data on it)

Is there a way to convert a FAT partition to ext3 (or other ext..) while keeping the data on it? I don't have access to a external USB hard disk to temporarily store the data, so I'd like to just convert it while the data sits on the partition. Is that possible?


Solution 1:

If you're not booting off the partition (is this even possible without using wubi?) and it's at least half free then just use gparted (paste apt:gparted in firefox).

  • Run it from the menu.
  • Find out the name of your partition using fdisk -l in a terminal. The partition named something like /dev/sda* where * is a number. Or look through the list in the upper right edge of gparted
  • Resize the fat32 partition to less then half of it's original size
  • Create a new ext* partition
  • Move all files over to the ext partition
  • Delete the old one and resize the ext partition.

Note that I've done this several times and it always worked as intended HOWEVER there are many reports of people that lost data this way. Depending on the amount of data you can use Ubuntu One or Dropbox to backup your stuff. They both offer 2 GB which is most probably not enough.

Solution 2:

Direct conversion is not possible. You will need to copy the data to another drive/partition, change the filesystem, then copy the data back.