Неделя инвентаризации продолжается, так что настало время поговорить и о тестировании устройств на битые сектора под Linux.
Естественно, все команды выполняются от 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
Но никогда так не делайте. Я предупреждал.