Со слов клиента, от предыдущего администратора ему достался парк рабочих станций с некачественными noname-блоками питания Made In China, случаи выхода из строя дисков по этой причине уже были, но предыдущие накопители, в отличие от этого, важных данных не содержали.
Как обычно — “только вчера диск работал исправно”, а сегодня стал определяться в BIOS как WDC-ROM MODEL-DF3-PL2K, и объемом 232Gb.
Получив винчестер на диагностику перво-наперво проверили плату электроники на предмет возможных повреждений (http://habrahabr.ru/company/hardmaster/blog/251263/) и подали питание на диск. На запрос get ID в поле паспорта “высветился” заводской псевдоним. Здесь необходимо сделать небольшое отступление и рассказать, в чем обычно заключается причина такого поведения дисков WD архитектуры Royl.
В тех случаях, когда диск, при комплексной инициализации, не может прочитать критичные для нормального старта модули служебной информации (Service Area), накопитель переходит в так называемый, Kernel Mode, отдавая только код семейства из ПЗУ, а паспортные данные (которые, на самом деле, лежат в SA) – отдаются вот такой вот «рыбой». Или не отдаются вообще.
Вроде бы все понятно – проблемы с чтением SA, пора искать вышедшую из строя голову. Но указанный диск, отдавая такой паспорт, в Kernel Mode НЕ находился. Как минимум программный код (оверлеи) прочитаны и загружены в ОЗУ. Это уже интересно. Если инициализация пошла – значит модули в служебной области в принципе читаются. И причину отдачи такого «кривого» паспорта надо искать где-то в другом месте.
Здесь необходимо сделать еще одно отступление и немного рассказать о структуре служебной информации “Вестернов”.
Для того, чтобы диск смог работать с модулями служебной информации, ему необходимо знать, где, в каких секторах, эти модули находятся. Описать их координаты призван самый первый модуль SA, находящийся по смещению, прописанному в ПЗУ – это id00 DIR.
Паспорт диска и его основные рабочие параметры описаны в модуле по соседству – это id02 — Drive Configuration.
На этом с теоретическими рассуждениями закончим и, поскольку у нас (по меньшей мере) присутствуют проблемы с паспортом диска, посмотрим, какое же содержимое id02 пациента:
Очевидно, что никаких паспортных данных тут и близко нет. А как же так? И куда делся оригинальный id02? Вопросов много.
Следующим шагом мы проверили наличие в памяти диска всех необходимых оверлеев, нужных для работы по АТА, и запустили специальную процедуру, которая сканирует SA, и по сигнатурам, находит в ней модули.
И даже DIR нашелся. Предположим, что найденное – это несколько не то, что отдает нам диск в обычном режиме. Настроим утилиту по найденному DIR и попробуем получить доступ к SA с помощью него.
Вот и ответ на вопрос «куда делся оригинальный id02». Он никуда не девался и находится на своем месте. А вот его координата в DIR – запорчена.
На всякий случай, резервируем все найденные модули, а также полностью всю SA единым дампом. Пробуем писать id02 в то место, которое указано в DIR, передергиваем питание, диск корректно проинициализирован и готов к снятию с него данных в штатном режиме:
Что же случилось, спросите вы?
В процессе работы диск периодически обновляет некоторые модули. Это SMART, дефект-листы и т.д. Скорее всего, в момент очередного обновления какого-то из этих модулей, произошел выброс по питанию, обусловленный низким качеством примененного БП, и запись произошла не в искомый модуль, а в DIR, “удачно” подпортив координату id02 в нем. Пока содержимое id02 находилось в ОЗУ диска, все работало нормально, а после рестарта по питанию случился полный швах.
Для инженера, обладающего достаточными знаниями по внутреннему устройству дисков Western Digital — это не очень сложная работа. В данном случае пришлось потратить около получаса, с момента приемки диска в работу, до получения доступа к “поляне” (пользовательским данным). Но, в современных условиях тотальной экономии на всем, на чем только можно, последствия зачастую бывают гораздо более печальными. Здесь и прогоревшие платы и вылетевшие коммутаторы БМГ в гермозоне. Данные обычно восстанавливаются, но достаточно обидно осознавать, что когда-то сэкономленные $20 теперь привели к потере денежной суммы, объемом примерно в 50 раз выше.
Комментарии (57)
WorksIsGone
18.05.2015 13:56mihail_hdd, у меня вопрос к вам как к специалисту.
WDC WD15EADS-00P8B0
начались типичные (как выяснилось) зависания.
При этом ошибок нет, ос не ругается, в смарте ничего.
На минуту — две занят, потом отдупляется, и дальше работает.
Чем объясняется, можно ли вылечить?mihail_hdd Автор
18.05.2015 15:55+1Попробуйте сменить шлейф.
Также можно предположить, что у Вас образовался нестабильно читаемый сектор, пока не исключенный микропрограммой из трансляции, отсюда и нормальный SMART.WorksIsGone
18.05.2015 16:04Пробовал менять, включал его в разных окружениях, разные компы, разные бп.
Самый печальный результат был в юзб кармане, винт был в состоянии занят настолько, что не детектировался системой.
При этом другие винты в этом кармане вполне нормально работают.
Ситуация с этим винтом уже длится достаточно долго, с полгода — год, сейчас он как «резервный накопитель» в медиацентре, там лаги некритичны, просто раздражают. Хотелось бы решить проблему, но мне кажется, выход — замена. )=
Есть какая-то возможность сделать некий жесткий тест чтения, что бы, если причина в нечитаемом секторе, его оттдетектировать и занести в список бедов?
mihail_hdd Автор
18.05.2015 17:15Попробуйте для начала прогнать обычный тест в Victoria. Перед этим, отнимите у диска букву, в Disk Management.
vitektm
18.05.2015 17:10Имхо нужно делать диски так, чтобы швах не происходил пре внезапном отключении питании или вообще не штатной подаче питания. Ну или серию дисков делать где это предусмотрено. (приведет же к подорожанию)
tronix286
18.05.2015 20:22Да скорее всего сделать прошивку нужно было не позднее, чем «уже позавчера», поэтому всякие красивости в виде дублирования информации при работе с ОЗУ и многочисленные проверки что если здесь не то что здесь, тогда берем отсюда оставили — «потом сделаем», сейчас и так работает. Сдали и забыли.
mihail_hdd Автор
18.05.2015 20:45+1Ну, так же можно и обвинять производителей флешек — почему на них возникают логические сбои, если записать полностью, а потом выдернуть, не дождавшись, пока ОС сбросит кэш.
Здесь произошло практически тоже самое: диск начинает обновлять свою служебную информацию, в этот момент происходит выброс по питанию. По причине которого, «мозги» данного диска встают, пардон мой френч, раком. Куда и что он запишет после этого — не знает никто. И это, заметьте, простой классический HDD. В случаях с SSHD Seagate, к примеру, все гораздо веселее, и даже неожиданно отключать питание не надо.
Я не понимаю, как и каким образом можно организовать защиту от такого на уровне firmware.
Правильный пример — это, допустим, SSD OCZ Vector / Vertex450, имеющие свойство взводить бит защиты паролем на совершенно пустом месте, с FW 1.17 и старшими. Это чистейшей воды баг, про который, вероятно, в ближайшем будущем будет статья.
Или та же WD, у которой проблема с переполнением RELO уже года три странствует от семейства к семейству. Это баг., подробно я про него писал тут: habrahabr.ru/company/hardmaster/blog/251895
Приглашаю к дискуссии, если имеете желание.Daimos
18.05.2015 22:38Я не понимаю, как и каким образом можно организовать защиту от такого на уровне firmware.
Что мешает прочитать и проверить после записи таких критичных блоков?Alexeyslav
19.05.2015 08:32Накладно. чтобы проверить надо дождаться следующего оборота диска. итого на запись одного сектора будет потрачено два оборота.
Daimos
19.05.2015 22:00Спасибо — я в курсе как диски работают, так вот это — смех просто, а не накладно. Я же не предлагаю запись всех данных так делать, а только данных в служебные области — а туда винт пишет редко.
isden
19.05.2015 11:02А вроде бы в SSD подобное предусмотрено — ставят большие кондеры/ионисторы на питание — их хватает, чтобы корректно сбросить кэши и фильтровать подобные выбросы.
ploop
19.05.2015 11:04То же самое и с HDD можно провернуть. Шпиндель крутить не надо, его инерции хватит, чтобы всё сбросить, только электронику продержать.
isden
19.05.2015 11:06В HDD, емнип, уже достаточно давно как раз таки инерцию и используют для корректной парковки / питания электроники при отключении.
Alexeyslav
19.05.2015 11:58+1Ага, я помню как нам байки рассказывали про винчестеры размером с тумбочку. Там для отведения головок используется шаговый двигатель довольно мощный, и пакет из 20-30 пластин по 2Мб. Когда обесточивается такая бандура, нужно срочно выводить головки чтобы они не оставили запил, для этого там половину объема шкафчика занимают электролиты и само собой со временем высыхают до той степени что приходится в аварийном режиме помогать выдвигать головки вручную. Эта функция была выработана до автоматизма — как только ухо улавливает снижение частоты вращения шпинделя, сразу бессознательно руки тянутся к блоку головок…
Alexeyslav
19.05.2015 11:54Ионисторы это фигово. Они довольно быстро деградируют под напряжением, и может оказаться что через пару лет неспешного использования SSD-шки они уже не будут держать заряд.
isden
19.05.2015 11:55Ну может просто конденсаторы. Врать не буду, я про эту штуку читал краем глаза где-то с полгода назад.
alivanich
18.05.2015 17:24$20*50=$1000
Это тысяча долларов за полчаса работы или с учётом потерь клиента от простоя оборудования? Я не против принципа «1рубль ударить молотком, 99 куда», но если это ценник за работу, то всё равно выглядит не кисло.mihail_hdd Автор
18.05.2015 17:50К примеру, упавшие на сами диски головы, из-за нештатной парковки, вызванной электрическим выбросом.
Царапина (на сленге — запил).
Тут одних дисков-доноров может понадобиться достаточно много, пока не будет вычитано нужное.progchip666
18.05.2015 18:58+1Судя по вашей статье в данном случае обошлось без доноров. Думаю если бы дело дошло до них, то клиент расстался бы уже с более значительной суммой.
mihail_hdd Автор
18.05.2015 20:10Я не утверждал, что в данном конкретном заказе клиент заплатил указанную сумму.
Естественно, что нет.
Но современные WD отличаются абсолютно наплевательским отношением к защите от проблем по питанию.
Здесь человеку повезло, подправили SA и диск заработал.
А так — почти правило: увидел сгоревшую м/с VCM на плате — 95% мертвый коммутатор в гермозоне, замена БМГ, с совершенно логично из этого вытекающей оплатой донора.
ploop
18.05.2015 20:39+2Я не против принципа «1рубль ударить молотком, 99 куда», но если это ценник за работу, то всё равно выглядит не кисло.
Я так понимаю, есть случаи, когда данные восстановить нельзя. Но попытки делаются, возможно долгие. С клиента тут деньги не возьмёшь, но в среднем по компании это время тоже должно быть оплачено.ctapnep
19.05.2015 19:29почему не возьмешь? Таки неоднократно сталкивался с ситуацией — мы диск можем взять на диагностику, которая обойдется в 500 баксов, после диагностики мы примерно оценим повреждения и скажем сколько будет стоить восстановление БЕЗ ГАРАНТИИ РЕЗУЛЬТАТА.
ploop
19.05.2015 21:04Ну это какой-то неправильный бизнес. Я бы таких послал.
Максимум — недорогая диагностика (чтобы примерно цену выяснить) + попытка восстановления, удачная оплачивается, неудачная соответственно нет.ctapnep
19.05.2015 22:01+1Зависит от того какой есть выбор и насколько нужны данные.
Как по мне, так бизнес весьма даже правильный. Клиента не кидают, вся информация о ценах и условиях доступна и неоднократно у клиента переспрашивается понимает-ли он и принимает-ли риски. А дальше уже вопрос исключительно желания клиента.
Ну и таки времени много прошло. Я уже лет 10 не обращался за подобными сервисами. Бакапы спасают :)ploop
19.05.2015 22:07Я уже лет 10 не обращался за подобными сервисами.
Желаю вам и впредь с ними не сталкиваться :)
FeNUMe
18.05.2015 17:45Спасибо за статью. Будет замечательно если продолжите публиковать описания разных «кейсов» по восстановлению и просто технические статьи о жестких дисках. Такой информации в открытом доступе очень мало, а вот интересующихся много. Сам несколько лет назад искал способ починить SAMSUNG HD501LJ(его перевернули во время работы, при включении компа несколько секунд стучит и смарт не пашет, при этом поверхность целая и винт работает до сих пор), в итоге хоть какую-то полезную информацию нашел только на rom.by, но руки так и не дошли до перепрошивки.
mihail_hdd Автор
18.05.2015 17:53несколько секунд стучит и смарт не пашет
Скорее всего, не может прочитать из SA модуль с таблицами SMART, вот и «не пашет» он.FeNUMe
18.05.2015 18:01Ну я так и подумал, потому и хотел перепрошить. Софт и прошивку нашел тогда, а вот подробной инфы о структуре прошивки, о возможности прошивки без спец оборудования — нет, потому не стал рисковать — поставил его в тестовую машину в качестве системного и он там трудиться 24/7 уже больше двух лет точно.
mihail_hdd Автор
18.05.2015 19:39Вряд ли Вам поможет перепрошивка. SMART не читается не из-за того, что надо что-то прошить, а из-за того, что
при включении компа несколько секунд стучит
FeNUMe
18.05.2015 19:47Я предположил что причина не в механике раз винт исправно работает, а просто затерлась какая-то сервисная инфа(как в описанном вами случае) из-за чего при инициализации винт пытается прочесть ее в другом месте или калибруется. Потому и думал что прошивка рабочей заводской прошивки должна помочь. Стучит он только при включении питания, после перезагрузки(resetом) стука нет.
mihail_hdd Автор
18.05.2015 19:51Насколько мне известно, Samsung'и не могут инициализироваться композиционно.
Все необходимые для старта модули должны быть прочитаны диском из той копии SA, с которой инициализация началась.
progchip666
18.05.2015 18:56+1Данные обычно восстанавливаются, но достаточно обидно осознавать, что когда-то сэкономленные $20 теперь привели к потере денежной суммы, объемом примерно в 50 раз выше.
Нехилые расценки. Мне с ними как то тоже приходилось сталкиваться. Больше желания экономить на бэкапах нет. Пожалуй облака нынче стали понадёжней и безопасней.mihail_hdd Автор
18.05.2015 19:49+8Нехилые расценки.
Прошу понять правильно (с)
Я не говорю о том, что все расценки в Data Recovery таковы.
Всё определяется масштабом разрушений, требуемыми запчастями, в конце концов, срочностью выполнения.
Нам тоже бывает обидно, когда приносят заказ, который можно было сделать за 1500 р. и полчаса.
Но клиент решил пойти тропой извилистой. Отнес диск на Савеловский рынок, где на него натравили пиратскую бетаверсию WDMarvel и начали нажимать в ней все кнопки подряд.
Или на диск с одной проблемной головкой натравили HDD Regenerator (в узких кругах — дегенератор) и получили запил, сначала по этой голове, а потом и по остальным.
tronix286
19.05.2015 08:02-4А, в целом, не понятно на кого рассчитана статья? У кого есть PC3000, есть к ней и хелпа — могут и почитать. У кого нет — что эта информация дает? Да по сути ничего, так сделать все равно ничего нельзя. Вот если бы все то же самое через команды терминалки — то это уже конечно полезно. У нонишних хардов то вообще есть терминалка?
owniumo
19.05.2015 08:33+8На меня рассчитана. Я слишком оптимистично оцениваю свои знания и способности, и вот такое приоткрытие завесы помогает мне понять, что в серъёзных случаях нельзя заниматься самолечением и нельзя к знахарям обращаться, а сразу к людям с инструментами, репутацией и открытой политикой.
owniumo
19.05.2015 08:40+1Да, муху CC я однажды вылечил. Самодельный мост TTL на MAX232 заработал не сразу, понадобился совет друга, который потом объяснил, что эта проблема самая безобидная из множества вероятных.
Psychosynthesis
20.05.2015 01:16Статья интересная. Но поподробней бы.
Вот например:
«На этом с теоретическими рассуждениями закончим и, поскольку у нас (по меньшей мере) присутствуют проблемы с паспортом диска, посмотрим, какое же содержимое id02 пациента:»
Где посмотрим? Как?
«Следующим шагом мы проверили наличие в памяти диска всех необходимых оверлеев, нужных для работы по АТА, и запустили специальную процедуру, которая сканирует SA, и по сигнатурам, находит в ней модули.»
Чем проверили? Как? Какую такую специальную процедуру? Как запустили?
Хочется же знать как всё это делать. Мы же тут вроде как учимся друг у друга, нет?
mihail_hdd Автор
20.05.2015 12:46Где посмотрим? Как?
Я пользуюсь утилитой WD Marvel из PC3000 Express.
Но есть и аналоги, к примеру, упомянутая выше WDMarvel от другого автора, являющаяся самостоятельной утилитой.
dmitrmax
25.05.2015 01:41А где вы берете все эти познания о внутренностях прошивок, режимах и т.д.? Это reverse engineering или NDA от самого производителя?
mihail_hdd Автор
26.05.2015 22:05Ну, было бы NDA, я бы наверное, здесь такое не писал :)
Знания добываются как самостоятельно, так и путем общения на закрытых ресурсах, с коллегами по цеху.
Но не считайте, что Вам вот так прямо все скажут и обьяснят.
Сначала попробуйте вообще попасть на данные ресурсы.
Потом надо будет зарекомендовать себя, как грамотного человека, помочь другим.
Может быть, после этого, получите совет от гуру.dmitrmax
27.05.2015 01:27Я интересовался не с целью присоседиться к вашему хлебу. Я надеялся, что хоть кто-то готов позаботиться о своих клиентах попавших в беду, и поделиться внутренностями с такими ребятами как вы.
По факту получается глупость — те, кому надо, всё равно всё знают, только это знание добывается такими квестами, что любая народная сказка позавидует. Что сказывается на цене ваших услуг не в лучшую сторону.
en1gma
а можно поподробнее про архитектуры и семейства жестких дисков рассказать?
Security_Lab
интересно было бы почитать (поддерживаю )
а так спасибо за статью
wwwHardMasterInfo
Попробуем подготовить материал специальный, а пока что-то можно прочитать на нашем сайте в поиске вбив туда что нибудь вроде «семейство».