Важнейшей составляющей компьютера выступает жесткий диск. Именно на нем хранятся файлы операционной системы и прочая важная информация. Единица хранения на жестком диске - сектор или блок. Именно в него записывается определенный объем данных, обычно это 512 или 1024 байт. Со временем на диске появляются битые секторы, которые перестают работать, но файловая система продолжает пытаться записать в них информацию. Записать информацию в такие секторы крайне сложно, поэтому пользователь может их потерять. Причем этот недостаток свойственен жестким дискам HDD, а твердотельные накопители SSD лишены этих недостатков. В них есть специальный контроллер, который перемещает данные из битых секторов в рабочие. В этой статье расскажем о том, как проверить диск на битые секторы в Linux.
Для поиска битых секторов на жестком диске в операционной системе Linux подходит программа под названием badblocks. Если вам надо проверить корневой или домашний раздел диска, то лучше загрузится в LiveCD, чтобы файловая система не была смонтирована. Если необходимо посмотреть, какие разделы есть на диске можно воспользоваться командой fdisk
:
$ sudo fdisk -l /dev/sda1
Пользуясь графическим интерфейсом, можно воспользоваться Gparted - специальная утилита. Пользователю достаточно выбрать нужный диск в выпадающем списке.
В конкретном примере рассмотрим, как проверить раздел /dev/sda2
с файловой системой XFS. Для этого используется команда badblocks. Синтаксис у неё довольно простой:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Вам могут потребоваться следующие опции программы:
-e
- дает возможность установить количество битых блоков, после достижения которого дальше продолжать тест не надо;-f
- по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;-o
- записать обнаруженные битые блоки в указанный файл;-p
- количество проверок, по умолчанию только одна;-s
- показывает прогресс сканирования раздела;-v
- максимально подробный режим;-i
- позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;-n
- использовать безопасный тест чтения и записи, во время этого теста данные не стираются;-w
- позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.С целью проведения обычной проверки используйте такую команду:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Эту команду можно выполнять на диске с операционной системой, ничего страшного не будет - она не способна навредить. Допускается выполнять на смонтированной файловой системе, хотя этого лучше не делать Если файловая система размонтирована, рекомендуем сделать тест с записью с помощью опции -n
:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
После окончания проверки системе необходимо сообщить информацию о битых секторах, чтобы она туда не обращалась. Для этого можно использовать утилиту fsck и опцию -l
:
$ fsck -l ~/bad_sectors.txt /dev/sda1
В случае использования файловой система семейства Ext для поиска битых блоков и автоматической регистрации их в файловой системе используйте команду e2fsck
:
$ sudo e2fsck -cfpv /dev/sda1
При помощи параметр -с
легко искать битые блоки и добавлять их в список, -f
- проверяет файловую систему, -p
- восстанавливает повреждённые данные, а -v
выводит всё подробно.
Теперь вы знаете, как проверять жесткий диск и находить битые секторы.
Примените скидку, вставив промокод в специальное поле при оформлении заказа: