Проверка на битые сектора (bad-блоки) диска в Linux.

Преамбула

Неделя инвентаризации продолжается, так что настало время поговорить и о тестировании устройств на битые сектора под Linux.

Проверка и получение списка bad-блоков

Естественно, все команды выполняются от root или через sudo.

badblocks -v /dev/sdc2 >/tmp/badsect.txt

где:
-v — подробный вывод информации о процессе. Правда слово «подробный» здесь некоторое преувеличение. В процессе вывод будет такой:

Checking blocks 0 to 1805311
Checking for bad blocks (read-only test):

Но, без ключа -v программа будет молчать, как партизан на допросе.

/dev/sdc2 — раздел, который необходимо проверить.
/tmp/badsect.txt — куда выводить список bad-секторов.

Программка стандартная (входит в пакет e2fsprogs), так что в неурезанных дистрибутивах есть.

Служебные сообщения она выводит на stderr, так что «наблюдать» за процессом перенаправление вывода в файл не помешает

Если после окончания работы утилиты вывод такой, то все OK, битых секторов нет:

Checking blocks 0 to 1805311
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)

Примечание: Если у вас только консоль, посмотреть список разделов можно командой

ls /dev/sd*

Вывод:
/dev/sda /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdc /dev/sdc1 /dev/sdc2

Или через fdisk:
fdisk -l

Пометка найденных сбойные секторов

Чтобы ОС не могла записать данные в битый сектор.
Примечание: способ работает только на ext файловых системах (ext2, ext3, ext4)

e2fsck -l /tmp/badsect.txt /dev/sdc2

где:

-l взять список bad-блоков из файла и пометить их.
/tmp/badsect.txt — файл со списком bad-секторов
/dev/sdc2 — раздел, с которым надо работать.

Плюсы:
+ способ работает почти во всех линуксах
Минусы:
— работает только на линуксовых файловых системах (fsck не понимает ключ -l)
— если битых секторов слишком много, проще выкинуть винчестер e2fsck начинает писать, что сектор находится «вне диапазона» и не метит его.

Грязный хак, способный на некоторое время продлить жизнь жесткого диска

Внимание! Никогда, слышите, никогда так не делайте! Начав сыпаться, жесткий диск может крякнуть в любой момент, проще (и дешевле, если у вас на харде что-то кроме котофото из интернетов) купить новый хард. Меня заставили под пытками. Мне пришлось, т.к. HDD был от древнего квадраттера, работающего на линухе, и HDD требовался IDE-шный, который сейчас хрен найдешь (да, для работы я не делюсь своими IDE HDD, я жадный).

Так вот, если битые сектора кучкуются в начале или в конце жесткого диска, то возможно, глюк оттуда не расползется, так что часть с битыми секторами можно просто отрезать и пометить в gparted как unformatted

Но никогда так не делайте. Я предупреждал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *