Для сохранения и управления данными на персональном компьютере обычно применяются накопители типа HDD или SSD. Пользователи сохраняют на них различные файлы, включая фотографии, видео, книги, игры и другие материалы. Однако, что предпринять, когда жесткий диск начинает демонстрировать ошибки или, что еще хуже, становится нечитаемым для операционной системы? В этой статье будет рассмотрено, как проводить проверку жесткого диска на наличие поврежденных секторов в операционных системах семейства Linux, с конкретным примером использования Ubuntu 18.04.3.
Что такое битый сектор?
Прежде всего, рассмотрим, что такое проблема с повреждённым сектором. Сектор — это минимальная единица на носителе данных, отвечающая за процессы чтения и записи. Термин «повреждённый» используется, когда данный элемент перестаёт отвечать на команды операционной системы.
Существует две основные категории повреждений: физические и логические. В случае физических повреждений предполагается, что сектор диска неисправен в результате механических дефектов или прямых физических воздействий, таких как повреждение от головки чтения/записи, падение жесткого диска на твердую поверхность или попадание влаги.
Логические повреждения диска связаны с секторами, которые операционная система не может прочитать. При попытке доступа к таким секторам возникает ошибка, и они маркируются как нерабочие. Однако есть приятная новость: логические ошибки могут быть исправлены.
Зачем нужна проверка диска?
В некоторых ситуациях проверка носителя может исправить ошибки, восстанавливая функциональность рабочей станции до ее прежнего состояния. Каждая операционная система оснащена программным средством для диагностики состояния дисков, однако сторонние разработчики предлагают более продвинутые инструменты.
Программы для проверки диска
Давайте обсудим некоторые приложения, предназначенные для операционных систем Linux.
Badblocks
В английском языке поврежденные сектора диска обозначаются термином «badblocks», что и стало основой для наименования соответствующей утилиты. Эта утилита входит в состав любой версии Linux. Прежде чем запустить утилиту, необходимо установить количество жестких дисков, которые доступны в операционной системе. Для этого введите в терминале следующую команду.
Команда `sudo fdisk -l` позволяет просмотреть информацию о разделах диска в системе.
Данные представлены в структурированном списке, где каждая секция сопровождается детальным описанием.
Давайте запустим программу, предназначенную для коррекции ошибок.
sudo badblocks -v /dev/sda1 > badsectors.txt
Синтаксис интерпретируется таким образом:
- Badblocks -v. Утилита после операции выдает подробную информацию.
- /dev/sda1 – раздел, приложение проверяет.
- badsectors.txt – файл, в который утилита отправляет результат проверки. Имя придумывается произвольное.
При обнаружении поврежденных секторов на диске, выбор утилиты для их исправления будет зависеть от используемой файловой системы. Для большинства домашних систем Linux, работающих с файловой системой Ext, рекомендуется использовать утилиту e2fsck. В случае использования другой файловой системы, следует применить альтернативный инструмент fsck.
По умолчанию оба варианта включены в состав операционной системы.
Выполняем ввод команды в терминале.
Выполните проверку файловой системы с использованием списка плохих секторов, используя команду: `sudo e2fsck -l список_плохих_секторов.txt /dev/sda1`.
либо
Выполните проверку системы файлов с указанием списка поврежденных секторов, используя команду: `sudo fsck -l badsectors.txt /dev/sda1`.
Ключ -I указывает на то, что инструмент собирает информацию о повреждённых секторах диска из файла badsectors.txt и затем предпринимает попытки их исправить.
SMARTMONTOOLS
Альтернативный метод диагностики жесткого диска заключается в использовании программного обеспечения Smartmontools. Данное приложение взаимодействует с встроенным микропрограммным обеспечением жестких дисков, известном как S.M.A.R.T., которое при запуске компьютера выполняет автоматический контроль диска на предмет обнаружения ошибок и неисправностей.
Данное приложение не является частью базового набора программ, поэтому мы предстоит его установить.
Установите инструменты для мониторинга SMART с помощью следующей команды: `sudo apt-get install smartmontools`.
После завершения установки, запустите приложение, предоставляя ему права администратора.
Выполните команду smartctl с параметром -H для проверки состояния жёсткого диска /dev/sda1.
Система ПО будет извлекать данные из диагностики S.M.A.R.T и предоставлять их в виде отчета в консоли пользователя.
Для получения доступа к дополнительным возможностям программы, рекомендуется применять команду man.
Человек использует утилиту smartctl для управления и мониторинга состояния жестких дисков.
Для получения детальной информации о жёстком диске можно применить ключ -a или -all.
Gparted
Третий подход к проверке заключается в использовании программы Gparted, предназначенной для разбивки носителя. Для установки этой программы необходимо выполнить следующие команды:
Установите программу GParted на ваш компьютер, используя следующую команду в терминале: `sudo apt-get install gparted`.
Установка завершится не более чем за две минуты.
Важно! Для обеспечения доступа ко всем возможностям программного обеспечения необходимо запустить его с правами администратора.
Проверка состояния жесткого диска
Щелкаем правой кнопкой мыши по логическому тому и выбираем пункт «Проверка» (Check). В нижней части экрана отобразится информация о предстоящей операции.
Выполнение действий в программном обеспечении
Нажмите значок с изображением синей стрелки, расположенный на предыдущем изображении, для запуска проверки. Время выполнения данного процесса может составлять несколько часов.
Важным условием является проведение проверок и подобных операций исключительно на логическом томе, находящемся в неактивном состоянии.
При возникновении битых секторов на системном диске, можно прибегнуть к использованию загрузочного USB-накопителя с Live Ubuntu. Таким образом, формируется виртуальный жесткий диск, на котором функционирует операционная система Ubuntu.
Заключение
В статье рассматривается процесс диагностики жесткого диска в операционных системах Linux на предмет повреждений секторов и предлагаются методы их устранения.