Linux

Как диагностировать и проверить здоровье диска в Linux

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

Обновлено 15 февраля 2026 г.
5-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+CentOS 7+Fedora 35+

Введение

Проверка здоровья диска — критически важная процедура для любого пользователя Linux, будь то домашний ПК или сервер. Со временем накопители (HDD или SSD) могут developing скрытые ошибки, которые lead к внезапному отказу и потере данных. С помощью технологии SMART и утилиты smartctl вы можете диагностировать состояние диска заранее, предотвращая катастрофические сбои. Этот гайд проведет вас через простые шаги по проверке здоровья диска в Linux.

Требования

Перед началом убедитесь, что:

  • У вас есть доступ к терминалу Linux с правами sudo.
  • Установлен пакет smartmontools. Если нет, первый шаг покажет, как установить.
  • Вы знаете идентификатор вашего диска (например, /dev/sda). Будьте осторожны: операции с неправильным диском могут привести к потере данных.

Шаг 1: Установка smartmontools

Утилита smartctl входит в пакет smartmontools. Если он не установлен, установите его через менеджер пакетов вашего дистрибутива.

Для Ubuntu/Debian:

sudo apt update
sudo apt install smartmontools

Для CentOS/RHEL:

sudo yum install smartmontools

Для Fedora:

sudo dnf install smartmontools

Для Arch Linux:

sudo pacman -S smartmontools

После установки проверьте версию: smartctl --version.

Шаг 2: Определение диска

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

lsblk

Вывод покажет все диски и разделы. Обычно основной диск — /dev/sda или /dev/nvme0n1 для NVMe. Для более подробной информации используйте sudo fdisk -l.

💡 Совет: Если у вас несколько дисков, проверяйте каждый, который содержит важные данные.

Запишите идентификатор диска (например, /dev/sda). Все последующие команды используйте с этим идентификатором.

Шаг 3: Проверка общего состояния здоровья

Теперь выполните быструю проверку общего состояния:

sudo smartctl -H /dev/sda

Замените /dev/sda на ваш диск.

Пример вывода:

smartctl 7.2 2021-04-09 r5141 [x86_64-linux-5.4.0-80-generic] (local build)
Copyright (C) 2002-21, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

⚠️ Важно: Если результат FAILED, диск уже имеет проблемы и может выйти из строя в любой момент. Немедленно создайте резервную копию и планируйте замену.

Если PASSED, это хороший знак, но не гарантия. Продолжайте с детальной проверкой.

Шаг 4: Просмотр подробных SMART-атрибутов

Для более глубокого анализа просмотрите все SMART-атрибуты:

sudo smartctl -A /dev/sda

Вывод будет длинным. Обратите внимание на следующие ключевые атрибуты (значения могут отличаться для HDD и SSD):

  • Reallocated_Sector_Ct: количество секторов, переназначенных на резервные. Ненулевое значение указывает на износ диска.
  • Current_Pending_Sector: секторы, ожидающие переназначения. Высокое значение — признак проблем.
  • Uncorrectable_Sector_Ct: секторы с неисправимыми ошибками. Должно быть 0.
  • SMART 5: Reallocated_Sector_Ct и SMART 187: Reported_Uncorrect для SSD.

Пример:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
197 Current_Pending_Sector 0x0032   100   100   000    Old_age   Always       -       0
198 Uncorrectable_Sector_Ct 0x0030   100   100   000    Old_age   Offline      -       0

Если RAW_VALUE для этих атрибутов больше 0, диск требует внимания.

Шаг 5: Запуск тестов накопителя

SMART позволяет запускать самотестирование диска. Есть два основных типа: короткий (short) и длинный (long). Короткий тест проверяет основные компоненты и занимает несколько минут. Длинный тест — полная проверка всех секторов, может длиться часы.

Запустите короткий тест:

sudo smartctl -t short /dev/sda

Для длинного теста:

sudo smartctl -t long /dev/sda

После запуска тест выполняется в фоне. Проверить прогресс и результаты можно командой:

sudo smartctl -l selftest /dev/sda

Вывод покажет историю тестов. Ищите строку с Completed и No error или Finished without error.

💡 Совет: Запускайте тесты в период низкой нагрузки на диск, особенно длинный, чтобы не влияло на производительность.

Шаг 6: Анализ результатов и действия

Соберите всю информацию:

  1. Общий статус здоровья: должен быть PASSED.
  2. Критические SMART-атрибуты: должны быть 0 или низкие.
  3. Результаты самотестирования: должны быть без ошибок.

Если любой из этих пунктов показывает проблемы:

  • Немедленно создайте полную резервную копию всех данных с диска.
  • Запланируйте замену диска в ближайшее время.
  • Для серверов рассмотрите возможность миграции на новый носитель.

Если все показатели в норме, диск здоров. Рекомендуется повторять проверку раз в 1-3 месяца.

Проверка результата

После выполнения всех шагов, вы должны иметь четкое представление о состоянии диска. Убедитесь, что:

  • Команда sudo smartctl -H /dev/sda показала PASSED.
  • Нет растущих значений в критических атрибутах.
  • Самотестирование завершилось без ошибок.

Если все условия выполнены, диск считается работоспособным. В противном случае, действуйте согласно рекомендациям в шаге 6.

Возможные проблемы

При выполнении проверки могут возникнуть следующие issues:

  • Ошибка доступа: Если вы видите smartctl: Permission denied или Unable to get SMART data, убедитесь, что используете sudo или запускаете от root.
  • Диск не поддерживает SMART: Некоторые старые или внешние диски могут не поддерживать SMART. В этом случае smartctl сообщит об этом. Для таких дисков используйте другие методы диагностики, например, badblocks или мониторинг системных логов.
  • Тест не запускается: Если smartctl -t возвращает ошибку, диск может быть занят или иметь аппаратные проблемы. Попробуйте перезагрузить систему или проверить кабели.
  • Ложные срабатывания: Некоторые атрибуты могут иметь ненулевые значения из-за manufacturing особенностей. Сравнивайте с порогами (THRESH) и трендом (WORST). Резкие изменения — повод для беспокойства.

💡 Совет: Регулярно отслеживайте изменения SMART-атрибутов. Можно настроить автоматические отчеты через cron, используя smartctl -A и анализируя вывод.

Часто задаваемые вопросы

Что такое SMART и зачем он нужен?
Как часто нужно проверять здоровье диска?
Что делать, если SMART тест показывает ошибки?
Можно ли проверить здоровье диска без прав root?

Полезное

Установка smartmontools
Определение диска
Проверка общего состояния здоровья
Просмотр подробных SMART-атрибутов
Запуск тестов накопителя
Анализ результатов и действия