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


8

我在笔记本电脑上运行了一个新鲜的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,并且由于某种原因该文件系统似乎存在错误,我不得不重新安装操作系统两次,直到整个/

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


3
进行备份和还原。任何其他方法都不会足够普遍地被认为是安全的。哦,根据记录,FAT32-> NTFS并非总是没有问题。
Zoredache

@Zoredache :(或其他有信息的人)什么是合适的备份工具?我认为可能必须使用tar或类似的方法,因为我的印象是dump特定于文件系统的。
mpez0

我需要将我的根(/)fs,一个reiser4转换为ext4,并且我的一个朋友建议在其上使用cp甚至tar。我已经阅读了man cp,我会尽快尝试,建议的方法是将目标fs挂载到另一个OS(如果可能的话)上,格式化分区,然后仅提取/复制数据。由于您不是通过该操作系统引导的,因此备份它不会有任何麻烦,因为那时不会挂载设备节点文件和其他特殊文件。
Spidey

Answers:


5

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

例如,您可以ext2ext3不擦除磁盘的情况下从和转换ext3ext4

但是从东西去喜欢jfsext4似乎极不可能,而无需首先你复制/home文件到另一个分区或外置硬盘。

即使这样,您仍要在系统上创建一个新用户,其主目录位于某处/tmp/tempuser或为您的用户复制配置,通常将.主目录中的“点”文件(以开头的文件)复制到新位置,/home然后更新/etc/passwd以使用新的主目录,因此您可以在执行此更新时以普通用户身份登录。

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

另外,我建议您使用一些“智能”方式rsync来复制文件,以确保您保留权限和所有爵士乐。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.