我正在尝试恢复使用 clonezilla 拍摄的图像。该图像取自 Windows 7 计算机,并被分解为以下格式的多个文件。
sda1.ntfs-ptcl-img.gz.a*(其中 * 来自 ak)
我在网上搜索了恢复这些图像的方法,最常用的方法如下:
sudo cat /dir-to-images/sdb1.ntfs-ptcl-img.gz.* | sudo gzip -d -c | sudo partclone.restore -C -s - -O /dir-to-new-image/hda1.img
但是,当我尝试这样做时:
sudo cat sda1.ntfs-ptcl-img.gz.a* | sudo gzip -d -c | sudo partclone.restore -C -s - -o partclone-restore.img
我收到以下错误:
Partclone v0.2.70 http://partclone.org
Starting to restore image (-) to device (partclone-restore.img)
device (partclone-restore.img) is mounted at
error exit
Partclone fail, please check /var/log/partclone.log !
那么,让我们看看 partclone.log...
Partclone v0.2.70 http://partclone.org
Starting to restore image (-) to device (partclone-restore.img)
device (partclone-restore.img) is mounted at
error exit
完全相同的错误..我是不是漏掉了什么?有人能给我指出正确的方向吗?
我正在使用 Ubuntu 12.04
答案1
我遇到了同样的问题。虽然 dogonthehorizon 的答案最终可能会给你想要的结果,但在尝试安装旧版本的 partclone 时,你还必须解决依赖性问题。
相反,停止使用partclone.restore
,它被认为是弃用的partclone.ext4
。与选项--restore --restore_raw_file
(简称:)结合使用作为保留的替代方案-r -W
。这里‘ext4’应替换为适当的文件系统(‘ext3’,‘ext4’,‘ntfs’, ETC)。
我没有遇到任何不兼容问题,我恢复了 0.2.58 版本ext4文件系统克隆,版本0.2.78。
以OP为例:
sudo cat /dir-to-images/sdb1.ntfs-ptcl-img.gz.* | sudo gzip -d -c | sudo partclone.restore -C -s - -O /dir-to-new-image/hda1.img
当你不再使用时,你将获得以下内容partclone.restore
,但partclone.ntfs
对于NTFS反而:
sudo cat /dir-to-images/sdb1.ntfs-ptcl-img.gz.* | sudo gzip -d -c | sudo partclone.ntfs -C -r -W -s - -O /dir-to-new-image/hda1.img
或者以下内容ext4文件系统备份:
sudo cat /dir-to-images/sdb1.ext4-ptcl-img.gz.* | sudo gzip -d -c | sudo partclone.ext4 -C -r -W -s - -O /dir-to-new-image/hda1.img
注意文件系统指示(‘ntfs’和‘ext4’) 在原始.gz文件中。
答案2
TL;DR:从源代码安装 partclone 0.2.58 并再次尝试 partclone 步骤。
我在尝试在 Arch-Linux 机器上执行类似操作时偶然发现了这个问题。我处理这个问题的方法和你略有不同,但我希望我的解决方案至少能让你走上正确的道路。
我首先解压了使用以前版本的 Clonezilla 制作的压缩备份:
cat sda4.ext4-ptcl-img.gz.a* | gzip -d -c > sda4.img
然后我尝试使用 partclone 以下命令恢复此文件:
partclone.extfs -r -s sda4.img -o sda4-restored.img --restore_raw_file
到目前为止,事情应该很熟悉;我在这里所做的就是将你尝试的过程拆分为两个命令。现在,我遇到了和你遇到过同样的问题使用这些命令,它出现是我们正在使用的 partclone 版本的问题。
似乎两者Partclone v0.2.70和Partclone v0.2.69 不兼容我已经备份了Clonezilla v3.5.1。
然而,安装旧版本的 Partclone,即Partclone v0.2.58,允许我使用与上述相同的命令恢复我创建的备份映像。由于 partclone 没有为 Arch-Linux 准备的映像,因此我必须从源代码进行编译,但是运行 Ubuntu 12.04 时,您可能能够利用此 partclone 镜像中提供的 .deb 文件:http://partclone.nchc.org.tw/download/stable/0.2.58/。
我编译 0.2.58 所遵循的步骤非常针对 Arch-Linux,但如果您仍然需要帮助,我很乐意与您分享这个过程。
干杯!
答案3
在另一个论坛中我找到了一个简单的解决方案。
您必须创建您正在写入的文件!
例如
触摸 sda4-restored.img
-C / dont check size ..
请注意,除非您创建的文件大小与您的分区相同或更大,否则您必须使用它。
原始帖子:
答案4
当我尝试循环挂载使用 partclone.restore 恢复的图像时出现错误。我最初的备份是使用 clonezilla 创建的,我将一个分区备份为一个图像。
EXT4-fs(loop0):几何形状不良:块数 14648437 超出设备大小(14215168 个块)
所以我使用以下命令来截断它
截断-o-s 14648437 sda2.img
如果 img 归 root 所有或位于 root 拥有的文件夹中,则需要 sudo。但要小心,因为截断图像可能会导致文件丢失,但请记住,您仍然拥有原始 clonezilla 备份,因此如果您弄乱了 partclone.restore 创建的 .img 文件也没关系