Восстанавливаем SSD после BAD_CTX error

Восстанавливаем SSD после ошибки BAD_CTX



Тема восстановления SSD и другой flash памяти, как отказалось, не нова. Для SSD серии 320 в интернете существует много рекомендаций по восстановлению прошивки и обновлению. Но когда такая ситуация случается и летит система, то разбираться всегда сложно. Поэтому создаю эту памятку для быстрого восстановления в памяти особенностей возможного восстановления диска.
Сразу предупреждаю - представленный метод УНИЧТОЖАЕТ ВСЮ ИНФОРМАЦИЮ НА ДИСКЕ. Однако, тема создания резервных копий и сохранения информации.

Отдельная благодарность авторам следующих публикаций:
How to: Fix an unbootable Intel SSD suffering from the 8MB bug
Восстанавливаем запоротый SSD
Secure Erase SSDs

Суть проблемы: по разным причинам SSD disk, Flash накопитель или карта памяти становится размером 8 Мб. И попытки отформатировать, обнулить и т.п. стандартными методами системы безрезультатны.
С данными, как я уже говорил, я сразу попрощался. Так как, во-первых, у меня был настроен Fusion Drive, а, во-вторых, замечательная функция для экосистемы OS X, автоматическое резервное копирование, всегда спасает при потере информации.
В сети существует много рекомендаций по решению данной проблемы. Особенно рекомендуют провести безопасное стирание диска с помощью хорошо известной программы MHDD. Однако, MHDD программа под ОС DOS и даже создание загрузочного диска с MS DOS (PC DOS) не позволяет загрузить компьютер Mac. Можно вытащить диск из компьютера, для проведения всех операций на машине под управлением MS DOS, можно, но достаточно сложно и хлопотно (с учетом сложной конструкции компьютеров Mac).
Поэтому ищем другие пути решения проблемы. И как всегда более простое решение нашлось в "зоопарке" ОС Linux.
После использования множества Live CD (Live DVD), останавливаемся на Pappy Linux. Преимущества. Puppy Linux для решения нашей задачи:
- легковесный дистрибутив, который полноценно работает как с DVD, так и с USB;
- уже установлены базовые системные утилиты для работы с жестким диском (пакет hdparm);
- поддержка репозитория ubuntu и debian для установки некоторых нестандартных, но необходимых, утилит.
Процесс создания загрузочного Live DVD или Live USD не описываем, так как много стандартных рекомендаций есть в интернете.
Для восстановления диска необходимо установить еще пакет pm-utils.
Пакет необходим для переведения компьютера в режим сна. Это в дальнейшем потребуется для разблокировки функций низкоуровневого стирания диска.

Процесс диагностики и стирания диска с ошибкой BAD_CTX.



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

Для утончения точного названия диска, можно выполнить команду:

sudo disk -l
Для проверки состояния диска запускаем:

sudo hdparm -I /dev/sda

Если в состоянии диска присутствует флаг "frozen" (а он скорее всего присутствует).
Сбрасываем данную блокировку с помощью утилиты

pm-suspend
Компьютер переходит в режим сна, а после выходы из режима сна - флаг "frozen" сбрасывается.

Продолжаем восстановление.

ЕЩЕ РАЗ ПРОВЕРЬТЕ НАЗВАНИЕ ДИСКА!!!

Продолжаем восстановление.

Последовательно выполняем команды:
sudo hdparm --user-master user --security-set-pass abc /dev/sdXsudo time hdparm --user-master user --security-erase abc /dev/sdXsudo time hdparm --user-master user --security-erase-enhanced abc /dev/sdXsudo hdparm --dco-restore /dev/sdXsudo hdparm --yes-i-know-what-i-am-doing /dev/sdXsudo hdparm -I /dev/sda

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

Проводим операцию создания таблицы разделов и форматирование диска.
Разбить на разделы и отформатировать можно и даже лучше под OSX, однако для проверки все же можно провести данную операцию в Puppy Linux.

PS:

К сожалению, после таких операций восстановления SSD диск долго не прожил. Всего 2 года. Однако, 2 года тоже значительный срок, за который можно накопить на новый SSD :)