Восстановление ssd диска linux
We all know that SSDs have a limited predetermined life span. So the question for me is how do I check in (Ubuntu) Linux what the current health status of my SSD is? And maybe an estimation how long it will take?
Graphical tool is preferred, but command line tool would also be fine.
I'm using Xubuntu 12.04 LTS
@dschinn1001 Not exactly, that only applies to recent SSDs. First and Second generation SSD are known to have limited lifespan according to the amount of write operations to the disk.
Coming from old school spinning drives, I used tools for testing HD that wrote and read all the disk a few times, which took a few hours. It seems that none of the tools mentioned use such an approach? Does such an approach not make sense for SSD? Well, then it seems that the SSD logs it's own experiences, and can then tell if it is ailing. Have I understood this correctly?
@MadsSkjern It's perfectly feasible to use a tool like badblocks to check the status of an SSD. There are however very good reasons to NOT do so. SSD's in my experience typically fail after exceeding a certain threshold of writes, so a destructive read write test such as can be performed with badblocks can actually shorten the life of the drive.
3 Answers 3
There was a bug in some intel SSD's firmware which caused this problem. This bug was corrected a while ago but you likely didn't upgraded the firmware to the newer one.
Unfortunately your data cannot be recovered, but your drive could be made usable again:
To solve this using linux: (Source and this)
- Boot up a live environment
- sudo apt-get install hdparm
sudo hdparm -I /dev/sdX
where sdX is your SSD device. This command will just print out some info about the drive. If you see in the output this: Serial Number: BAD_CTX 00000150 that confirms that you are hit by this bug. If at the Seucrity section it reads frozen you can't continue, you have to use a workaround to eliminate the freeze:
If the command output shows "frozen" one cannot continue to the next step. Some BIOSes block the ATA Secure Erase command by issuing a "SECURITY FREEZE" command to "freeze" the drive before booting an operating system.
A possible solution is to simply suspend the system. Upon waking up, it is likely that the freeze will be lifts. If unsuccessful, one can try hot-(re)plug the data cable (which might crash the kernel). If hot-(re)plugging the SATA data cable crashes the kernel try letting the operating system fully boot up, then quickly hot-(re)plug both the SATA power and data cables.
sudo hdparm --user-master u --security-set-pass SOMEPASS /dev/sdX
Again /dev/sdX is your SSD drive, and SOMEPASS is a password you want to set for the SSD. (This password doesn't lock the SSD or anything similar, it is just needed for these low-level dealing with the SSD.) We will need that SOMEPASS later on, so remember it/write it down. (But after the secure erase this password will be reset anyway so it is not important in the longterm.)
Check the drive again: sudo hdparm -I /dev/sdX
Now it should say enabled and not frozen at the security section:
sudo hdparm --user-master u --security-erase SOMEPASS /dev/sdX
This issues the secure erase command. Again /dev/sdX is your SSD, SOMEPASS is the password set before. The completion of this operation can take a few minutes. After this your SSD should be functional, if not, try again with this command:
sudo hdparm –user-master u –security-erase-enhanced SOMEPASS /dev/sdX
This latter command takes much more time (30-40 minutes) and you will have to reset the password (with step 4.) before running it because SOMEPASS is likely already reset by the previous command.
After this check the drive again sudo hdparm -I /dev/sdX . The BAD_CTX thing should be gone and your drive should be functional.
After all this don't forget to update the firmware of our SSD. (refer to intel support on how to update the SSD's firmware.)
Всем привет, случайно отформатировал диск на котором операционная система, отформатировал быстро, т.е. удалил только таблицу, можно ли полностью все восстановить, и чтобы операционка тоже заработала?
Да. Монтируй с указанием резервных таблиц.
Для справки ткните пожалуйста, где про это прочитать. Что-то сразу не находится, а долго гуглить лень. Хотя может ТС нагуглит и расскажет.
Хотя может ТС нагуглит и расскажет.
ну а если и ТС не расскажет, то телепаты подтянутся :) ..[они там сразу и тип файловой системы укажут (новой и старой) и другие особенности. ] :-)
файловая система ext4
форматнул когда начал устанавливать винду (срочно понадобилась), в итоге случайно не тот отформатировал, fdisk -l пишет вот что:
Хм, возможно имелось в виду монтирование с резервным суперблоком
только непонятно, как это поможет, ведь раздел отформатирован стандартными средствами, а не повреждён.
было EXT4 а стало NTFS — так что может и сработает.
кроме sb=. , думаю нужно не забыть конечно указать ещё и -t ext4 :-)
интересно было бы узнать. да.. сработает или нет в итоге
user_id_68054 ★★★★★ ( 11.10.14 15:35:19 )
Последнее исправление: user_id_68054 11.10.14 15:37:51 (всего исправлений: 2)
пишет mount point sb=131072 does not exist
Вы, конечно, на нервах, но нельзя же так. sb - это просто опция, надо ещё девайс указывать и точку монтирования.
это можешь поковырять
Int64 ★★★ ( 11.10.14 15:47:42 )
Последнее исправление: Int64 11.10.14 15:48:01 (всего исправлений: 1)
написал вот что:
Я так понимаю, можно ещё 393216 попробовать, и дальше по списку, умножая каждое значение на 4: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000
Делай fsck.ext4. Если сразу не покатит, там есть опции по поводу суперблоков.
Но на самом деле данные уже можно считать потерянными.
запутался как лучше сделать, запустил testdisk, поиск выдал это:
что здесь выбирать? Перед форматированием весь диск был ext4
Int64 ★★★ ( 11.10.14 16:12:32 )
Последнее исправление: Int64 11.10.14 16:13:32 (всего исправлений: 2)
Ничего. Руками восстанови прежнюю структуру разделов. Если был один на весь диск, то это элементарно.
был один на весь диск, использовать fsck.ext4?
Если есть возможность сделать образ раздела, сделай. Ну и пробуй fsck. Сразу хочу сказать, что в случае успеха ты получишь кучу файлов с бесполезными именами в lost+found. То есть, если нет задачи восстановить какие-то ценные данные, то можешь просто переустановить систему.
Сделай копию диска перед работой.
Блин, я уже готов прочитать весь цикл только из-за одного названия XD
«Возможно просто стерли начало файловой системы?» — подумал Пух и просканировал диск на предмет бэкапов суперблоков.
не находит такую команду lde и не устанавливается, и гугление не помогает
а он мне пишет вот что:
выбрал 40800 т.к. при запуске команды:
взял самый первый, может в другой системе исчисления нужно? Пробовал в десятичную переводить, то же самое :(
Мне бы просто восстановить папку «Проекты» из папки «home» и я был бы доволен, а то так получается месяц работы на смарку пошел.
Int64 ★★★ ( 11.10.14 17:55:49 )
Последнее исправление: Int64 11.10.14 17:58:07 (всего исправлений: 1)
Почему ты указываешь всегда устройство, когда у тебя там была (и есть) таблица разделов и девайс назывался sda1? Так ведь все сдвиги от начала раздела теряются, только работу себе усложняешь.
ну у меня sda1 занимает не весь диск, а очень маленькую часть, он вроде бы автоматически создался, когда я удалил раздел. Установщик винды его создал.
Тогда сделай, как было до этого.
Каким образом? удалить раздел и отформатировать в ext4 чтоли?
Не надо ничего форматировать. У тебя был один раздел на весь диск? Сделай в fdisk'e один раздел на весь диск.
R-Studio
Утилита является платной. Тем не менее, судя по нескольким топикам на форуме, в тяжёлых случаях она может дать лучший результат, чем testdisk.
R-Studio позволяет восстанавливать утраченные данные с поврежденного, форматированного, переформатированного или удаленного диска (раздела) локального или удаленного компьютера вне зависимости от используемой системы (платформы).
testdisk
Нередко судьба подкидывает нам такое, что послезавтра сдавать диплом, а сегодня умер жесткий диск со всей информацией. В Linux стандартом де-факто в области восстановления данных является утилита testdisk. Однако нередко человек, впервые сталкиваясь с ней, находит ее для себя малопонятной и отказывается от нее, т.к. она не имеет графического интерфейса.
Специально для написания статьи я нашел старую ненужную флешку, записал на нее немного музыки и видео. После этого в GParted изменялись размеры и положение раздела (при этом флешка выдергивалась из компа в самый кульминационный момент), ну и напоследок все было добито созданием новой таблицы разделов.
Итог - при подключении флешка не обнаруживается компьютером, на ней важная информация, будем ее восстанавливать.
1. Для начала нужно установить testdisk. Для этого в консоли выполняем:
2. Запускаем testdisk с администраторскими правами
Появляется окошко приветствия testdisk, нам предлагается вести лог работы. В данном случае не вижу в этом смысла, но вы можете поступать иначе. Выбираем нужный пункт меню и подтверждаем выбор: No Log → Enter.
3. Появляются доступные носители, выбираем нужный, подтверждаем нажатием Proceed.
4. Предлагается выбрать тип таблицы разделов, думаю, что в большинстве случаев будет тип Intel / PC Partition.
5. Появляется меню с выбором операции. Для начала делаем анализ, выбрав Analyse.
6. В разделе Analyse Выбираем Quick Search.
7. Последний вопрос перед началом анализа «Должен ли testdisk искать разделы созданные с использованием Windows Vista?». В моем случае — нет, поэтому я выбираю N. 1)
Анализ закончен. Предупреждение. Или некоторые разделы не были найдены, или таблица разделов не может быть записана, т. к. разделы перекрываются.
8. Вот теперь можно начинать восстановление информации. В данном случае нас интересует 2 варианта действий.
Получить список файлов, содержащихся в данном разделе нажатием Р с дальнейшим восстановлением интересующих файлов из списка
Попробовать загрузить резервную копию таблицы разделов нажатием L , это приведет носитель к первоначальному состоянию до поломки
Выводим список файлов нажатием Р .
Отсюда же можно попробовать скопировать особо важные файлы и папки, особенно если боитесь, что данные не восстановятся, а наоборот потеряете последнюю, пусть даже и битую информацию. Для примера я буду копировать музыкальный альбом. Выделяем нужное курсором, нажимаем С для копирования. Появляется файловый менеджер, где можно выбрать куда будем копировать. В домашнем каталоге для этих целей специально создана папка Restored.
Заходим в нее и подтверждаем копирование нажатием Y.
Открываем папку в Nautilus, видим, что все файлы на месте и их можно прослушать.
9. Итак, особо важную информацию на всякий случай сохранили, однако наша цель приведение носителя в нормальное рабочее состояние. Из каждого пункта меню testdisk можно вернуться в предыдущий с помощью клавиши Q . Таким образом возвращаемся к 8 пункту.
Попробуем вернуть все в первоначальное до поломки состояние, загрузив резервную копию таблицы разделов. Нажимаем L . В появившемся окошке выбираем Load…
…и подтверждаем наши намерения Y .
Все, процесс восстановления закончен, отключаем и снова подключаем поврежденный носитель. Теперь он обнаруживается, все файлы на месте, в целости и сохранности.
Желаю вам удачных восстановлений!
foremost
foremost — поиск и восстановление данных по сигнатурам.
Пример использования для восстановления изображений с диска /dev/sdb в каталог ~/out_dir:
extundelete
extundelete – утилита, позволяющая восстанавливать файлы, которые были удалены с разделов ext3/ext4.
Установить extundelete можно выполнив команду:
Как только вы поняли, что удалили нужные файлы, надо отмонтировать раздел:
или перемонтировать в режиме «только чтение»
Так же следует создать резервную копию раздела прежде, чем начинать с ним работу по восстановлению файлов:
Зайдите в каталог, в который будут восстанавливаться удаленные данные. Он должен быть расположен на разделе отличном от того, на котором хранились восстанавливаемые данные:
Запустите extundelete, указав раздел, с которого будет происходить восстановление и файл, который необходимо восстановить:
Можно так же восстанавливать содержимое каталогов:
Можно задать для восстановления рамки по времени удаления восстанавливаемых файлов, например так:
Дату необходимо указывать в UNIX-времени:
Некоторые файлы могут восстановиться под другим именем и расширением, хотя это не повлияет на содержимое файла.
Scalpel
Scalpel анализирует файлы по header и footer, заданным в шаблоне
Чтобы задать типы файлов для распознавания, нужно в указанном выше шаблоне раскомментировать соответствующие строки. Однако, будьте внимательны: зачастую header и footer ваших файлов могут отличаться от заданных в шаблоне для такого типа файлов (к примеру, sony jpg). В таком случае нам нужно самостоятельно выяснить header и footer искомых файлов на примере имеющегося аналогичного файла:
и вписать их в конфигурационный файл.
В качестве исходного пути может использоваться как путь к реальному устройству /dev/…, так и путь к образу диска. Директория outputdir для сохранения файлов обязательно должна быть пустой.
There is something very wrong with my 160G SSD. It shows up as a 8MB drive in fdisk:
Pretty much everything on there is backed up, but I would like to create an image just to be on the save side. dd seems to only see the 8MB drive:
How can I create an image of the full 160G drive and how do I fix the drive to use it again?
8 Answers 8
to check the health of a SSD
For Ubuntu, Mint, or Debian based distributions
The Media_Wearout_Indicator is what you are looking for. For 100 means your ssd has 100% life, the lower number means less life left.
To show your sdd information
Install Gnome Disk Utility and check SMART Data and Tests for wear-leveling-count or similar. The higher that number (%, from 1 to 100), the more "used up" your SSD is, which means you are more likely to have problems. But if you have a recent SSD, you need not worry about it.
either menu->Settings->Disk utility
or via command line
palimpsest is not recognized by Ubuntu 14.04, although gnome-disk-utility is installed. I also don't see a disk utility in settings (gear icon). palimpsest is an awful name, does the name vary with user language (e.g. english vs. something else).
If you don't have an Intel-brand SSD: READ THIS.
Watch out !! -- I was blithely mislead by 'smartmontools.' I have a Samsung SSD, and the smartmonitor/'smartctl' tool happily misreported that '233' (hex 'E9') attribute was 'Media_Wearout_Indicator'; in fact -- no, for Samsung (and other manufacturers) it is up to entirely different. This and other forum postings, stack-exchange question/answers, and power-user blogs I found seem to be 'Intel focused,' with only vague hints that 'it may vary.' (Versus any suggestion that you need to watch out for wrong and erroneous labeling of the attribute by smartmontools).
As I was preparing to copy my SSD to a new harddrive I'd bought (because of what smartmontools had told me), I booted to windows (I have a dual boot system), to learn something about SSD's from what the windows-only Samsung tool 'Samsung_Magician_v43.exe' had to tell me about my drive -- it was shockingly uninformative.
The document indeed implies that the attribute 'hex E9' /'decimal '233' is not used by Samsung the same way. ( Samsung: I'm very disappointed, please either fix your official software-tool, or at least make it clear that you do not provide wear out indication information!)
The so-what: If you don't have an Intel SSD-- do not be mislead by the false attribute name labels provided by smartmonitor. Perhaps it will improve in the future, but the version installed by default for Ubuntu 12.04 LTS (April, 2014) was total fail. Instead of telling you it 'doesn't know' -- smartctl just mislabeled the attribute. I did not find another tool for linux that made the 'correct' information transparent or clear.
На сайте как то появлялась статья о том, как оптимизировать работу Ubuntu Linux на SSD жёстких дисках. Но случиться может всякое, да и SSD довольно часто выходят из строя, поэтому и публикуется эта статья. Ниже вы узнаете как восстановить SSD в случае поломки.
Мне подумалось, что вдруг кого-то из владельцев SSD устройства этот топик наведёт на мысль о backup'е, кого-то о в целом более осторожном отношении, а кого-то избавит от общения с не слишком торопливой службой поддержки. Всё написанное относится не тдоолько к устройствам той серии и производителя, что у меня.
Дней 10 назад мне случилось оставить на ночь ноут с батареей в критическом состоянии без зарядки. Я не слишком беспокоюсь о жизни батареи, но удар последовал с другой стороны. Утром, включив ноутбук в зарядку и включив его я с удивлением обнаружил, что:
В ВIOS'е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash'ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.
Наберём арсенал, который нам пргодится:
Смотрим, что у нас случилось:
Итак, с таблицей разделов вроде бы можно попрощаться.
Ошибка ввода-вывода? Диск не поддерживает SMART? Уже бред какой-то.
Ага. Можно заметить, что число условных SSD цилиндров упало в 10000 раз и согласно десктопному Gparted'у размер винчестера составляет 8MB (каюсь, в логах не сохранилась консольная команда и её вывод для просмотра этого безобразия, прошу верить мне на слово). Серийный номер отсутствует и вместо него BAD_CTX что-то там. Хорошо, симптомы поняли, можно обращаться к поиску и в поддержку. Действительно, оказывается, проблема далеко не единична, но, увы, такой идиот с Linux'ом я один.
К сожалению, поддержка Intel не отличается расторопностью, и отвечает примерно раз в сутки, затупливая по техническим вопросам, и очень рекомендуя установить их SSD Toolbox для определения проблемы. Хочется отдельно заметить, что основной срез пользователей SSD - это владельцы MacBook'ов, у которых аналогично со мной есть трудности с установкой софта под Windows. Отдельного упоминания достойно то, что эта тулза, предназначенная для определения неисправностей, требует:
Что делает её установку на компьютере, загруженном с Live CD практически невозможной задачей (во-первых из за ограничений объёма на виртуальном винчестере, а во-вторых в связи с тем, что WMP 11 требует проверки аутентичности Windows, которая со скрипом и стонами лишь у некоторых особо выдающихся личностей получается в Wine. Пламенный привет разработчикам этого ПО.
Мне чудом удалось объснить ситуацию поддержке, и они согласились на замену, но для замены нужно заполнить неимоверное количество форм, к которым нужно ещё приложить подтверждение поупки мной устройства. Волею судеб, я сейчас в десяти тысячах километров от дома, и не ждал такого подвоха.
К счастью, на форумах все однозначно говорят, что содержимое диска восстановлению не подлежит, но что работоспособность восстановить возможно. И то время, которое было потрачено на переписку со службой поддержки, я не потратил зря, а с пользой потратил на чтение форумов и эксперименты, краткий разультат которых здесь и привожу.
Нужно восстановить количество цилиндров, вернув заветные 16383. Для этой операции нам нужны будут две команды, запуск обоих затруднён для защиты от дурака и вредителя.
Если данные для вас чрезвычайно важны, и вы сомневаетесь в своих силах/знаниях, немедленно отключайте носитель и несите его в сервисный центр. Попытки самостоятельно решить проблему могут усугубить ситуацию, вплоть до полной невозможности что-либо восстановить.
Первым делом, очень важно свести к минимуму работу с повреждённым накопителем, иначе вероятность восстановления данных существенно снижается.
Если вы случайно удалили нужный файл с некоторого раздела, следует как можно скорее перевести данный раздел в режим «только чтение» и исключить любые попытки записи на него.
Если вы по ошибке установили операционную систему, на диск/раздел с важными данными, то загружать систему с этого диска/раздела категорически не рекомендуется. Для дальнейней работы следует использовать LiveCD/USB или систему, загружаемую с другого диска/раздела.
Кроме того, для сохранения восстанавливаемых данных потребуется ещё один накопитель ёмкости, не меньшей исходного.
Чтобы снизить возможные потери информации при неудачной попытке восстановления, следует сделать полный дамп повреждённого тома (ФС, раздел, либо весь диск, в зависимости от того как располагались исходные данные) через dd или ddrescue на отдельный носитель и дальше экспериментировать с этим дампом:
Читайте также: