Проверка диска на битые секторы в Linux
Любой компьютер — сложное устройство, которые состоит из множества компонентов и никто не застрахован от сбоев любого из них. В этой статье мы рассмотрим как своевременно распознать одну из серьезных проблем с устройствами хранения информации, будь то жесткий диск или flash-накопитель, как выполняется проверка диска на битые секторы linux.
Любой накопитель состоит из множества маленьких блоков (секторов), которые хранят информацию в виде нулей или единиц (битов). Если, по какой-то причине, операционная система не может записать бит информации в определенный сектор, то можно считать его «битым».
Сектор может стать битым по разным причинам:
- Заводской брак
- Выключение питание компьютера во время записи информации.
- Физический износ накопителя.
Небольшое количество битых секторов находится практически на любом накопителе. Но стоит обратить внимание,если их количество со временем увеличивается. Это может говорить о скорой физической смерти накопителя и Вам пора задуматься о его замене.
Давайте рассмотрим, при помощи каких утилит в Linux мы можем проверить диск на битые секторы linux.
Проверка накопителя на битые секторы средствами badblocks.
Badblocks — стандартная утилита Linuх для проверки на битые секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как жесткий диск, так и внешний накопитель.
Для начала давайте посмотрим, какие накопители подключены к нашей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Естественно, что выполнять команды нужно с правами суперпользователя:
Параметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти.
Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы будем использовать утилиту badblocks следующим образом:
sudo badblocks -v /dev/sda1 > badsectors.txt
Для проверки мы указываем следующие параметры:
- -v — подробный вывод информации о результатах проверки.
- /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
- > badsectors.txt — выводим результат выполнения команды в файл badsectors.txt.
Если же в результате были найдены битые секторы, то нам надо дать указание операционной системе не записывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
- e2fsck. Если мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
- fsck. Если мы будем исправлять файловую систему, отличную от ext.
Вводим следующие команды:
sudo e2fsck -l badsectors.txt /dev/sda1
Или, если у нас файловая система не ext:
sudo fsck -l badsectors.txt /dev/sda1
Параметром -l мы говорим утилите использовать список битых секторов из файла badsectors.txt, который мы получили ранее при проверке с помощью утилиты badblocks.
Проверка накопителя на битые секторы в Linux в smartmontools
Теперь давайте рассмотрим более современный и надежный способ проверить диск на битые секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая производит мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools.
Давайте сначала ее установим. Если ваш дистрибутив основан на Debian\Ubuntu, то вводите:
sudo apt install smartmontools
Если же у Вас дистрибутив на основе RHEL\CentOS, то вводите:
sudo yum install smartmontools
Теперь, когда мы установили smartmontools мы можем посмотреть станицу помощи, с помощью команды:
Давайте перейдем к работе с утилитой. Вводим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
sudo smartctl -H /dev/sda1
Как видим, проверка диска на битые секторы linux завершена и утилита говорит нам, что с накопителем все в порядке!
Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.
Выводы
В этой статье мы рассмотрели способы проверки накопителей на наличие битых секторов под Linux для того,чтобы вовремя предусмотреть возможные сбои и не потерять данные.
Нет похожих записей
Оцените статью:
Об авторе
12 комментариев
Для любителей гуя есть gsmartcontrol
Какие нахрен битые сектора. в каком веке живете? Или вы про Self тест?
А в каком веке перестали сыпаться ХДД?
Если ты настолько туп что не понимаешь что такое бэд блоки, то какого хрена ты вообще тут пишешь
Ты будешь очень удивлен, когда узнаешь, что битые сектора еще на стадии производства жестких дисков появляются. Причина этого: несовершенство технологии производство, как бы не парадоксально это звучало. По этой же причине с одной матрицы, на которой выращивают процессора получают как сверхвысокопроизводительные процессора с высокой стоимостью, так и самые дешевые целерончики. Так вот, те битые сектора, которые определяют еще на производстве помечают и заносят в специальный список. который хранится, в зависимости от производителя харда или в специальном разделе, или во флешпамяти или там и там. Наличие заводских бэдов подтверждает график чтения диска. Его можно увидеть прогнав новый диск (из заводской упаковки) какой нибудь утилитой типа Виктории или МХДД. Провалы в графике чтения, который представляет собой логарифмическую кривую это и есть подтверждение наличия заводских сбойных секторов: то есть на этих областях головка харда переходит по указанному адресу. То есть там алгоритм такой: головка доходит до нужного адреса на диске: считывает с него инфу, и если видит что-то подобное: этот блок сбойный, если вы хотите что-то записать, то вместо него работает вооон тот блок, расположенный воооон там.
э
Уважаемый автор, что-то я не понял про «просто» fsck. У него параметром «-l» не подставляется файл от «badblocks» с перечнем битых секторов, а выполняется совсем другая операция.
Может подскажете что теперь делать в этом случае? Т. е. например у меня флэшка битая и файловая система там не ext, и в наличии только консоль.
Проверка HDD/SSD/USB flash на бэд-блоки на Linux.
Сегодня в статье рассмотрим, как в Linux проверить ваш HDD,SSD или USB флешку на битые сектора — Бэд-блоки.
Бэд-блок (англ. bad block) — испорченный кластер (единица хранения данных) дискового носителя информации, куда нельзя записать информацию.
Проверка HDD на бэд-блоки программой badblocks.
Badblocks — стандартная утилита Linux для проверки на битые секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как жесткий диск, так и внешний накопитель.
Но для начала воспользуемся ещё одной стандартной утилитой для просмотра подключенных накопители к нашей системе — fdisk.
- -l — показать список разделов и выйти.
Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы программой badblocks:
- -v — вывод подробной информации о результатах проверки.
- -s — отображать в правильном порядке ход проверки блоков.
- /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
- >
/badblocks.txt — выводим результат выполнения команды в файл badblocks.txt расположенный в корневом каталоги пользователя.
Если же в результате были найдены битые секторы, то нам надо дать указание операционной системе не записывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
- e2fsck. Если мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
- fsck. Если мы будем исправлять файловую систему, отличную от ext.
Вводим следующие команды:
Или, если у нас файловая система не ext:
Если после ввода данных команд вы получаете что-то вроде этого:
Значит данные операции надо выполнить в командной строке до загрузки операционной системы. Для этого выполним следующее:
В конце файла дописываем следующие строки:
Теперь перезагружаем ПК:
Проверка HDD на бэд-блоки на Linux с помощью smartmontools
Теперь давайте рассмотрим более современный и надежный способ проверить диск на битые секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая производит мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools.
Давайте сначала ее установим. Если ваш дистрибутив основан на Debian\Ubuntu, то вводите:
Если же у Вас дистрибутив на основе RHEL\CentOS, то вводите:
Теперь, когда мы установили smartmontools мы можем посмотреть страницу помощи, с помощью команды:
Давайте перейдем к работе с утилитой. Вводим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
Как видим, проверка диска на битые секторы linux завершена и утилита говорит нам, что с накопителем все в порядке!
Ещё одна команда, если SMART поддерживается, то добавляем -s. Если он не поддерживается или уже включён, то этот аргумент можно убрать.
Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.
Проверка HDD на бэд-блоки на Linux с помощью GParted
GParted как раз для тех, кому текстовый интерфейс не по душе. Утилита выполняет большое количество задач, связанных с работой HDD на Ubuntu и всех Debian-подобных системах. В их число входит и проверка диска на ошибки.
Для начала нам нужно скачать и установить GParted. Вводим следующую команду, чтобы выполнить загрузку из официальных репозиториев:
- Открываем приложение. На главном экране сразу же выводятся все носители. Если какой-то из них помечен восклицательным знаком, значит, с ним уже что-то не так.
- Щёлкаем по тому диску, который хотим проверить.
- Жмём на кнопку «Разделы», расположенную сверху.
- Выбираем «Проверка на ошибки».
Программа отсканирует диск. В зависимости от его объёма процесс может занять продолжительное время. После сканирования Вы будете оповещены о его результатах.
Safecopy
Это уже та программа, которую впору использовать на тонущем судне. Если мы осведомлены, что с нашим диском что-то не так, и нацелены спасти как можно больше выживших файлов, то Safecopy придёт на помощь. Её задача как раз заключается в копировании данных с повреждённых носителей. Причём она извлекает файлы даже из битых блоков.
Переносим файлы из одной директории в другую. Выбрать можно любую другую. В данном случае мы переносим данные с диска sda в папку home.
Если есть вопросы, то пишем в комментариях.