На сайте как то появлялась статья о том, как оптимизировать работу Ubuntu Linux на SSD жёстких дисках. Но случиться может всякое, да и SSD довольно часто выходят из строя, поэтому и публикуется эта статья. Ниже вы узнаете как восстановить SSD в случае поломки.
Мне подумалось, что вдруг кого-то из владельцев SSD устройства этот топик наведёт на мысль о backup'е, кого-то о в целом более осторожном отношении, а кого-то избавит от общения с не слишком торопливой службой поддержки. Всё написанное относится не тдоолько к устройствам той серии и производителя, что у меня.
Дней 10 назад мне случилось оставить на ночь ноут с батареей в критическом состоянии без зарядки. Я не слишком беспокоюсь о жизни батареи, но удар последовал с другой стороны. Утром, включив ноутбук в зарядку и включив его я с удивлением обнаружил, что:
Operating system not found
В ВIOS'е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash'ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.
Наберём арсенал, который нам пргодится:
1 |
sudo apt-get install hdpam partx smartmontools |
Смотрим, что у нас случилось:
1 |
sudo partx -s /dev/sda |
1 |
partx: /dev/sda: failed to read partition table |
Итак, с таблицей разделов вроде бы можно попрощаться.
1 |
sudo smartctl -s on -d ata -A /dev/sda -T verypermissive |
1 2 3 4 5 6 |
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? Уже бред какой-то.
1 |
sudo hdparm -I /dev/sda |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/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. Для этой операции нам нужны будут две команды, запуск обоих затруднён для защиты от дурака и вредителя.
Выставляем пользователя, и пароль для мастер-операций над диском.
1 |
sudo hdparm –user-master user –security-set-pass abc /dev/sda |
Далее нам нужно разблокировать расширенный набор ATA-команд, в частности secure-erase, которые блокируются при загрузке системы. Этому есть несколько способов, один из которых - внешний бокс, отключить и включить его питание. Внешнего бокса у меня не было, но чудесным образом срабатывает отправка ноута в sleep и пробуждение.
Следующие команды выполняют некую безопасную очистку, я запускал обе, так как уверенности какая из них понадобится, не было. Перед каждой запускал установку мастер-пароля и закрытие крышки ноутбука.
1 2 |
sudo hdparm –user-master user –security-erase abc /dev/sda sudo hdparm –user-master u –security-erase-enhanced abc /dev/sda |
Теперь совсем для не слабонервных. Сброс установок диска к заводским. Для запуска команды нужен ещё один ключ, который вам подскажет командная строка, и для очищения совести я его здесь приводить не стану, равно как и упомяну, что в документации эта команда помечена как ОСОБО ОПАСНАЯ и НЕ ЗАПУСКАТЬ.
1 |
sudo hdparm --dco-restore /dev/sda |
Перезагрузка. Ура, можно ставить систему.
Итого выводы, которые я сделал для себя:
- держите Live CD под рукой
- не оставляйте ноут совсем без питания на критическом заряде
- делайте бэкапы, в том числе keyring'ов, списков установленных пакетов, конфигов и rsa ключей
- обновляйте прошивки (после того, как вы узнали, что она точно неплохо работает)
- беречь нервы
Хочу дополнительно отметить, что не всегда такой метод полностью восстанавливает функционал, и что иногда диск остаётся глючным, тормозным.
Ещё раз послаю пламенный привет поддержке Intel, и сообщить им, что я так и не могу зайти под своими логином и паролем на их community, чтобы опубликовать этот чудодейственный рецепт у них, и напомнить, что я уже неделю жду от них хотя бы какого-нибудь ответа почему же я не могу этого сделать.
В следующем топике расскажу об интересной статистике смертей SSD, возвратов, починок и ошибок в работе по производителям и моделям.
Источник: habrahabr.ru.