22
июля
2022
Как проверить жесткий диск на битые секторы или bad'ы - плохие блоки в Linux
15:01

Как проверить жесткий диск на битые секторы или bad'ы - плохие блоки в Linux

22 июля 2022 15:01
  1. Плохоими секторами называются участки диска, с которых нельзя произвести чтение либо записать на них информацию, либо скорость доступа значительно (на несколько порядков) ниже чем у остальных секторов.

Важность мониторинга числа плохих секторов

Своевременное обнаружение "полетевших" секторов позволяет спасти большую часть информации с носителя. Обычно выход из строя любого носителя начинается постепенно - вначале появляются одиночные BAD-блоки, затем их число растёт. Появление BAD'ов связана с физическим повреждением устройства (например, сильным сотресением ноутбука с HDD диском), либо износом ячеек устройства хранения (более характерно для SSD диска), либо грубым нарушением условий эксплуатации (отключение питания во время работы). При росте числа BAD блоков необходима немедленная замена неисправного диска на новый, с переносом операционной системы и информации из "домашних" каталогов пользователей.

Как узнать число плохих секторов в Linux

Вначале, выведем список доступных дисков и разделов на :

lsblk

Находим в списке своё устройство (например, sdb):

user@linux ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 37,3G 0 disk
sdb 8:16 0 119,2G 0 disk
├─sdb1 8:17 0 32,3G 0 part
├─sdb2 8:18 0 4,9G 0 part
├─sdb3 8:19 0 1K 0 part
└─sdb5 8:21 0 82,1G 0 part /
sdc 8:32 0 465,8G 0 disk
└─sdc1 8:33 0 391,2G 0 part
sdd 8:48 1 250M 0 disk
├─sdd1 8:49 1 250M 0 part /media/vladimir/7E2B-BE10
└─sdd4 8:52 1 39,5M 0 part
sr0 11:0 1 1024M 0 rom

В данном случае я взял маленькую флешку объёмом 256 Мбайт. - /dev/sdd

Решение: Проверка диска на BAD-блоки утилитой "badblocks"

Сканирование диска на bad-блоки:

sudo badblocks -sv /dev/sdd

где ключ "s" служит для отображения процента выполнения.
параметр "v" - для вывода на stdout поднобной информации после окончания работы.

Если ошибок нет, будет выведено сообщение:

Без ключа -v
Checking for bad blocks (read-only test): done

С ключом -v
Pass completed, 0 bad blocks found. (0/0/0 errors)

На сильно поврежденных дисках имеет смысл прервать выполнение после обнаружения определенного числа повреждений. Например, если число bad-блоков больше 20, прерываем тест:

Команда - прекращать тестирование после 20 ошибок:

sudo badblocks -se 20  /dev/sdd

Если точно известен физический размер сектора, например, 512 байт, можно уточнить его в параметрах команды. Тогда, будет выведено число именно секторов размером 512 байт, а не блоков.

sudo badblocks -sve 20 /dev/sdd -b 512

Размер физического сектора можно узнать с помощью команды fsidk -l

 fdisk -l 

Отличие: в первом случае проверены блоки (по умолчанию 1024 байт), в последнем - сектора (512 байт).
Число их отличается в разы.

Таким образом, мы можем узнать число плохих блоков на устройстве с помощью командной строки и утилиты "badblocks".

Быстрое получение информации о числе bad-блоков с помощью Gnome disks

При использовании жесткого диска с поддержкой SMART, быстрее вывести число плохих блоков при помощи графической утилиты gnome-disks

В утилите gnome-desks выподится точное число bad блоков.

1) Устанавливаем программу gnome-disks:

sudo apt-get install gnome-disk-utility

2) Затем запускаем программу в меню "Пуск" - "Стандартные" - "Диски":
или из командной строки:

gnome-disks

3) Выбираем диск.

4) Число плохих блоков выводится в окне:
diagnostics

5) Если нужна детальная диагностика - переходим в меню с 3 точками (ещё),
выбираем пункт меню "Данные самодиагностики и SMART"

6) Растягиваем окно на весь экран и ищем пункт "Неисправные секторы"
out_of_work

Дополнение: утитилита GSmartControl для чтения информации S.M.A.R.T.

Для Linux существует утилита для просмотра данных самодиагностики жестких дисков, под названием "GSmartControl".

sudo apt install gsmartcontrol

Запуск с помощью меню "Пуск" - "Системные" - "GSmartControl" или командой:

gsmartcontrol-root

Внешний вид окон программы "GSmartControl":

gsmartcontrol1

gsmartcontrol2

Информация о BAD-блоках доступна на закладке "Attributes":

  • Параметр "Offline Unrecoverable"

Количество блоков, приближающихся к состоянию "bad-block", данные из которых перемещены в резервную область жесткого диска:

  • Параметр "Reallocated Sector Count".

Очевидно, что у хорошего диска оба числа "Offline Unrecoverable" и "Reallocated Sector Count" должны быть нулями.

На закладке "Self-Tests" доступна короткая проверка (самотестирование). На HDD длительность тестирования около 2 мин, на SSD - около 40 секунд.

gsmartcontrol3

По окончанию проверки программа делает вывод о пригодности диска. Сообщение "Test result: completed without error" означает что электроника (и механика в случае HDD) исправны:

selftest

Домашная страница GSmartControl:
https://gsmartcontrol.shaduri.dev/



Похожие публикации

Комментарии: 0