在不丢失数据的情况下将文件系统格式从 xfs 更改为 ext4

在不丢失数据的情况下将文件系统格式从 xfs 更改为 ext4

我的笔记本电脑上运行着一台全新的 Lucid Lynx(Ubuntu 10.04)。其中我将文件系统定义为:

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

我让机器过夜执行某些任务,没有交流电源。第二天早上,我发现它处于待机状态,任务已完成,但无法访问文件系统。它给出了 I/O 错误

看起来jfs和standby有问题。

无论如何,为了避免任何麻烦,我想将此挂载点从 jfs 格式移动到 ext4。

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

很抱歉提到这一点,但我记得在 Windows 时代,我们会将 FAT16 更改为 FAT32 或将 FAT32 更改为 NTFS,而不会丢失数据。我希望这在 Linux 上可用。

更新 /home 文件系统是 xfs 而不是 jfs,而且由于某种原因,这个文件系统似乎有一个 bug,我不得不重新安装操作系统两次,直到整个 / 都使用 ext4。

然而,总而言之,似乎没有办法进行转换

答案1

我不知道有任何方法可以非破坏性地转换文件系统。这并不意味着它是不可能的,但我认为它的可能性很低。

例如,您可以从 转换ext2为 而ext3无需擦除磁盘,也可以从ext3转换为ext4

但是,如果不先将文件复制到另一个分区或外部硬盘,那么从类似jfs的情况发生似乎极不可能。ext4/home

即便如此,您仍然希望在系统上创建一个新用户,并在类似的地方创建一个主目录,/tmp/tempuser或者为您的用户复制配置,通常是将.主目录中的“点”文件(以 开头的文件)复制到新位置/home并更新/etc/passwd以使用新的主目录,这样您就可以在执行此更新时以普通用户身份登录。

然后,备份您的文件,/home使用您计划使用的任何工具卸载并格式化它/sbin/mkfs.ext4。安装新的分区/home并将您的文件复制回来。

此外,我还会推荐一些“智能”方法,比如rsync复制您的文件,以确保您保留您的权限和所有内容。

答案2

函数变换在 ext2、ext3、ext4、jfs、minix、xfs 和 reiserfs 之间转换。

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

答案3

你可以试试http://tzukanov.narod.ru/convertfs/当我几年前使用它时,它在一种情况下有效,但在另一种情况下却破坏了文件系统。

相关内容