我有opensuse Leap 15.0,在安装它时,我没有指定每个分区的格式。现在我想将我的 /home 分区(我为我的数据和配置文件提供一个单独的主分区)从 XFS 更改为 ext4。那么有没有一种方法可以在不格式化的情况下做到这一点呢?
答案1
不,您需要将数据复制到其他地方,创建ext4
文件系统并将数据复制回来。
我认为LeapLVM
默认使用,所以你可以添加一个额外的磁盘LVM
,创建一个新的逻辑卷,创建一个ext4
文件系统并复制数据。然后,您可以删除XFS
文件系统,最后从 中删除附加磁盘LVM
。
如果您不知道,您无法缩小XFS
文件系统,因此您无法缩小当前卷以复制到新ext4
卷。
答案2
我们得到了 fstransform
https://github.com/cosmos72/fstransform
相同的教程:
https://access.redhat.com/discussions/6134431[1]
https://fedoramagazine.org/transform-file-systems-in-linux/
[1]
步骤 1
从 EPEL 存储库安装工具:
$ sudo yum -y 安装 fstransform
步骤 2
检查文件系统 /myfs 的当前设置:
$ uname -a && sudo lsblk -f | awk '$NF=="/myfs" {print $NF,"is 文件系统类型",$2}'
Linux myhost.domain.dom 3.10.0-1160.25.1.el7.x86_64 #1 SMP 星期二 4 月 13 日 18 日: 55:45 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux /myfs 是文件系统类型 ext4
$ sudo 挂载 | grep myfs
/dev/mapper/myvg-mylv on /myfs type ext4 (rw,noatime,data=ordered)
步骤 3
卸载文件系统 /myfs 并运行转换:
$ sudo umount /myfs
$ sudo fstransform /dev/mapper/myvg-mylv xfs
步骤 4
更改 /etc/fstab 中的文件系统类型并重新挂载 /myfs:
$ sudo sed -i -e "s#/myfs.*ext4#/myfs xfs#" /etc/fstab
$ sudo 挂载 /myfs
$ uname -a && sudo lsblk -f | awk '$NF=="/myfs" {print $NF,"is 文件系统类型",$2}'
Linux myhost.domain.dom 3.10.0-1160.25.1.el7.x86_64 #1 SMP 星期二 4 月 13 日 18 日: 55:45 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux /myfs 是文件系统类型 xfs