Слава нації
#StandWithUkraine

Роман Теличко

Блог з програмування, оптимізації та адміністрування систем

Как проверить диск на ошибки и бэд-сектора в Linux

// | 91538 переглядів

Примером хорошего тона и здравого смысла является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная проверка диска на ошибки записи и т.п.
Разберёмся что такое битые сектора.
Любимая Википедия говорит следующее:

Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или ненадежный сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в структурах файловой системы операционной системой.

Следовательно, если в битом секторе были данные, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла.

Составить список битых секторов можно с помощью команды badblocks.
Делается это так:

sudo badblocks -v /dev/hda1 > ~/badblocks.list

Где /dev/hda1 – это раздел диска, что вы хотите проверить.

Желательно делать проверку в однопользовательском режиме, если это не внешний диск. Тогда его просто стоит отмонтировать.

После этого мы можем запустить утилиту fsck, явно указав ей список битых секторов для того, чтобы она их отметила как “битые” и попыталась восстановить с них данные.
Делается это так:

sudo fsck -t ext4 -l ~/badblocks.list /dev/hda1

Где ext4 – это тип файловой системы нашего раздела диска, а /dev/hda1 – сам раздел диска.

fsck выведет статус проверки и может спросить как поступать в том или ином случаи.
Пример вывода такой:

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Check reference counts.
Pass 5: Checking group summary information.

/dev/hda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/hda1: 11/360 files, 63/1440 blocks

Это всё.
Делайте проверку чаще и не забывайте резервировать данные.
Удачи.