На сайте как то появлялась статья о том, как оптимизировать работу 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.