Ddrescue
GNU ddrescue | |
---|---|
![]() | |
Тип | Data recovery |
Автор | Antonio Diaz Diaz |
Написана на | C++ |
Операционная система | Unix-like |
Первый выпуск | 12 августа 2004; 20 лет назад (2004-08-12) |
Последняя версия | 1.27 (23 января 2023; 19 месяцев назад (2023-01-23)) |
Репозиторий | ftp.gnu.org/gnu/ddrescue/ |
Лицензия | GPLv2+ |
Сайт | gnu.org/software/ddrescue/ |
![]() |
GNU ddrescue это утилита для восстановления данных. Она копирует данные из одного файла или блочного устройства (жесткий диск, CD-ROM, и так далее.) на другой, пытаясь восстановить данные в случае ошибок чтения. GNU ddrescue написана на языке C++ и впервые была выпущена в 2004 года и с тех пор стала доступна в большинстве дистрибутивов Linux.
Описание
GNU ddrescue не является производной от dd и никак не связана с dd, за исключением того, что обе могут использоваться для копирования данных с одного устройства на другое. Разница в том, что ddrescue использует сложный алгоритм для копирования данных с неисправных дисков, что наносит им как можно меньше дополнительного ущерба. GNU ddrescue считается наиболее сложной реализацией алгоритма изменения размера блока в бесплатном программном обеспечении с открытым исходным кодом и считается важным инструментом восстановления данных.
Если кто-то использует функцию «mapfile» (ранее называвшуюся «logfile») в ddrescue, данные спасаются очень эффективно (считываются только необходимые блоки). Можно также прервать спасение в любое время и возобновить его позже в той же точке.
ddrescue не записывает нули в выходные данные, когда обнаруживает плохие сектора во входных данных, и не обрезает выходной файл, если его не просят. Таким образом, каждый раз, когда вы запускаете ddrescue для одного и того же выходного файла, он пытается заполнить пробелы, не уничтожая уже восстановленные данные.
Использование
Клонирование диска /dev/sda на /dev/sdb в Linux с записью лога восстановления в файл rescue.log
ddrescue --force /dev/sda /dev/sdb rescue.log
Клонирование диска разрежённый файл
ddrescue --sparse /dev/sdb ./sparse-file ./history.log
Другие варианты использования
Автоматическое объединение резервных копий: если у вас есть две или более поврежденных копии файла, компакт-диска и т. Д., необходимо запустить ddrescue на всех из них, по одному, с одним и тем же выходным файлом. В результате получится один полный и безошибочный файл. Используя файл журнала, только вторые и последующие копии считывают только необходимые блоки.
ddrescue рекомендует lzip для сжатия резервных копий, потому что формат lzip предназначен для долгосрочного архивирования данных и предоставляет возможности восстановления данных, которые прекрасно дополняют возможности ddrescue. (ddrescue заполняет нечитаемые сектора данными из других копий, а lziprecover исправляет поврежденные сектора данными из других копий). Если причиной повреждения файла является поврежденный носитель, комбинация ddrescue + lziprecover является лучшим вариантом для восстановления данных из нескольких поврежденных копий.
В ddrescue также имеется «режим заполнения», способный выборочно перезаписывать части выходного файла, который имеет ряд интересных применений, таких как стирание данных, маркировка поврежденных областей или даже, в некоторых случаях, «восстановление» поврежденных секторов.
См. также
- Backup
- Disk cloning
- GNU Project
Ссылки
- gnu.org/software/ddrescue/ — официальный сайт Ddrescue
- GNU ddrescue Manual