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

Классификация отказов

Логический сбой — носитель исправен, повреждены структуры файловой системы или таблица разделов. Причины: аварийное выключение посреди записи, ошибочное форматирование, сбой драйвера, неудачное изменение размера тома. Это самый благоприятный случай: данные лежат на месте, задача сводится к разбору метаданных или к поиску файлов по сигнатурам.

Деградация носителя — растущее число нечитаемых секторов у жёсткого диска или изношенных блоков у твердотельного. Часть данных читается, часть отдаётся с ошибками. Здесь важна скорость: устройство продолжает разрушаться, и каждый лишний час работы уменьшает объём того, что удастся снять.

Отказ электроники — сгоревший элемент на плате, чаще всего по цепи питания, после броска напряжения. Носитель при этом обычно цел.

Механический отказ жёсткого диска — заклинивший подшипник, сместившиеся или залипшие головки, разрушенное покрытие пластины. Слышен как щелчки, скрежет или как полное молчание при подаче питания.

Отказ служебной области — у жёсткого диска повреждение микропрограммы или таблицы дефектов, у твердотельного накопителя потеря таблицы трансляции. Устройство определяется под техническим именем, показывает нулевой объём или зависает при опросе.

Первое правило: остановиться и снять образ

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

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

Механика и электроника

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

Замена платы электроники выглядит простой операцией, но донорская плата без переноса содержимого микросхемы служебных параметров работать не будет: в ней хранятся индивидуальные настройки каналов чтения и карта дефектов конкретного экземпляра. Установка чужой платы в лучшем случае ничего не даст, в худшем — приведёт к записи неверных служебных структур.

Вскрытие гермозоны вне чистой зоны почти гарантированно заканчивается плохо: осевшая пылинка соизмерима с зазором между головкой и пластиной, и первое же раскручивание превращает её в резец.

Почему твердотельный накопитель сложнее

С SSD ситуация принципиально хуже, чем принято считать. Данные не лежат последовательно: контроллер распределяет их по каналам и кристаллам, добавляет коды коррекции, часто ведёт внутреннюю чётность по массиву кристаллов, а во многих случаях сжимает и шифрует поток ключом, который хранится внутри контроллера. Поэтому выпаивание микросхем памяти и их чтение на программаторе даёт набор фрагментов, который без знания алгоритма перемешивания и параметров конкретной прошивки не собирается в файлы.

Добавляет сложности TRIM. На жёстком диске удалённый файл физически остаётся до перезаписи, и его находят по сигнатурам. На твердотельном накопителе после сообщения об освобождении блоков контроллер стирает их фоном, и через короткое время по этим адресам возвращаются нули — восстанавливать нечего. Отсюда практическое следствие: случайное удаление на SSD требует немедленного обесточивания, а не размышлений.

Более реалистичный путь для твердотельного накопителя — работа через технологический режим контроллера, позволяющий читать память в обход повреждённой таблицы трансляции. Возможности здесь целиком определяются моделью контроллера и доступностью соответствующего инструментария.

Массивы и шифрование

С RAID главная ошибка — попытка пересобрать массив средствами контроллера. Инициализация нового массива поверх старого перезаписывает служебные области, а иногда запускает фоновое обнуление. Восстановление массива — это определение порядка дисков, размера полосы, схемы чередования и смещения, и делается оно по образам, снятым с каждого диска отдельно. Диагностические возможности и журналы событий здесь сильно зависят от конкретной платформы; общее устройство таких систем разобрано в разделе про RAID-контроллеры.

Шифрование тома ставит жёсткую границу. Без ключа или пароля восстановление невозможно в принципе, и никакая лаборатория этого не меняет. При этом частично повреждённый шифрованный том восстанавливается хуже открытого: ошибка в блоке портит не отдельные байты, а весь блок расшифровки.

Что вернуть нельзя

Перезаписанные данные не восстанавливаются. Стёртые блоки флеш-памяти не восстанавливаются. Физически разрушенное покрытие пластины не восстанавливается. Всё остальное — вопрос трудозатрат и наличия оборудования.

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