Муха ВД на дисках Western Digital - как лечить «прошивку»

Производители жёстких дисков не перестают «радовать» пользователей, выпуская глючные программные «прошивки» или, грамотно выражаясь, firmware, что приводит к массовым выходам дисков из строя. Более десяти лет назад компания Seagate выпустила линейку дисков Arch F3 7200.11 и 7200.12 которые начали массово выходить из строя по причине сбоя микрокода приводившего к «зависанию» диска на старте с выводом в диагностический терминал сообщений типа «LED CC...», что в народе прозвали «муха СС» а сейчас, судя по всему, лавры первенства перехватит Western Digital со своим фирменным SMR-транслятором, который по массовости схожих поломок имеет все шансы начать называться «муха ВД».

Я уже писал к чему может привести «невинное» быстрое форматирование таких дисков, так же ранее упоминал про решение похожей проблемы на USB диске SpyGlass, а теперь из Омска прислали 6-ти терабайтный VeniceR с такой же неисправностью. И можно было бы не писать отдельно про этот случай, если бы дополнительные сюрпризы, заботливо подложенные компанией WD. Дело в том, что практически все современные диски Western Digital при записи пользовательских данных непосредственно в логический сектор производят сквозное шифрование с помощью защищённого цифровой подписью, находящегося непосредственно в процессоре (микроконтроллере) ключа.

В результате данные на поверхности оказываются зашифрованы и для их расшифровки при восстановлении становится критически важным наличие следующих компонентов HDD:

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

Платы электроники используемые на этих семействах с завода идут с заблокированным технологическим режимом (SED locked), поэтому первым делом потребуется временно заменить оригинальную плату на «разлоченную», записав на неё считанное программатором содержимое ПЗУ.

Разблокированная или разлоченная плата WD 810011

Для старта диска с разлоченной платой, чтобы опять не попасть на циклическую рекалибровку, надо применить следующие методы, сводящиеся к тому или иному пути прерывания штатной инициализации диска:

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

Получив возможность чтения служебной информации, следует прочитать всё по обеим копиям, как непосредственно все модули описанные в DIR, так и ABA регионы в объёме как минимум SA SPT. Как я упомянул ранее, пользовательские данные надо читать на оригинальной плате PCB, поэтому следующим шагом надо выделить из служебного модуля id129h ключ шифрования для модификации оригинального ПЗУ с целью разблокировки оригинальной платы. Разблокировав родную плату электроники измененным ПЗУ, можно приступать к чтению данных.

Учитывая упомянутое ранее шифрование процессором, любое чтение «по-физике» приведёт к результату в виде зашифрованного содержимого секторов LBA:

Зашифрованный 0-й сектор Master Boot Record (MBR)

Расшифровка возможна только при чтении данных «обычными» ATA командами типа 0x24h и 0x25h, что возможно либо когда в диске записан исправленный id190h и диск запускается и работает штатно, либо когда T2 транслятор предварительно прогружен в ОЗУ диска и проинициализирован.

Правка id190h модуля заключается в отделении транслятора T2 от trim-tables, headers и прочего и перекомпиляция на его основе нового SMR транслятора с чистыми таблицами. Диск, штатно запущенный с предварительно записанным исправленным SMR транслятором, перестаёт сваливаться в стук и читает данные уже расшифрованными:

Расшифрованный 0-й сектор MBR