Вопрос или проблема
Я пытаюсь восстановить данные с жесткого диска (не примонтированного, но расположенного на /dev/sdc
согласно lsblk
), который работал безупречно до прошлой недели, с помощью ddrescue
. Прошло несколько лет с тех пор, как я в последний раз его использовал, но поведение (или, скорее, его отсутствие), которое я наблюдаю, мне совсем не кажется знакомым. Я вызываю ddrescue
следующей командой в пустой директории на диске, где я хочу сохранить результат в виде файла img:
sudo ddrescue -v -b 4096 -a 10M /dev/sdc recovery.img recovery.log
Проблема в том, что абсолютно ничего не происходит после того, как я ввел свой пароль. Спустя несколько часов в терминале нет никакого вывода, несмотря на запуск с флагом -v
, и не созданы ни выходные, ни журнальные файлы. Запуск ps -e | grep ddre
показывает, что процесс ddrescue
запущен, но я не могу его остановить. Ничто от Ctrl–C в терминале, где запущен ddrescue
, до kill -KILL *pid*
из другого терминала не воздействует на него. Единственный способ остановить его — отключить устройство (что я сделал по ошибке и не очень хочу использовать намеренно, если только мне действительно не придется это сделать).
Мне кажется, я слышу слабые звуки от жесткого диска, с которого пытаюсь восстановить данные, он становится немного теплым, но ничего сверх нормальной температуры, и по данным монитора ресурсов, компьютер делает *что-то*, но это все. Есть ли способ проверить, что делает этот процесс ddrescue
, даже если он отказывается создавать какую-либо форму прямого вывода? Кроме того, есть ли способ остановить процесс, не требующий физического отключения уже нестабильного диска?
Обновление: Я перезапустил процесс после того, как по ошибке отключил диск. Я изменил команду на:
sudo ddrescue -v /dev/sdc recovery.img recovery.log
Для того чтобы сделать ее максимально общей, если я ошибся с размером блока или что-то еще. Однако он застревает в точно таком же состоянии.
.
Ответ или решение
Теория
ddrescue
— это мощное утилитарное средство для восстановления данных с поврежденных дисков. Оно в отличие от простого dd
умеет пропускать сбойные участки и возвращаться к ним позже, что увеличивает шансы на успешное восстановление данных. Однако ситуации, когда ddrescue
останавливается или не выводит ничего в терминал, могут быть связаны с разными проблемами, включая аппаратные неисправности или ошибки в конфигурации команды.
Пример
Ваша проблема заключается в том, что ddrescue
не создает никаких файлов или логов и не выводит информацию, несмотря на запущенный процесс. Аналогичные случаи указывают на то, что команда могла зависнуть из-за проблем с диском, который находится в критическом состоянии. Когда диск физически поврежден, он может стать крайне медленным или даже не отзываться вовсе, что мешает инструментариям, таким как ddrescue
, совершать операции нормально.
Применение
Диагностика ситуации:
-
Проверка аппаратного состояния: Подключите диск к другому порту USB или SATA и попробуйте снова. Некоторые порты могут обеспечивать недостаточное питание или сталкиваться с признаками неисправности.
-
Журналы системы: Просмотрите системные логи с помощью
dmesg
, чтобы проверить наличие ошибок ввода-вывода или сообщений об аппаратных проблемах. -
Файловая система и права доступа: Убедитесь, что файловая система, на которую вы пытаетесь записать файл образа (
recovery.img
), исправна и что у вас есть необходимые права на запись.
Решение потенциальных проблем:
-
Оптимизация команды: Для более мощного контроля используйте указатель карты (mapfile) и уменьшите скорость копирования. Возможно, ваш рабочий параметр
-a 10M
слишком агрессивен для текущего состояния диска, попробуйте убрать его или снизить порог авто-помощи (auto-help) до нескольких мегабайт или даже килобайт. -
Используйте параметры контроля:
- Запустите
ddrescue
с увеличенным временем ожидания, добавив флаг--timeout=5m
, который даст диску больше времени для обработки каждого запроса. - Добавьте флаг
--retry-passes=3
для многократного повторения попыток чтения сбойных участков.
- Запустите
-
Софт перезагрузка или удаленный доступ: Если процесс нельзя убить стандартными средствами, попробуйте выполнить мягкое выключение системы с последующей перезагрузкой. Это может восстановить доступ к диску без его физического отключения.
-
Альтернативные утилиты: Возможно, стоит рассмотреть использование других утилит восстановления, таких как
testdisk
илиphotorec
, которые иногда работают лучше в критических ситуациях.
Эти шаги и рекомендации должны помочь вам более эффективно работать с проблемным диском и, возможно, сохранить важные данные.