ext4 FS 映像在第一次挂载时损坏

ext4 FS 映像在第一次挂载时损坏

我正在用一个新的更大的 M.2 SSD 替换它。我想在取出旧 SSD 之前保存现有分区的映像,以便在设置新安装时可以参考它并确保不会丢失任何东西。我的机器上只有一个 SSD 插槽,所以我不能使用 SSD 本身,所以这就是映像文件的用途。

我以为这会相当简单,但我遇到了一个奇怪的问题。图像创建似乎没有问题,我可以循环挂载图像,没有问题。但在挂载的文件系统上探索了一会儿之后,我得到了各种错误,例如

"ls:  reading directory <directory> : Bad message"

我使用一个简单的 dd 命令创建了图像:

dd if=/dev/nvme0n1p5 of=backup.img bs=64kb status=progress

当它们创建完成后,我在没有安装它们的情况下检查了图像:

fsck.ext4 backup.img

然后报告说图像是干净的。

然后我挂载该图像:

mount backup.img <mnt_pnt>

然后我执行“ls -R”命令,并收到上面提到的“错误消息”错误。

如果我卸载文件系统并再次运行 fsck,它会报告各种 inode 错误。

如果我直接挂载实际分区,则不会出现任何错误,并且列出“错误消息”错误的文件也没有错误。

基础系统是 Kubuntu 20.04。我确保在开始备份之前对所有分区强制执行 fsck。备份被放置在通过 CIFS 安装的 NAS 驱动器上。

上述过程在 Kubuntu 21.20 Live USB 系统上执行。

我究竟做错了什么?

编辑:我查看了 CloneZilla 和 fsarchiver。它们似乎承诺了很多,但我的问题是我不想在映像化这些文件系统后恢复它们。我只想能够在新的、全新的 ubuntu 安装上安装它们并提取我需要的文件。我尝试了 CloneZilla 的说明(他们自己说这是一种变通方法),但在我解压映像后它无法安装它。我还不确定 fsarchiver。

答案1

以防其他人遇到这种情况:我最终使用 e2image 来对分区进行映像处理,而不是直接使用 dd。它似乎可以生成没有我在问题中列出的任何问题的映像,并且我可以将映像挂载为环回设备。

相关内容