Сначала смотрим что есть в бэкапе:
$ cd /data/Backups/2015-07-23-14-img $ ls -1 total 16625923 -rw------- 1 root root 583 Jul 23 17:09 blkdev.list -rw------- 1 root root 197 Jul 23 17:09 blkid.list -rw------- 1 root root 6036 Jul 23 17:23 clonezilla-img -rw------- 1 root root 4 Jul 23 17:17 disk -rw------- 1 root root 20560 Jul 23 17:17 Info-dmi.txt -rw------- 1 root root 24254 Jul 23 17:17 Info-lshw.txt -rw------- 1 root root 2243 Jul 23 17:17 Info-lspci.txt -rw------- 1 root root 171 Jul 23 17:17 Info-packages.txt -rw------- 1 root root 90 Jul 23 17:23 Info-saved-by-cmd.txt -rw------- 1 root root 10 Jul 23 17:17 parts -rw------- 1 root root 33 Jul 23 17:10 sda1.info -rw------- 1 root root 9588755 Jul 23 17:09 sda1.ntfs-ptcl-img.gz.aa -rw------- 1 root root 2097152000 Jul 23 17:10 sda2.ntfs-ptcl-img.gz.aa -rw------- 1 root root 2097152000 Jul 23 17:11 sda2.ntfs-ptcl-img.gz.ab -rw------- 1 root root 2097152000 Jul 23 17:12 sda2.ntfs-ptcl-img.gz.ac -rw------- 1 root root 2097152000 Jul 23 17:13 sda2.ntfs-ptcl-img.gz.ad -rw------- 1 root root 2097152000 Jul 23 17:15 sda2.ntfs-ptcl-img.gz.ae -rw------- 1 root root 2097152000 Jul 23 17:15 sda2.ntfs-ptcl-img.gz.af -rw------- 1 root root 2097152000 Jul 23 17:16 sda2.ntfs-ptcl-img.gz.ag -rw------- 1 root root 2097152000 Jul 23 17:17 sda2.ntfs-ptcl-img.gz.ah -rw------- 1 root root 237018999 Jul 23 17:17 sda2.ntfs-ptcl-img.gz.ai -rw------- 1 root root 37 Jul 23 17:09 sda-chs.sf -rw------- 1 root root 1048064 Jul 23 17:09 sda-hidden-data-after-mbr -rw------- 1 root root 512 Jul 23 17:09 sda-mbr -rw------- 1 root root 319 Jul 23 17:09 sda-pt.parted -rw------- 1 root root 281 Jul 23 17:09 sda-pt.parted.compact -rw------- 1 root root 259 Jul 23 17:09 sda-pt.sf
Нужные нам данные хранились на втором разделе (sda2). Для восстановления нам понадобится partclone и pigz (вместо pigz можно использовать gzip, но восстановление займет больше времени)
$ sudo apt-get install partclone pigz
Восстановим сырой образ второго раздела в файл:
# cat sda2.ntfs-ptcl-img.gz.a* | pigz -dc | partclone.restore -C -s - -O /data/Backups/sda2-restore.bin --restore_raw_file Partclone v0.2.73 http://partclone.org Starting to restore image (-) to device (/data/Backups/sda2-restore.bin) Reading Super Block Calculating bitmap... Please wait... done! File system: NTFS Device size: 119.9 GB = 29278719 Blocks Space in use: 56.3 GB = 13755539 Blocks Free Space: 63.6 GB = 15523180 Blocks Block size: 4096 Byte Elapsed: 00:17:22, Remaining: 00:00:00, Completed: 100.00%, Rate: 3.24GB/min, current block: 16720764, total block: 29278719, Complete: 100.00% Total Time: 00:17:22, Ave. Rate: 3.2GB/min, 100.00% completed! Syncing... OK! Partclone successfully restored the image (-) to the device (/data/Backups/sda2-restore.bin) Cloned successfully.
Пробуем смонтировать образ
$ sudo mount -o loop,ro /data/Backups/sda2-restore.bin /mnt Failed to read last sector (234229758): Invalid argument HINTS: Either the volume is a RAID/LDM but it wasn't setup yet, or it was not setup correctly (e.g. by not using mdadm --build ...), or a wrong device is tried to be mounted, or the partition table is corrupt (partition is smaller than NTFS), or the NTFS boot sector is corrupt (NTFS size is not valid). Failed to mount '/dev/loop0': Invalid argument The device '/dev/loop0' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
но получаем ошибку при попытке прочесть сектор, находящийся за пределами восстановленного файла. Дело в том, что partclone не копирует незанятые области и в данном случае мы получили образ меньшего объема, чем изначальный размер исходного раздела. Чтобы исправить нужно либо увеличить размер образа до заведомо большего объема, либо посмотреть в информации clonezilla правильный размер.
Я опишу второй способ. Смотрим в файле sda-pt.parted информацию о исходном диске:
$ cat sda-pt.parted Model: ATA Samsung SSD 840 (scsi) Disk /dev/sda: 234441648s Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 2048s 206847s 204800s primary ntfs boot 2 206848s 234436607s 234229760s primary ntfs
Размер сектора диска 512 байт, размер второго раздела (sda2) - 234229760 секторов. Значит правильный размер образа файла - 512 * 234229760 = 119925637120 байт. Изменим размер файла образа и попробуем смонтировать образ
$ truncate -s $((512 * 234229760)) /data/Backups/sda2-restore.bin $ sudo mount -o ro,loop /data/Backups/sda2-restore.bin /mnt
Теперь монтирование прошло без ошибок и можно вытаскивать файлы.
Комментариев нет:
Отправить комментарий