У меня есть неисправный жесткий диск (Seagate 1Tb) с поврежденным сектором. Я хочу сделать его образ с помощью ddrescue. Проблема в том, что у меня нет жесткого диска на 1Tb, чтобы поместить на него образ. Файлы, которые мне нужно восстановить, занимают всего 90 ГБ. Итак. Могу ли я сжать жесткий диск и использовать ddrescue на одном разделе, чтобы итоговый образ был размером максимум 100 ГБ?
решение1
Диск по-прежнему активно выходит из строя, ухудшается его работа, издает странные звуки и т. д.?
Если нет, и он все еще доступен для чтения (за исключением одного поврежденного сектора) и монтирования, почему бы просто не смонтировать его в режиме только для чтения / ro
(незагрузитесь с него) и скопируйте нужные файлы. Или, если его невозможно смонтировать, используйте программу вроде testdisk, которая может скопировать только несколько файлов. Или, может быть, photorec, хотя она пытается прочитать все устройство, но сохраняет только найденные файлы.
Если диск звучит плохо и на нем повсюду ошибки, вам действительно следует приобрести еще один резервный диск, достаточно большой для хранения образа, см.Почему невозможно сжимать образы «на лету» с помощью ddrescue?Если вам нужен весь диск, вам просто придется выпросить/одолжить/купить достаточно большой диск, хотя бы на несколько часов. Вы можете сжать образ после того, как ddrescue закончит его создание, но будьте осторожны со сжатием, которое не позволяет осуществлять доступ на лету, например gz, xz и т. д. squashfs может подойти.
Или, может быть, вам повезло, и тот раздел, резервную копию которого вы хотите создать, достаточно мал для вашего хранилища, в конце концов, он не может быть больше всего диска.
решение2
Может быть, можно сжать изображение «на лету», передав его в gzip или другой алгоритм сжатия?https://serverfault.com/questions/52260/сжатие-dd-backup-on-the-fly
Что-то вроде
sudo bash -c "dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-11december18.gz"