将文件系统格式从xfs更改为ext4,而不会丢失数据

我有一台笔记本电脑上运行的新鲜的Lucid Lynx(Ubuntu 10.04)。 在那里我定义的文件系统为:

  • 挂载点/在ext4(46 Gb)
  • jfs上的挂载点/ home(63 GB)
  • 交换为3 Gb

我离开机器过夜做了一些任务,没有交stream电源。 第二天早上,我发现它在待机状态,任务完成,但文件系统无法访问。 它给了我I / O错误

似乎jfs和standby有问题。

无论如何,为了避免任何麻烦,我想把这个挂载点从jfs格式转移到ext4。

我可以做到这一点,而不会丢失数据,也不需要将数据放在临时位置,直到完成转换?

对不起,但是我回想起在windows的日子里,我们会把FAT16改成FAT32或者把FAT32改成NTFS,而不会丢失数据。 我希望这可以在Linux上使用。

更新 / home文件系统是xfs不是jfs,而且由于某种原因,这个文件系统似乎有一个错误,我必须重新安装两次操作系统,直到我用ext4完成整个/

但是,作为结论,似乎没有办法进行转换

我不知道任何方式非破坏性地转换文件系统。 这并不意味着这是不可能的,但我会把它放在很低的几率。

你可以,例如,从ext2转换为ext3而不擦除磁盘,从ext3ext4

但从jfsext4似乎是非常不可能的,没有首先复制/home文件到另一个分区或外部硬盘。

即使这样,你也希望在你的系统上创build一个新用户,在/tmp/tempuser类的主目录/tmp/tempuser或者为你的用户拷贝你的configuration,通常是你的主目录中的'dot'文件(以.开头的文件)一个新的位置closures/home并更新/etc/passwd以使用新的主目录,因此您可以在执行此更新时以普通用户身份login。

然后,备份您的文件,卸载/home并使用/sbin/mkfs.ext4或您打算使用的任何工具进行/sbin/mkfs.ext4 。 将新分区挂载到/home并将您的文件复制回来。

另外,我会推荐像rsync这样的“智能”来复制你的文件,以确保你保留你的权限和所有的爵士乐。

fstransform在ext2,ext3,ext4,jfs,minix,xfs,reiserfs之间进行转换。

我在Debian的wheezy仓库中看到它,所以它也可能在其他基于Debian的发行版中可用。