从CloneZilla图像中提取文件


40

有没有一种方法可以浏览CloneZilla图像并从其中提取单个文件,而无需恢复整个图像?


重要说明:赏金旨在提供一种从WINDOWS中提取文件的方法-因为下面的* nix版本似乎已经可以很好地工作了
Mark Henderson

为什么不使用Cygwin在Windows上使用* nix方法?

@Mark Henderson,是否可以启动Linux VM?Windows框上是否装有cygwin?
Zoredache

@Zoredache-Linux VM是一个选择,但不是理想选择。cygwin是否包含“ mount”?如果确实如此,那总是值得一试。FWIW这次我只是将映像还原到VM中,然后从那里提取它们,但这似乎是一种获取单个文件的回旋方式。
Mark Henderson

没有任何答案实际上提供了一种在不将整个映像恢复到某个位置的情况下提取文件的方法,但是它不必是使用的真实磁盘分区,因为映像文件可以正常工作。我认为没有挂载就无法提取文件,除非有一些特定于文件系统的工具可以执行此操作(例如,debugfs对于ext * fs),partclone并且无法还原到stdout来将数据传递给此类命令。因此,您需要提取整个图像并将其安装。
David Gardner

Answers:


23

最好改用该partclone实用程序:

  1. cd /home/partimag/YOURIMAGE/
  2. touch hda2.img
  3. zcat dir/hda2.ntfs-ptcl-img.gz.* | partclone.restore --restore_raw_file -C -s - -o hda2.img
  4. mount -o loop hda2.img /mnt -t ntfs -o ro

注意:这需要以root身份完成,因为partclone需要root权限才能写入映像,并且mount命令可能仅以root身份工作。

另请参见CloneZilla常见问题解答条目:“如何将那些* -ptcl-img。*图像手动还原到文件中?”


在解压缩之前,如何解密它?我知道密码,但是命令。
antivirtel

5
自2017年5月起,partclone.restore需要--restore_raw_file标记写入.img文件。
biocyberman

1
万一其他人有同样的问题:我需要使用ntfs-3g -o loop hda2.img /mnt代替mount
ashleysmithgpu

1
@biocyberman我已经编辑了答案(待审核)以包括此选项,因为我遇到了同样的问题!:)
David Gardner,

我不认为zcat是最佳选择,因为它希望每个文件都单独压缩,而实际上只是一个长的gzip流拆分为单独的文件(至少在我的旧备份中,也许不再如此)。这可能会导致“ gzip:文件意外结束”错误。cat | gunzip作品。
hcs

20

您应该能够挂载CloneZilla映像以从中提取文件。请参阅此处的说明。

  1. 在Linux中准备大磁盘

  2. 假设您的图片是/ home / partimag / YOURIMAGE /,并且图片是/home/partimag/YOURIMAGE/hda1.ntfs-img.aa、hda1.ntfs-img.ab ...运行

    file /home/partimag/YOURIMAGE/hda1.ntfs-img.aa
    

    看看它是gzip,bzip还是lzop图像。说它是gzip,那么您可以运行

    cat /home/partimag/YOURIMAGE/hda1.ntfs-img.* | gzip -d -c | ntfsclone --restore-image -o hda1.img -
    

    然后,您将有一个“ hda1.img”,可以通过以下方式安装它:

    mount -o loop -t ntfs hda1.img /mnt
    

    然后所有文件都在/ mnt /中


6
在Windows中有任何方法吗?
椒盐脆饼

1
这些命令看起来很合理,但是当我尝试使用它们时,会得到一个ERROR: Input file is not an image! (invalid magic)。是什么原因造成的?
PetaspeedBeaver 2015年

如果您将CloneZilla与parclone一起使用,它将不会使用ntfsclone撤消。从下面的hal使用命令。
Mendes

旁注:对于一个gzip存档,可以gzip -d -c从命令中替换为zcat。同样,对于bzip2存档,可以使用bzip -d -cbzcat
cp.engr

实际上,我发现使用partclone
holdenweb '18

9

我制作了一个视频,演示了如何将完整磁盘备份还原到虚拟机。希望对您有所帮助:http : //www.youtube.com/watch?v=ainjV3X6wqQ

基本上,您需要做的是:

  • 在VirtualBox中创建VM(免费)
  • 使用至少与备份磁盘相同的大小为VM创建虚拟磁盘映像
  • 将您的clonezilla备份存储在外部HDD或可以从VM访问的内容中
  • 在其虚拟驱动器中使用clonezilla ISO运行虚拟机
  • 像在真实计算机上一样还原备份

恢复全磁盘备份的说明如何回答提取单个文件而不恢复整个映像的问题?
squillman

他可能需要访问文件系统中无法浏览的内容。例如,我必须访问我的clonezilla备份才能从phpMyAdmin导出.SQL文件。这是我发现的最好方法。
Pedro Moreira

2

摘自本文:

有一些限制。如前所述,Clonezilla无法将映像还原到小于原始驱动器的驱动器。它也不允许检索图像中的特定文件,它是整个分区或什么也没有。

由于Linux方式非常幸运,因此我将等到正式为Windows开发此功能。


1

试试这个软件:

http://www.mountimage.com/

看起来可以做到。14天试用期。


1
感谢您的回答,很遗憾,我已经尝试过该软件。问题是clonezilla映像是使用GZip压缩的。我能够解压缩GZipped文件,但是mountimage不知道如何处理它们。
Mark Henderson

解压缩GZ文件后的扩展名是什么?
JohnThePro 2011年
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.