Как проверить жесткий диск на битые секторы в Linux

Битые сектора – это настоящая беда для жесткого диска, поскольку они становятся недоступными для записи, а в худшем случае и для чтения. Своевременное обнаружение таких секторов позволит предотвратить потерю важных данных, заблаговременно создав их резервную копию. Для проверки состояния физической памяти в Windows предусмотрена штатная утилита chkdsk.exe, в Linux для этих целей используется свой консольный инструмент – утилита с говорящим названием badblocks.

Как и в Windows, сканировать накопитель на предмет повреждений секторов в Linux лучше всего из-под LiveCD либо подключив его к другому компьютеру. Проверка смонтированных разделов в принципе возможна, но в этом случае результаты могут быть неточными. Если нужно проверить какой-то определенный раздел, а не весь накопитель, сначала определяем название этого раздела в менеджере томов Gparted либо выведя список томов в консоли командой:

sudo fdisk -l /dev/sdb1

Где sdb1 – проверяемый диск.

В нашем примере работа ведется из-под root, поэтому sudo пропущена, если вы работаете под обычной учетной записью, используйте полную команду.

sda1. Список разделов будет выведен в столбце «Device».

Device

Допустим, нам нужно проверить диск sdb1.

Для этого формируем и выполняем в консоли команду:

sudo badblocks -vn /dev/sdb1 -o ~/bad_sectors.txt

Если появится строка «Testing with random pattern», просто нажмите ввод. Если в процессе проверки будут найдены bad-блоки, утилита запишет их в файл bad_sectors.txt, сохраняемый в каталог root.

Badblocks

Проверка может занять длительное время, все зависит от размера накопителя.

Принимаемые аргументы

В приведенной выше команде использовались ключи -v, -n и -o.

Первый включает подробный режим, второй указывает, что необходимо использовать безопасный режим чтения/записи, предотвращающий повреждение данных.

Ключ -o дает указание на запись результатов в файл.

Также вам могут пригодиться следующие ключи:

  • -f – дает возможность сканировать даже смонтированные разделы. Используете ее с осторожностью.
  • -s – показывает прогресс сканирования в консоли в процентах и счетчик найденных битых секторов.
  • -i – позволяет передавать список ранее обнаруженных bad-блоков, используется в основном при повторных проверках с целью экономии времени.
  • -p – задает количество циклов проверки, по умолчанию проводится только один тест.
  • -w – если указать этот ключ, данные в секторах будут полностью перезаписаны (удалены).

Утилита badblocks не устраняет проблему bad-блоков, она предназначается для их обнаружения.

Для «исправления» мы рекомендуем использовать Windows-программу Victoria, в ней вы можете выполнить процедуру ремапинга – переноса данных с битых секторов (если они еще читаются) в исправные области диска с одновременным присвоением bad-блокам специальной метки, указывающей операционной системе, что использовать их более не следует.

В Linux для присвоения такой метки вы можете использовать встроенные консольные утилиты fsck или e2fsck, передав им созданный badblocks список поврежденных секторов.

Для этого используйте команду:

sudo e2fsck -l ~/bad_sectors.txt /dev/sdb1

E2fsck

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

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

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