Восстановление данных в Бишкеке: опасности технологии TRIM
Прислано Stan Korb Март 02 2018 08:36:06
Технология TRIM была имплементирована в АТА-Стандарт с массовым появлением твердотельных накопителей (SSD) и предназначена для существенного улучшения производительности (чтобы твердотельный накопитель не становился, как обычный жесткий диск, хранилищем различного «мусора» операционной системы – временных файлов, сброшенных на поверхность содержимых буфера, не присутствующих в файловых таблицах данных и т.п.) и продления жизни SSD (общеизвестно, что основная проблема твердотельных дисков, как и вообще накопителей на основе флеш-памяти – это ограниченный ресурс «запись-перезапись» для каждой ячейки памяти). Суть технологии предельно проста: накопителю на физическом уровне дается команда о том, какие блоки данных следует физически хранить и обрабатывать, а какие – нет. Как результат, накопитель самостоятельно очищает те области, которые принимаются как ненужные. А поскольку скорость работы SSD исключительно высока, то очистка нескольких десятков или даже сотен гигабайт данных может занять от нескольких секунд до пары минут. Согласитесь, быстро.

Практически все свежие операционные системы (Windows начиная с версии 7, Mac OS начиная с версии 10.10.4, Linux начиная с октября 2010 г., и т.д.) поддерживают технологию TRIM, а значит: автоматически определяют тип накопителя, и, если это твердотельный диск, создают список секторов, в которых, по мнению операционной системы, не хранится данных, или хранятся данные, которые не нужны (временные файлы, содержимое буфера и т.п.), и отправляют его диску с использованием команды TRIM. Ну а дальше сам накопитель производит быструю и необратимую очистку «поляны», удаляя то, что операционная система посчитала ненужным.

Вроде бы, передовая технология, призванная существенно улучшить работу SSD. Вроде бы, все продумано: ведь ненужные данные, что звучит логично, не нужны, и их можно удалить без сожаления. Но не все так просто…

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

1. Вы счастливо использовали SSD в своем компьютере, но настало время переустановить операционную систему. Вы предусмотрительно разделили диск на два раздела, и перенесли все ваши данные на новый раздел. Вроде бы все безопасно, но при переустановке по инерции вы заново переразбили диск на разделы. Если бы это был традиционный жесткий диск, то ничего страшного не произошло: с помощью специализированного программного обеспечения ваш старый раздел с данными можно найти и данные из него можно восстановить. Но если это операционная система с поддержкой TRIM, а ваш накопитель – SSD, то уже на стадии форматирования то, что будет сочтено ненужным (а это все данные на новых разделах), будет стерто. Все. Сушите весла.

2. Вы использовали ваш SSD в каком-то внешнем устройстве (скажем, видеокамера или переносной накопитель). Все было хорошо до того момента, пока вы вставили накопитель в ваш компьютер для переноса данных, и накопитель дал сбой (причем без разницы, какой). Например, накопитель вставляется в Mac, операционная система не смогла распознать тип раздела и предложила инициализировать диск. Многие не понимают, что в Mac-системах инициализация – это создание нового раздела, то есть удаление информации о старом. Ну а в случае использования TRIM – полная очистка диска во всеми вытекающими последствиями. После такой инициализации данные с диска уже не спасти.

Примеры можно продолжать; в принципе, количество ситуаций, которые при использовании технологии TRIM могут привести к потере данных, достаточно велико. Мы довольно часто сталкиваемся с такими ситуациями, особенно среди пользователей Windows 10 и Mac OS начиная с версии Sierra. Как определить, что диск очищен? Откройте накопитель любым шестнадцатеричным редактором и пролистайте его вниз. После заголовка раздела будут данные, которые использует операционная система и установленные приложения, а за ними будет пустота – причем пустота может варьировать в шестнадцатеричном представлении от заполнения 00 или FF до заполнения с номером сектора или полным заполнением сектора каким-то идентичным содержимым. Если после какого-то момента, достаточно недалеко от начала диска (скажем, 30 – 60 Гбайт) вдруг начались «пустые» сектора – диск почти 100% очищен.

На приведенных ниже изображениях показаны такие SSD. В первом случае это системный диск с только что установленной операционной системой. Начиная с адреса 120 000 000 LBA (что соответствует 60 Гбайт) и до конца идут сектора с заполнением показанным на картинке паттерном. Диск очищен.



Во втором случае – тот же диск до переустановки ОС. Я показал лишь один сектор дальше середины, в котором точно имеются данные; таких секторов – больше 70% содержимого диска (диск был почти полный).



Как видим, при установке ОС диск был полностью очищен. Теперь данные с такого диска уже не восстановить.

Этой статьей я хочу предупредить пользователей последних версий операционных систем и твердотельных накопителей о том, что нельзя совершать никаких необдуманных или рискованных шагов с данными. Любые действия, начиная от инициализации диска и заканчивая банальным удалением данных, могут привести к тому, что эти данные вы больше никогда не увидите – TRIM очень быстро почистит сектора, где данные хранились, а восстановить то, чего уже нет, нельзя. Конечно, встречаются исключения, когда данные стираются не сразу (например, по технологии отложенной записи Windows) – и в этом случае это спасение для данных. Но уповать на то, что ваши данные случайно сохранятся, не стоит – лучше сделать резервную копию на другой накопитель, чтобы, в случае неудачного эксперимента, не было риска их потерять.

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