В интернете много чего написано по поводу создания backup и их восстановления с помощью clonezilla, но вот как быть если по какой-то причине нам требуется восстановить образ на более маленький диск или вытащить файл без clonezilla? Так как гугл на этот вопрос не может дать вразумительного ответа, то имеем эту запись, дабы не забыть что и как надо делать. 🙂
Интересно, что по идее должна быть возможность смонтировать распакованный образ и таким образом получить доступ к фалам, но с монтировать его не получается… Как выяснилось, проблема заключалась в partclone.
Таким образом появилась идея восстановить образ в какой-нибудь файл. Для этого потребуется утилитка partclone, которую можно скачать здесь, или диск/флешка с clonezilla и довольно много места на жестком диске (немного больше размера backup).
Для получения файла с образом выполняем команду:
cat /dir-to-baskup/sda2.xfs-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s - -O /dir-to-new-image/sda2.img |
данная команда выполнит восстановление образа sda2.xfs-ptcl-img.gz.aa в сжатый образ sda2.img, который можно смонтировать командой:
losetup /dev/loop1 /dir-to-new-image/sda2.img mount /dev/loop1 /dir-to-mount |
Теперь можно скопировать нужные файлы или начать перенос на более маленький жесткий диск 🙂
На последней команде пишет: mount: wrong fs type, bad option, bad superblock on /dev/loop2, missing codepage or helper program, or other error
sudo dmesg | tail выдало следующее:
[ 322.729893] EXT4-fs (loop1): VFS: Can’t find ext4 filesystem
[ 322.729985] FAT-fs (loop1): invalid media value (0x00)
[ 322.729988] FAT-fs (loop1): Can’t find a valid FAT filesystem
[ 1513.839247] systemd-hostnamed[6129]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[ 2798.344428] EXT4-fs (loop1): VFS: Can’t find ext4 filesystem
[ 2798.344741] EXT4-fs (loop1): VFS: Can’t find ext4 filesystem
[ 2798.344845] EXT4-fs (loop1): VFS: Can’t find ext4 filesystem
[ 2798.344960] FAT-fs (loop1): invalid media value (0x00)
[ 2798.344963] FAT-fs (loop1): Can’t find a valid FAT filesystem
[ 2839.446478] EXT4-fs (loop2): bad geometry: block count 6027588 exceeds size of device (6027264 blocks)
truncate -o -s 6027588 /path/to/partition.img
Изменить образ
truncate -o -s 6027588 /path/to/partition.img
Удалить созданный в первый раз loop2
losetup -d /dev/loop2
Затем снова повторить команды
losetup /dev/loop2 /dir-to-new-image/sda2.img
mount /dev/loop2 /dir-to-mount
В самой первой команде
cat /dir-to-baskup/sda2.xfs-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s — -O /dir-to-new-image/sda2.img
Одна черта «-C -s — -O» Иначе при копипасте будит ошибка в команде.
Привет! Спасибо за статью!
не получается:
andrei@HTPC:/$ cat /dev/sdc1/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s — -O /dev/sdc1/sda1.img
cat: /dev/sdc1/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa: Это не каталог
gzip: stdin: unexpected end of file
open logfile /var/log/partclone.log error
Вместо длинного тире (—) поставьте короткое (-)
А. Папка с правами рута…
Зашел как sudo -s
теперь другая ошибка
root@HTPC:/# cat /dev/sdc1/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s — -O /dev/sdc1/sda1.img
cat: /dev/sdc1/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa: Это не каталог
gzip: stdin: unexpected end of file
Partclone v0.2.86 http://partclone.org
Starting to restore image (—) to device (/dev/sdc1/sda1.img)
restore: open — error
Partclone fail, please check /var/log/partclone.log !
что я делаю не так ?
Вся проблема в длинном тире.
Команда в тексте переформатирована.
исправил на короткое, все равно ошибка. можеит проблема что у меня ext4-образ clonezilla?>
Возможно, тогда решение есть по ссылке в ответе ниже.
Исправил пути, все равно беда
root@HTPC:/mnt/HD3_PHOTOS/2016-11-13-15-img-all-ok# cat /mnt/HD3_PHOTOS/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s — -O /mnt/HD3_PHOTOS/sda1.img
Partclone v0.2.86 http://partclone.org
Starting to restore image (—) to device (/mnt/HD3_PHOTOS/sda1.img)
restore: open — error
Partclone fail, please check /var/log/partclone.log !
Ага теперь вижу короткое тире.
Исправил команду но все равно…. Ж(
root@HTPC:/mnt/HD3_PHOTOS/2016-11-13-15-img-all-ok# cat /mnt/HD3_PHOTOS/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.aa | gzip -d -c | partclone.restore -C -s — -O /mnt/HD3_PHOTOS/sda1.img
Partclone v0.2.86 http://partclone.org
Starting to restore image (-) to device (/mnt/HD3_PHOTOS/sda1.img)
device (/mnt/HD3_PHOTOS/sda1.img) is mounted at
error exit
Partclone fail, please check /var/log/partclone.log !
Должно быть у вас образ разбит на части…
Попробуйте такую команду: cat /mnt/HD3_PHOTOS/2016-11-13-15-img-all-ok/sda1.ext4-ptcl-img.gz.* | gzip -d -c | partclone.restore -C -s — -O /mnt/HD3_PHOTOS/sda1.img
Если не поможет, то, возможно, найдете решение здесь: http://askubuntu.com/questions/453114/restoring-clonezilla-images-cat-gzip-partclone-not-working
все равно error exit.
может проблема в том что я установил partclone через sudo apt-get install… ?
попробую посмотреть по ссылке
СПАСИБО!
Сработала команда
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
(с коротким тире тоже, конечно).
Идет процесс…
Cloned successfully.
СПАСИБО
Приветствую. Прошу помощи. Получил на выходе файл sda2.img, но не могу его открыть. Архиваторы не открывают, ультраисо тоже не берет. Daemon tools монтирует как виртуальный диск, но все равно потом он не открывается. Везде пишет что то в духе поврежден файл или нет доступа. Пробовал ,img, .iso, .bin — не работает. Что я делаю не так и как заглянуть в этот архив что извлечь что надо?
Добрый день! Файл созданный Clonezilla (в вашем случе sda2.img) не архив с файлами, а образ раздела жесткого диска. Такой образ включает в себя полную копию файловой системы, т.е. открыть его с помощью архиватора не получится. Его можно смонтировать в ОС Linux с указанием типа файловой системы:
losetup /dev/loop1 /dir-to-new-image/sda2.img # создание устройства loop1
mount -t ext4 /dev/loop1 /mnt # монтирование устройства loop1 в /mnt с файловой системой ext4