Пользователь
0,0
рейтинг
3 декабря 2011 в 12:32

Восстанавливаем запоротый SSD

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

Дней 10 назад мне случилось оставить на ночь ноут с батареей в критическом состоянии без зарядки. Я не слишком беспокоюсь о жизни батареи, но удар последовал с другой стороны. Утром, включив ноутбук в зарядку и включив его я с удивлением обнаружил, что:
Operating system not found.

В ВIOS'е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash'ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.

Наберём арсенал, который нам пргодится:
$ sudo apt-get install hdpam partx smartmontools

Смотрим, что у нас случилось:
$ sudo partx -s /dev/sda
partx: /dev/sda: failed to read partition table

Итак, с таблицей разделов вроде бы можно попрощаться.
$ sudo smartctl -s on -d ata -A /dev/sda -T verypermissive
smartctl 5.41 2011-06-09 r3365 [i686-linux-3.0.0-12-generic] (local build)
Copyright © 2002-11 by Bruce Allen, smartmontools.sourceforge.net

SMART support is: Unavailable — device lacks SMART capability.
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Error SMART Enable failed: Input/output error


Ошибка ввода-вывода? Диск не поддерживает SMART? Уже бред какой-то.
$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
Model Number: INTEL SSDSA2CW080G3
Serial Number: BAD_CTX 00000150
Firmware Revision: 4PC10302

Configuration:
Logical max current
cylinders 16383 16
heads 16 16
sectors/track 63 63

CHS current addressable sectors: 16128
LBA user addressable sectors: 156301488
LBA48 user addressable sectors: 156301488
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
device size with M = 1024*1024: 76319 MBytes
device size with M = 1000*1000: 80026 MBytes (80 GB)

Ага. Можно заметить, что число условных SSD цилиндров упало в 10000 раз и согласно десктопному Gparted'у размер винчестера составляет 8MB (каюсь, в логах не сохранилась консольная команда и её вывод для просмотра этого безобразия, прошу верить мне на слово). Серийный номер отсутствует и вместо него BAD_CTX что-то там. Хорошо, симптомы поняли, можно обращаться к поиску и в поддержку. Действительно, оказывается, проблема далеко не единична, но, увы, такой идиот с Linux'ом я один.

В кратце для не знакомых с языком и ленивых, форумчане говорят о повальной подверженности всех Intel'овских SSD такому багу, особенно затронувшее 320ю серию и X25M. Есть новость о прошивке 0362, которая призвана избавить именно от этого бага, но количество обращений людей с уже этой прошивкой с теми же симптомами говорит о нерешённости проблемы. Да, лучшим решением в данном случае было бы отправить винчестер обратно в Intel, чтобы у них появился стимул поправить свои ошибки.

К сожалению, поддержка Intel не отличается расторопностью, и отвечает примерно раз в сутки, затупливая по техническим вопросам, и очень рекомендуя установить их SSD Toolbox для определения проблемы. Хочется отдельно заметить, что основной срез пользователей SSD — это владельцы MacBook'ов, у которых аналогично со мной есть трудности с установкой софта под Windows. Отдельного упоминания достойно то, что эта тулза, предназначенная для определения неисправностей, требует:
— Java
— .NET 3.5
— Windows Media Player Redistributable 11
что делает её установку на компьютере, загруженном с Live CD практически невозможной задачей (во-первых из за ограничений объёма на виртуальном винчестере, а во-вторых в связи с тем, что WMP 11 требует проверки аутентичности Windows, которая со скрипом и стонами лишь у некоторых особо выдающихся личностей получается в Wine.
Пламенный привет разработчикам этого ПО.
Мне чудом удалось объснить ситуацию поддержке, и они согласились на замену, но для замены нужно заполнить неимоверное количество форм, к которым нужно ещё приложить подтверждение поупки мной устройства. Волею судеб, я сейчас в десяти тысячах километров от дома, и не ждал такого подвоха.

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

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

Выставляем пользователя, и пароль для мастер-операций над диском.
$ sudo hdparm –user-master user –security-set-pass abc /dev/sda

Далее нам нужно разблокировать расширенный набор ATA-команд, в частности secure-erase, которые блокируются при загрузке системы. Этому есть несколько способов, один из которых — внешний бокс, отключить и включить его питание. Внешнего бокса у меня не было, но чудесным образом срабатывает отправка ноута в sleep и пробуждение.

Следующие команды выполняют некую безопасную очистку, я запускал обе, так как уверенности какая из них понадобится, не было. Перед каждой запускал установку мастер-пароля и закрытие крышки ноутбука.
$ sudo hdparm –user-master user –security-erase abc /dev/sda
$ sudo hdparm –user-master u –security-erase-enhanced abc /dev/sda

Теперь совсем для не слабонервных. Сброс установок диска к заводским. Для запуска команды нужен ещё один ключ, который вам подскажет командная строка, и для очищения совести я его здесь приводить не стану, равно как и упомяну, что в документации эта команда помечена как ОСОБО ОПАСНАЯ и НЕ ЗАПУСКАТЬ.
$ sudo hdparm --dco-restore /dev/sda


Перезагрузка. Ура, можно ставить систему.

Итого выводы, которые я сделал для себя:
— держите Live CD под рукой
— не оставляйте ноут совсем без питания на критическом заряде
— делайте бэкапы, в том числе keyring'ов, списков установленных пакетов, конфигов и rsa ключей
— обновляйте прошивки (после того, как вы узнали, что она точно неплохо работает)
— беречь нервы

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

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

В следующем топике расскажу об интересной статистике смертей SSD, возвратов, починок и ошибок в работе по производителям и моделям.

PS Любимый Хабр, поправь, пожалуйста, отображение тэга 'code'.
PPS Случайно нашёлся официальный гид на kernel.org
PPPS Описал на Intel Communities, когда они, спустя две недели, удосужились ответить на мой вопрос про невозможность входа.
Phil Pirozhkov @philpirj
карма
155,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (39)

  • +2
    please destroy my drive
  • 0
    Модель ноутбука какая? И в посте сказано про интеловский SSD — а как узнать, интеловский он или чей-то ещё?
    • 0
      8 mb проблема это у 320 серии интел.
      • 0
        X25M туда же. По 510м статистика возвратов ещё хуже, полагаю, что проблема имеется также.
    • 0
      Lenovo X120e. Грешу на него тоже, ибо до этого два раза приходилось чинить HDD fsck'ом.

      $ sudo smartctl -a /dev/sda |grep -A 2 -i «START OF INFORMATION»

      === START OF INFORMATION SECTION ===
      Model Family: Intel 320 Series SSDs
      Device Model: INTEL SSDSA2CW080G3
  • 0
    Причем тут критический уровень заряда батареи?
    (может я чего не знаю, можно подробнее?)
    • +1
      Баг «8mb» появляется чаще всего после некорректного отключения питания ноутбука/компьютера.
      • +1
        В windows критического заряда батареи (8-10%) обычно хватает, чтобы сделать hibernate. В linux/macos наверняка должен быть аналогичный механизм.
        • 0
          Не стоит забывать о левых, купленных взамен фирменным, китайских аккумуляторах, у которых 8-10% (а то и больше) по факту означают отключение.
  • +1
    К счастью, на форумах все однозначно говорят, что содержимое диска восстановлению не подлежит
    Порадовало такое счастье…
    Счастливый обладатель X25-M.
    • 0
      да, с Интелом тяжело общаться. А вот у меня недавно полетел SSD OCZ Vertex 3 SSD 120GB 2.5" SATAIII MLC goo.gl/ZjKEa и в результате я был приятно удивлен тем как работает сапорт в OCZ — мне прислали новый диск. Все прошло быстро и удивительно без особой траты нервов.
  • 0
    До этого на q&a прочел не один топик про выбор SSD, и определился, что себе буду брать Intel. После таких постов желания брать Intel что-то не много. Очень хочется взять SSD, но очень хочется надеяться, что это будет стабильно. Что же тогда выбрать?
    • +2
      почитав форумы — поставил себе intel x25. До прочтения статьи думал, что являюсь обладателем практически не убиваемого надежного диска. чувствую себя как герой bash:

      xxx: Вскрывали мои Timex
      xxx: На корпусе написано: механизм — Япония, сборка — Филиппины
      xxx: После вскрытия, на внутренней стороне крышки: made in china
      xxx: Как в анекдоте — нормальные люди ходят с японскими таймексами, а любопытные — с китайскими…

      • 0
        Всё относительно неплохо. Как только выйдет прошивка старше 0362, обновитесь.
        • 0
          вопрос такой: если есть вероятность того, что питание будет точно отключаться не как положено, то лучше вообще отказать от идеи использовать любой ssd?
    • +2
      Crucial M4 128, использую месяц, 3 цикла перезаписи, TRIM on, последняя прошивка. Быстрей любого интела, доволен всем.
  • 0
    Спасибо большое за пост,

    а меня вот всегда интересовало: команды, их output — Вы сразу решили сохранять, почувствовав потенциальный хабрапост? Или воспроизвели вновь позже?

    … или по памяти написали пост?
    • 0
      Ну, мне показалось не лишним отправить их в службу поддержки Intel, и они сохранились в почте. А те команды, которые для восстановления — да, по памяти.
  • +1
    Мир делиться на тех, кто делает бэкапы и тех кто их еще не делает. Я раньше не далел, теперь делаю.
  • +1
    Поправьте, пожалуйста, слово «чудестным».
  • 0
    А sudo hdparm --dco-restore /dev/sda нельзя делать до secure-erase? если так можно было — с диска данные можно было бы спасти.
    • 0
      Да, я тоже так думал, так и нашёл эту команду, но к сожалению, она выдаёт всё тот же, если запускать её до:
      Input/Output error

      Для неё не предусмотрен запуск с мастер-пользователем, поэтому думаю, что танцы с бубном по уходу в sleep и выставлению масте-пароля тоже бы не помогли.
  • 0
    OCZ Agility 3 умирает от гибернации\слипа. Касается также и других на контроллере SandForce этой серии. Пока юзаю Crucial m4, доволен, но бэкап делаю регулярно с помощью EuseUS Todo Backup.
  • +1
    Что-то я еще погожу покупать SSD.
    Не хочется приключений отчего-то.
  • +1
    скажите, Вы продолжаете еще пользоватся этим винтом?
    • 0
      Да. Больше сбоев не было.
  • 0
    Такая же проблема. Целый год работал — все ок. Обновил firmware и накопитель помер.

    Сейчас добрался до --dco-restore.
    Команда не выполняется, пишет:
    issuing DCO restore command
    HDIO_DRIVE_CMD(dco_restore) failed: Input/output error

    Подскажите, пожалуйста, что делать?
    • 0
      А --security-erase нормально прошёл?
      Машину в спящий режим отправляли-восстанавливали?
      • 0
        да, формарируется хорошо.
        вместо спящего режима включаю на горячую после загрузки системы, как рекомендовано по ссылке на kernel.org. тут всё ок, а вот restore не проходит.

        может есть какие-то другие способы сбросить firmware?

        еще накопал:
        HP сделал свою прошивку 365:
        h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?cc=us&lc=en&dlc=en&softwareitem=ob-101094-1
        но она не ставится на мой SSD, т.к. видимо где-то прописано, что он не от HP.

        • 0
          Перепрошивка firmware не исправит проблему с уменьшенным количеством цилиндров.
          Мне кажется, что если у вас нет такой проблемы, как была у меня, а именно затруднения с возвратом товара (нужно вернуть напрямую продавцу, а он там уж пускай сам с Intel разбирается), то надо проучить рублём «лидера информационных технологий», не шевелящегося по поводу исправления своих недоработок годами. Возможно, заменят на 330ю серию, но лучше — деньгами.
          • +1
            думаю, что поможет. до обновления прошивки он работал целый год.
            у меня тоже проблема с возвратом, нахожусь в другой стране :)
            PS: ну они вообще молодцы, конечно, блин, хоть бы откатывать дали возможность.
            • 0
              Многие сообщали о том, что проблема с bad_ctx возникает во время обновления прошивки.
              • 0
                так же как у меня. обновил прошивку до 362. через два дня помер. отформатировал, поработал дней 10 и опять помер.
                спасение в старой прошивке, которую никак не могу установить (сбросить к заводским настройкам).
                • 0
                  Заводские настройки не являются частью прошивки, равно как и прошивка не является частью заводских настроек. Одна и та же прошивка подходит для накопителей разной ёмкости и с разными параметрами. Откат прошивки, возможно, вернёт прежнюю надёжность в работе, но вот сброса к заводским настройкам --dco-restore не заменяет и не отменяет.
                  Я до сих пор на 302й firmware и пока не спешу никуда обновляться.
                  • 0
                    Спасибо!
                    А как откатить прошивку? Intel 320 160GB.
                    • 0
                      Мне кажется, что стоит скачать старую версию Firmware Update Tool (очевидно, придётся поискать), и попробовать прошить с её помощью.
                      • 0
                        скачал 1.7, и тут облом :|
                        говорит, что уже установлена последняя прошивка и всё прекрасно…
                        параметров в issdfut.exe тоже вроде как нет, /help, -h, /? и т.д. не работают.
                        • 0
                          Не могу никак вам написать — тоже intel 320 160gb полетел — удалось вам починить его?
                          • 0
                            Починить — да, восстановить данные — нет. Или вы не мне?

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