可以在不使用 Clonezilla 的情况下恢复使用 Clonezilla 制作的图像吗?

joh*_*nny 5 clonezilla disk-image

我用 Clonezilla 创建了几个图像。如果我没有 Clonezilla 的 live CD,但我有另一个 Linux 发行版,例如 Knoppix,它没有 Clonezilla,是否有另一个程序可以将图像恢复到本地驱动器?我的理解是 Clonezilla 是 gparted 的自动机。我不知道。

ein*_*lum 6

是的,但您需要使用正确的工具。

分区备份工具

Clonezilla实际上更像是一个框架,而不是一个统一的应用程序,它使用多种工具之一来创建备份映像。这些工具是:

应该使用partclone- 这是默认设置,通常如果您安装了,那么clonezilla您也安装了该选项。(而且,即使对于 NTFS,它显然也比 ntfsclone 更好。)但是当您创建映像时,请注意所调用的内容。如果完成,请查看日志文件/var/log/clonezilla.log/var/log/partclone.log仔细检查。

压缩方案/工具

默认情况下,图像使用 gzip 方案进行压缩,但理论上可以使用 bzip2、lzma 或其他方案进行压缩。

您可以使用以下实用程序检查图像的压缩格式file

$ file /path/to/my/image_file.aa
/path/to/my/image_file.aa: gzip compressed data, last modified: Sun Oct  15h 12:34:56 2017, max speed, from Unix
Run Code Online (Sandbox Code Playgroud)

您使用的解压缩工具通常与压缩方案具有相同的名称:gzip对于 gzip、lzma对于 lzma、bzip2对于 bzip2。但是,有时您可能想运行其他东西。例如:pigz是 gzip 的并行多核版本,它的工作速度要快得多(通常)。

检查图像文件名以确定要使用的工具

partimag/Clonezilla 将分区备份放置在您执行备份的任何设备上的子目录中。在该目录中,有许多我们现在不太关心的文件,以及(通常是最大的)文件 - 实际的压缩克隆映像。此类文件的路径示例:

/mnt/sdc1/partimag/2017-10-15-01-my-partition-backup/sdb1.ext4-ptcl-img.gz.aa
Run Code Online (Sandbox Code Playgroud)

所以用于图像的目录是/mnt/sdc1/partimag;我们的特定分区已备份到子目录中2017-10-15-01-my-partition-backup,在该目录中,压缩映像为sdb1.ext4-ptcl-img.gz.aa. 现在,这个名字告诉我们几件事:

  • 分区是块设备sdb1(没那么有趣)
  • 文件系统类型为 ext4。
  • 备份工具是partclone(ptcl简称)
  • 压缩方案是 gzip (gz- 就像扩展名一样)

此外,还有一个名为clonezilla-img(是的,这是一个令人困惑的名称)的克隆过程日志,您也可以使用它来仔细检查事情。

重要提示:我忽略了图像文件被分割成固定大小的块的可能性。对于OP的问题,该案需要单独调查。

把它们放在一起

假设您要将图像恢复到设备/dev/sdd3。在这样做之前,请确保它已被卸载(例如使用unmount /dev/sdd3),否则你会把事情搞砸的。

您现在想要解压缩映像,并将结果通过管道传输到恢复模式下的分区备份工具,以写入相关的块设备。对于上面给出的示例,您将运行:

cd /mnt/sdc1/partimag/2017-10-15-01-my-partition-backup/ && \
pigz --decompress --stdout sdb1.ext4-ptcl-img.gz.aa \
| partclone.ext4 --restore --output /dev/sdd3
Run Code Online (Sandbox Code Playgroud)

为什么要这条管道?

  • 该图像是 gzip 压缩的,因此我们想调用gzip- 但pigz速度更快。
  • Pigz 会将其输出写入其标准输出流,即写入管道。
  • 这是一个部分克隆图像,因此我们调用partclone. 实际上,partclone 有多个可执行文件,每种文件系统类型一个,我们需要 ext4 二进制文件。
  • partclone,除非另有说明,否则从其标准输入(即管道)读取。

完成后,您可以尝试安装设备mount -t ext4 /dev/sdd3 /path/to/mount/point以检查恢复是否顺利。您还可以使用fsck文件系统检查工具。