🎩 Как использовать команду ddrescue для восстановления данных со сбойного жесткого диска на Linux |

🎩 Как использовать команду ddrescue для восстановления данных со сбойного жесткого диска на Linux

Мануал

ddrescue – это бесплатный инструмент для восстановления данных, входящий в проект GNU.

Он предназначен для копирования данных с одного блочного устройства, например жесткого диска, в файл-образ на другом (нормальном) жестком диске.

Для этого она сначала считывает все блочное устройство и пропускает все ошибки, сохраняя при этом лог-файл, который впоследствии используется для попытки чтения всех проблемных секторов диска.

В этой статье мы поделимся своим опытом и советами по использованию ddrescue для ремонта диска и восстановления данных.

Подходите с осторожностью: Что нужно знать перед использованием ddrescue

Если у вас есть вышедший из строя жесткий диск, который издает странные щелкающие звуки, показывает ошибки в dmesg и/или только иногда создает файл устройства типа /dev/sda при подключении, у вас, скорее всего, осталось всего несколько шансов восстановить с него данные.

Распространенной проблемой жестких дисков является то, что головка чтения/записи диска царапает диск, в результате чего внутри жесткого диска образуется пыль.

Эта пыль накапливается и снова застревает под головкой чтения/записи, что еще больше усугубляет проблему.

Поэтому перед тем, как снова подключать жесткий диск, следует сначала прочитать эту статью, полностью ее понять и подготовить все команды ddrescue.

Каждый раз, когда вы подключаете жесткий диск к источнику питания, он будет раскручиваться, что может еще больше усугубить проблему.

Вторая наиболее распространенная проблема с жесткими дисками – неисправный микроконтроллер.

Существует множество причин, по которым микроконтроллер может выйти из строя. В этом случае лучше всего приобрести «донорский диск» с точно таким же номером модели и заменить микроконтроллер на донорском диске.

Этот шаг выходит за рамки данной статьи.

Также возможно, что головка чтения-записи накопителя физически повреждена.

В этом случае головка чтения-записи с диска-донора может заменить вышедшую из строя головку чтения-записи данного дискового накопителя.

Однако это следует делать только в чистом помещении, и лучше всего доверить это компании, занимающейся восстановлением данных.

Если на вашем жестком диске хранятся очень ценные данные, мы рекомендуем не следовать этому руководству, а обратиться к специалисту по восстановлению данных.

Настройка среды восстановления данных

Если жесткий диск, о котором идет речь, является диском, с которого загружается ваша основная операционная система, НЕЗАМЕДЛИТЕЛЬНО выключите компьютер. Ваша операционная система (будь то Windows или Linux) будет постоянно пытаться записывать на диск файлы журналов и временные файлы, а также считывать с него файлы операционной системы. Это последнее, что вам нужно.

Чтобы запустить ddrescue, вам понадобится операционная система, которая не монтирует диск или его разделы автоматически. Это связано с тем, что данная операция вызывает дополнительные операции чтения/записи на диске.

Операционная система, которую можно рекомендовать для создания дампа диска с помощью ddrescue, – это caine live linux.

🎩 Инструменты для форензики Kali Linux

Она включает в себя инструмент ddrescue по умолчанию.

Загрузите этот дистрибутив Linux и создайте загрузочный USB-накопитель.

💿 Как создать загрузочную флешку Ubuntu USB

С помощью этого USB-накопителя вы сможете загрузить компьютер, а затем подключить к нему отказавший жесткий диск, при этом caine live не будет пытаться сразу же читать или записывать с диска.

После этого подготовьте рабочий жесткий диск такого же или большего размера, чем тот, который вы пытаетесь восстановить.

Он понадобится для записи на него дампа диска. Я рекомендую создать на целевом диске один большой раздел ext4, чтобы можно было записать на него файл .img. Так будет проще работать.

Если у вас есть диск точно такого же размера, вы можете записать данные на него напрямую – не на /dev/sdb1, который монтируется в /mnt/, а непосредственно на /dev/sdb.

Хотя вы можете подключить накопители с помощью внешнего адаптера Sata to USB, этот вариант часто обеспечивает гораздо более низкую скорость записи, чем прямое подключение к материнской плате компьютера.

Как правило, диски SATA-2 и выше допускают горячую замену.

Проверьте это с другим диском (не с отказавшим), загрузив caine linux и подключив sata-диск, и посмотрите, создаст ли он файл устройства типа /dev/sdb.

Только если вы выполнили все описанные выше действия, переходите к следующему разделу.

Подведем итоги:
– Выключите компьютер, который загружается с отказавшего жесткого диска.
– Создайте live USB с Cain Live Linux, который поставляется с ddrescue
– Имейте второй диск (в формате ext4), по крайней мере, того же размера, что и сбойный диск
– Прикрепите диски к материнской плате (если возможно)

Запуск процесса восстановления

Сначала смонтируем целевой жесткий диск (свежий диск).

Определите файл с помощью:

fdisk -l /dev/sdX

или

hdparm -I /dev/sdX

В этом примере мы предполагаем, что /dev/sda – это рабочий целевой жесткий диск для дампа сбойного жесткого диска /dev/sdb.

Смонтируйте его на /mnt/ с помощью:

mount /dev/sda1 /mnt

На первом этапе мы запускаем ddrescue таким образом, чтобы он считывал сбойный диск только один раз, сектор за сектором, пропуская сектора, которые не могут быть прочитаны или выдают ошибки.

ddrescue создаст файл журнала, который можно будет использовать для начала работы с того места, где он остановился в последний раз, то есть если вы копируете диск в течение 10 минут и по какой-то причине он не работает, вы можете попробовать отключить и снова подключить диск, чтобы посмотреть, можно ли продолжить работу.

Это вполне нормальное явление при восстановлении отказавших жестких дисков.

В этом примере мы предполагаем, что сбойным жестким диском является /dev/sdb.

Подключите отказавший жесткий диск и посмотрите в DMESG! (dmesg), какое имя файла устройства было создано для него.

Не запускайте на нем команду fdisk -l, так как она будет считывать данные с диска.

sudo ddrescue --idirect /dev/sdb /mnt/rescue.img ~/rescue.log

–idirect использует прямой доступ к диску для входного файла вместо использования кэша ядра.

Используя эти аргументы, ddrescue будет пытаться прочитать каждый сектор только один раз, прежде чем переходить к следующему.

Если сектор не удался, ddrescue запишет это в файл ~/rescue.log для следующей попытки.

Когда ddrescue завершит свой запуск, и будут зарегистрированы ошибки, настанет время начать второй запуск, в котором мы повторим попытку прочитать все неудачные сектора три раза:

sudo ddrescue --idirect --retry-passes=3 /dev/sdb /mnt/rescue.img ~/rescue.log

Аргумент –retry-passes=3 предписывает ddrescue трижды повторить попытку чтения нечитаемых секторов – после этого можно быть уверенным, что они не могут быть прочитаны.

После этого можно проверить и смонтировать созданный образ /mnt/rescue.img с помощью команды mount:

mkdir /mnt-recovered/
sudo kpartx -a /mnt/rescue.img
sudo mount -o loop /dev/mapper/loop0p1 /mnt-recovered/

Заключение

Как м уже говорил в начале статьи, эта статья предназначена скорее для опытных пользователей Linux. Это не просто запуск этих команд, а своего рода учебник.

Надеюсь, этот опыт поможет и вам восстановить сбойный жесткий диск с помощью команды ddrescue.

см. также:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий