Проверка целостности жесткого диска является важной задачей для поддержания работоспособности и надежности компьютера. Поврежденные сектора или блоки дисков могут привести к потере данных и нестабильности в работе операционной системы, поэтому очень важно своевременно их выявлять и устранять. В Linux существуют различные инструменты и команды, позволяющие обнаруживать и анализировать плохие сектора на дисковых накопителях.
В этой статье мы рассмотрим два способа проверки поврежденных секторов или блоков на жестком диске в Linux.
Содержание:
Используйте команду badblocks
Утилита badblocks определяет поврежденные сектора или блоки на устройстве хранения данных (например, на жестком диске). Она выполняет проверку на чтение / запись заданных блоков для обнаружения ошибок и несоответствий. Команда также предоставляет ряд опций:
-b— указывает размер блока для тестирования;-c— задает количество блоков, которые будут тестироваться за один раз;-w— записывает определенные шаблоны на указанные блоки и считывает их для проверки целостности;-n— считывает указанные блоки без изменения данных, позволяя проверить их на наличие возможных ошибок;-s— показывает прогресс тестирования в реальном времени, отображая текущий статус и количество обработанных блоков;-v— предоставляет подробную информацию о процессе тестирования и любых обнаруженных ошибках;-o— указывает файл для вывода, в котором будут сохранены результаты теста.
Перед запуском команды badblocks стоит проверить, из каких разделов состоит жесткий диск компьютера. Для этого воспользуемся утилитой fdisk с параметром -l:
Читайте также: 5 лучших менеджеров разделов / Partition Manager (CLI + GUI) для Linux.
Как видно на скриншоте, диск /dev/sda разбит на три раздела — /dev/sda1, /dev/sda2 и /dev/sda5.
Допустим, нам нужно просканировать /dev/sda1 на наличие поврежденных блоков. Для этого выполним команду:
Также мы использовали опцию -v для отображения подробной информации о процессе тестирования. Чтобы сохранить детали проверки диска, можно записать результат работы badblocks в файл с помощью параметра -o или перенаправления ввода / вывода. Например:
Или:
Используйте набор приложений Smartmontools
Smartmontools — это набор инструментов командной строки, предназначенных для мониторинга / анализа данных технологии SMART с жестких дисков (HDD), твердотельных накопителей (SDD) и так далее. SMART — это технология, позволяющая устройствам хранения данных самостоятельно отслеживать свое состояние и сообщать о различных характеристиках, связанных с их надежностью и производительностью.
Пакет Smartmontools включает в себя несколько утилит, в том числе smartctl и smartd. Первая используется для запроса и получения SMART-информации с устройств хранения данных. Вторая отслеживает статус оборудования и может выдавать предупреждения или выполнять другие действия в зависимости от заданных условий.
Smartmontools не предустановлен в большинстве дистрибутивов Linux. Поэтому для его установки выполните одну из следующих команд.
Для Debian / Ubuntu:
Для RHEL / CentOS:
Читайте также: 9 инструментов для мониторинга разделов в Linux.
Для проверки целостности диска мы будем использовать команду smartctl с параметром -H (или --health). Эта опция позволяет получить общую информацию о состоянии устройства хранения данных в соответствии с SMART. В результате smartctl -H обычно выдает одно из следующих состояний:
PASSEDилиOK— не обнаружено существенных проблем или ошибок, состояние устройства считается хорошим;FAILED— обнаружены критические проблемы или ошибки, состояние устройства считается неудовлетворительным;UNKNOWN— невозможность предоставления информации, данные SMART недоступны или не поддаются интерпретации.
Для примера проверим на целостность раздел /dev/sda1:
Выводы
Использование инструментов badblocks и smartctl позволяет выявлять и устранять потенциальные проблемы с устройствами хранения данных на ранних стадиях. Регулярная проверка дисков поможет предотвратить потерю данных. Для точной диагностики и устранения обнаруженных проблем обязательно следуйте рекомендованным процедурам и обращайтесь к соответствующей документации или профессиональной помощи.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.




























