Перейти к содержанию

Проверка диска на битые секторы в Linux

Для поиска битых секторов можно использовать утилиту badblocks. Если нужно проверить корневой или домашний раздел диска, то лучше загрузить ПК с помощью LiveCD для того, чтобы файловая система проверяемого диска не была смонтирована. Иные разделы можно сканировать прямо из установленной системы.

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

sudo fdisk -l /dev/sda1

Проверка разделов с файловыми системами, отличными от ext

Если на проверяемом разделе диска не используется файловая система ext4, выполняйте проверку в два этапа:

  • проверка на наличие битых секторов при помощи badblocks и генерация отчета;
  • использование полученного отчета для разметки битых секторов, чтобы файловая система их не использовала, при помощи fsck.

Можно выполнить проверку диска без операций записи в секторы (это безопасно для данных, но выполняется проверка только чтением):

sudo badblock -sv /dev/sda1 -o bad_sectors.log

Если же диск не смонтирован, можно выполнить проверку с записью (но без стирания данных) командой:

sudo badblocks -nsv /dev/sda1 -o bad_sectors.log

Также можно выполнить проверку с затиранием данных:

sudo badblocks -wsv /dev/sda1 -o bad_sectors.log

После завершения, если обнаружены битые блоки, используйте команду fsck для разметки:

fsck -l bad_sectors.log /dev/sda1

Проверка разделов с файловыми системами семейства ext

Если на разделе используется файловая ext, например ext4, то для поиска битых секторов и их автоматической разметки можно использовать команду e2fsck:

sudo e2fsck -cfpv /dev/sda1