HDD / SSDLinux

Как проверить диск на ошибки и bad sectors в Linux: SMART, dmesg и badblocks

Если Linux сообщает об ошибках ввода-вывода, система зависает при работе с диском или SMART показывает ухудшение состояния накопителя, не начинайте с длительного теста записи. Сначала сохраните важные данные и соберите диагностику, которая не изменяет содержимое диска.

Определите нужный накопитель

lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINTS

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

Посмотрите ошибки ядра

dmesg -T | grep -Ei 'error|fail|ata|nvme|i/o'

Повторяющиеся I/O error, reset, timeout и ошибки интерфейса могут указывать как на сам накопитель, так и на кабель, питание или контроллер.

Проверьте SMART

sudo smartctl -a /dev/sdX

Для HDD обращайте внимание на переназначенные и ожидающие переназначения сектора, а также необрабатываемые ошибки. Для SSD и NVMe набор показателей другой, поэтому оценивайте отчёт целиком и учитывайте документацию производителя.

Неразрушающая проверка badblocks

sudo badblocks -sv /dev/sdX

Режим только чтения не должен использоваться как единственный критерий исправности, но может помочь выявить нечитаемые блоки на HDD. Проверка большого диска занимает много времени.

Почему опасен badblocks -w

Не запускайте badblocks -w на диске с нужными данными. Режим записи записывает тестовые шаблоны в каждый блок и уничтожает существующее содержимое. Его применяют только к диску, данные на котором можно полностью потерять.

Если ошибки уже появились

При важных данных приоритет — резервная копия или создание образа, а не многократные стресс-тесты. Если SMART ухудшается, появляются новые нечитаемые сектора или диск периодически исчезает из системы, накопитель разумнее заменить. Для SSD/NVMe классический поиск bad sectors обычно менее полезен, чем SMART/health-данные и диагностика производителя.

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

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