Одно из самых важных устройств компьютера — это жесткий диск, именно на нём хранится операционная система и вся ваша информация. Единица хранения информации на жестком диске — сектор или блок. Это одна ячейка в которую записывается определённое количество информации, обычно это 512 или 1024 байт.
Битые сектора, это повреждённые ячейки, которые больше не работают по каким либо причинам. Но файловая система всё ещё может пытаться записать в них данные. Прочитать данные из таких секторов очень сложно, поэтому вы можете их потерять. Новые диски SSD уже не подвержены этой проблеме, потому что там существует специальный контроллер, следящий за работоспособностью ячеек и перемещающий данные из нерабочих в рабочие. Однако традиционные жесткие диски используются всё ещё очень часто. В этой статье мы рассмотрим как проверить диск на битые секторы Linux.
Для поиска битых секторов можно использовать утилиту badblocks. Если вам надо проверить корневой или домашний раздел диска, то лучше загрузится в LiveCD, чтобы файловая система не была смонтирована. Все остальные разделы можно сканировать в вашей установленной системе. Вам может понадобиться посмотреть какие разделы есть на диске. Для этого можно воспользоваться командой fdisk:
sudo fdisk -l /dev/sda1

Или если вы предпочитаете использовать графический интерфейс, это можно сделать с помощью утилиты Gparted. Просто выберите нужный диск в выпадающем списке:

В этом примере я хочу проверить раздел /dev/sda2 с файловой системой XFS. Как я уже говорил, для этого используется команда badblocks. Синтаксис у неё довольно простой:
$ sudo badblocks опции /dev/имя_раздела_диска
Давайте рассмотрим опции программы, которые вам могут понадобится:
- -e — позволяет указать количество битых блоков, после достижения которого дальше продолжать тест не надо;
- -f — по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;
- -i — позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;
- -n — использовать безопасный тест чтения и записи, во время этого теста данные не стираются;
- -o — записать обнаруженные битые блоки в указанный файл;
- -p — количество проверок, по умолчанию только одна;
- -s — показывать прогресс сканирования раздела;
- -v — максимально подробный режим;
- -w — позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.
Таким образом, для обычной проверки используйте такую команду:
sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Это безопасно и её можно выполнять на файловой системе с данными, она ничего не повредит. В принципе, её даже можно выполнять на смонтированной файловой системе, хотя этого делать не рекомендуется. Если файловая система размонтирована, можно выполнить тест с записью с помощью опции -n:
sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
После завершения проверки, если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные. Для этого используйте утилиту fsck и опцию -l:
fsck -l ~/bad_sectors.txt /dev/sda1
Если на разделе используется файловая система семейства Ext, например Ext4, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck. Например:
sudo e2fsck -cfpv /dev/sda1
Параметр -с позволяет искать битые блоки и добавлять их в список, -f — проверяет файловую систему, -p — восстанавливает повреждённые данные, а -v выводит всё максимально подробно.
Выводы
В этой статье мы рассмотрели как выполняется проверка диска на битые секторы Linux, чтобы вовремя предусмотреть возможные сбои и не потерять данные. Но на битых секторах проблемы с диском не заканчиваются. Там есть множество параметров стабильности работы, которые можно отслеживать с помощью таблицы SMART. Читайте об этом в статье Проверка диска в Linux.

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
![]()
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Когда, при загрузке, операционная система сообщает о наличии ошибок в файловой системе на одном из разделов, то заслуживает незамедлительно сделать в linux проверку диска на ошибки. Любой уважающий себя user не должен забывать, что периодическая проверка жестких дисков на битые сектора и проверка атриторен на ошибки является примером здравого смысла. Для проверки разделов жесткого диска советуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на основной массе операционных систем семейства Linux.
Примером хорошего тона и здравого резона является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная испытание диска на ошибки записи и т.п. Разберёмся что такое битые сектора. Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или не внушающий доверие сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в текстурах файловой системы операционной системой. Следовательно, если в битом секторе были этые, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла. Собрать список битых секторов можно с помощью команды badblocks.
Содержание статьи
- 1 Проверка диска на колоченные секторы в linux с помощью badblocks
- 2 Исправление ошибок файловой системы fsck
- 3 Проверка диска на битые секторы в linux с поддержкою smartmontools
Проверка диска на колоченные секторы в linux с помощью badblocks
Badblocks — стандартная утилита Linuх для проверки (Тестирование Инвентаризация Допинг-контроль Проверка подлинности Служебная проверка Проверка орфографии Проверка на дорогах Камеральная налоговая проверка Выездная налоговая проверка Проверка) на колоченные секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как твердый диск, так и внешний накопитель. Для начала давайте посмотрим, какие накопители подключены к ушей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Собрать список битых секторов можно с помощью команды badblocks.
Делается это так:
sudo badblocks -v /dev/hda1 > ~/badblocks.list
Где /dev/hda1 — это разоблачил диска, что вы хотите проверить.
Желательно делать проверку в однопользовательском режиме, когда это не внешний диск. Тогда его просто стоит отмонтировать. После этого мы можем швырнуть утилиту fsck, явно указав ей список битых секторов для того, чтобы она их подметить как «битые» и попыталась восстановить с них данные. Делается это так:
sudo fsck -t ext4 -l ~/badblocks.list /dev/hda1
Где ext4 — это тип файловой системы нашего разоблачила диска, а /dev/hda1 — сам раздел диска.
Естественно, что выполнять команды нужно с правами суперпользователя.
sudo fdisk -l
Метеопараметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти. Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы станем использовать утилиту badblocks следующим образом:
sudo badblocks -v /dev/sda1 > badsectors.txt
Если же в итоге были найдены битые секторы, то нам надо дать указание операционной системе не вписывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
e2fsck. Когда мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
fsck. Если мы станем исправлять файловую систему, отличную от ext.
Исправление ошибок файловой системы fsck
В моей а не твоей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как возможно проверить файловую систему на вашей ОС в Linux. Некоторым системам необходим пароль root дабы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В данном случае стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с иного диска. Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check).
На основной массе систем, Fsck запускается во время загрузки, если определенные условия. Код выхода ворачивается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, какая проверяется. В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), какие доступны на Linux. Файловая система (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство) для конкретных проверок ищет сначала в /sbin, а потом в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).
Запуск и исполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому применяйте данный материал на свой страх и риск.
Автор не несет ответственности за любой вред, который вы можете причинить. Fsck расшифровывается как «File System ChecK», то есть «испытание файловой системы» и используется для проверки и исправления файловых систем в Linux. В качестве верифицируемой ФС может быть задан раздел (например, /dev/sda1 или /dev/sda8), точка монтирования (/, /home, /usr), или же точна тома или UUID (например, UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd или LABEL=root).
Как обычно fsck пытается параллельно проверять файловые системы на нескольких разделах для уменьшения времени, нужного для проверки всех файловых систем. Arch Linux при загрузке автоматически будет бросать fsck для проверки систем, если выполняется одно из требований (например, 180 суток работы системы без проверки разделов или 30 монтирований оных). Обычно нет необходимости переопределять проем между проверками.
Для того, чтобы проверить диск в Linux на наличие опечаток файловой системы нам необходимо сначала выяснить имена файловых систем командой:
df -h
Дальше нам необходимо размонтировать файловую систему, которую мы будем проверять командой:
umount /dev/hda1
И сейчас запускаем утилиту проверки файловой системы и исправления ошибок на ней командой
fsck /dev/hda1
В том варианте, когда не представляется возможным размонтировать файловую систему, к примеру, когда нужно испробовать корневую файловую систему (/). Перезагрузиться в однопользовательском режиме (команда reboot, и при загрузке необходимо передать ядру параметр single). Перемонтировать корневую файловую систему в режиме «лишь чтение» командой.
mount -о remount rо -t ext3 /
Здесь параметр -о команды mount указывает на присутствие дополнительных опций. Опция remount rо означает перемонтировать в режиме «только чтение». Метеопараметр -t указывает тип файловой системы – ext3, а последний параметр – указывает что это корневая файловая система (/).
И сейчас проверить файловую систему
fsck -y -f -c /dev/hda1
Проверка диска на битые секторы в 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. Давайте перейдем к работе с утилитой. Включим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
sudo smartctl -H /dev/sda1
Как видим, проверка диска («круглое блюдо») — круг (низкий цилиндр) или предмет в виде круга) на битые секторы linux завершена и утилита говорит нам, что с накопителем все в распорядке! Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, дабы просмотреть информацию в том числе и об остальных параметрах накопителя.
1.Введите следующую команду, чтобы узнать список дисков, найти нужный диск/раздел и определить его файловую систему:
fdisk -l | more
2.Если хотите проверить, правильно ли выбрали диск по содержимому, выполните (например, касательно диска /dev/sda2):
# mount /dev/sda2 /mnt # ls /mnt # umount /mnt
3.В зависимости от файловой системы (см. результат команды fdisk из пункта 1) примените к диску следующую команду:
3.1 NTFS-диск
ntfsresize -i -f -v /dev/sda1
Хотя желательней выполнить проверку из-под Windows NT
chkdsk c: /f /r
3.2 ext2/3/4
e2fsck -f -y -v -C 0 /dev/sda7
- -f — принудительная проверка файловой системы, даже если по журналу она чистая;
- -y — отвечает на все вопросы об исправлении ошибок утвердительно, можно сказать, что это эквивалент a.*
- -v — максимально подробный вывод.
- -C — показать прогресс проверки файловой системы
3.3.FAT*
fsck.fat -a -w -v /dev/sdc1
С помощью Shift+PgUp/PgDn можно пролистывать консоль вверх/вниз.
Источник: информация была взята из программы Gparted.
Помощь по ALT Linux Rescue
Неисправный жёсткий диск — одно из самых неприятных явлений в работе компьютера. Мало того что мы легко можем потерять очень много важной информации и файлов, так и замена HDD неслабо бьёт по бюджету. Прибавим к этому потраченное время и нервы, которые, как известно, не восстанавливаются. Чтобы не дать проблеме застать нас врасплох и заранее диагностировать её, стоит знать, как проверить жёсткий диск на ошибки в ОС Ubuntu. Программных средств, предоставляющих такие услуги, предостаточно.

Как в Ubuntu протестировать жесткий диск на ошибки.
Проверка с помощью встроенного ПО
Совсем необязательно качать программы, чтобы выполнить проверку диска в Ubuntu. Операционная система уже обладает утилитой, которая предназначена для этой задачи. Называется она badblocks, управляется через терминал.
Открываем терминал и вводим:
sudo fdisk -l
Эта команда отображает информацию о всех HDD, которые используются системой.
После этого вводим:
sudo badblocks -sv /dev/sda
Команда служит уже для поиска повреждённых секторов. Вместо /dev/sda вводим имя своего накопителя. Ключи -s и -v служат для того, чтобы отображать в правильном порядке ход проверки блоков (s) и чтобы выдавать отчёт обо всех действиях (v).

Нажатием клавиш Ctrl + C мы останавливаем проверку жёсткого диска.
Для контроля за файловой системой можно также использовать две другие команды.
Для того чтобы размонтировать файловую систему, вводим:
umount /dev/sda
Для проверки и исправления ошибок:
sudo fsck -f -c /dev/sda
- «-f» делает процесс принудительным, то есть проводит его, даже если HDD помечен как работоспособный;
- «-c» находит и помечает бэд-блоки;
- «-y» — дополнительный вводимый аргумент, который сразу же отвечает Yes на все вопросы системы. Вместо него можно ввести «-p», он проведёт проверку в автоматическом режиме.
Программы
Дополнительное программное обеспечение также отлично справляется с этой функцией. А иногда даже лучше. Тем более что некоторым пользователям проще работать с графическим интерфейсом.
GParted
GParted как раз для тех, кому текстовый интерфейс не по душе. Утилита выполняет большое количество задач, связанных с работой HDD на Убунту. В их число входит и проверка диска на ошибки.

Для начала нам нужно скачать и установить GParted. Вводим следующую команду, чтобы выполнить загрузку из официальных репозиториев:
sudo apt-get install gparted
Установить программу легко и при помощи Центра загрузки приложений.
- Открываем приложение. На главном экране сразу же выводятся все носители. Если какой-то из них помечен восклицательным знаком, значит, с ним уже что-то не так.
- Щёлкаем по тому диску, который хотим проверить.
- Жмём на кнопку «Раздел», расположенную сверху.
- Выбираем «Проверка на ошибки».
Программа отсканирует диск. В зависимости от его объёма процесс может идти дольше или меньше. После сканирования мы будем оповещены о его результатах.
Smartmontools
Это уже более сложная утилита, которая выполняет более серьёзную проверку HDD по различным параметрам. Как следствие, управлять ей тоже сложнее. Графический интерфейс в Smartmontools не предусмотрен.

Качаем программу:
aptitude install smartmontools
Смотрим, какие накопители подключены к нашей системе. Обращать внимание нужно на строчки, оканчивающиеся буквой, а не цифрой. Именно в этих строках содержится информация о дисках.
ls -l /dev | grep -E ‘sd|hd’
Вбиваем команду для выведения подробной информации о носителе. Стоит посмотреть на параметр ATA. Дело в том, что при замене родного диска, лучше ставить устройство с тем же либо большим ATA. Так можно максимально раскрыть его возможности. А также посмотрите и запомните параметры SMART.
smartctl —info /dev/sde
Запускаем проверку. Если SMART поддерживается, то добавляем «-s». Если он не поддерживается или уже включён, то этот аргумент можно убрать.
smartctl -s on -a /dev/sde
После этого смотрим информацию под READ SMART DATA. Результат может принимать два значения: PASSED или FAILED. Если выпало последнее, можно начинать делать резервные копии и искать замену винчестеру.
Этим возможности программы не исчерпываются. Но для однократной проверки HDD этого будет вполне достаточно.
Safecopy
Это уже та программа, которую впору использовать на тонущем судне. Если мы осведомлены, что с нашим диском что-то не так, и нацелены спасти как можно больше выживших файлов, то Safecopy придёт на помощь. Её задача как раз заключается в копировании данных с повреждённых носителей. Причём она извлекает файлы даже из битых блоков.
Устанавливаем Safecopy:
sudo apt install safecopy
Переносим файлы из одной директории в другую. Выбрать можно любую другую. В данном случае мы переносим данные с диска sda в папку home.
sudo safecopy /dev/sda /home/
Бэд-блоки
У некоторых могут возникнуть вопросы: «что такое эти битые блоки и откуда они, вообще, взялись на моём HDD, если я его ни разу не трогал?» Bad blocks, или бэд-секторы — разделы HDD, которые больше не читаются. Во всяком случае так они по объективным причинам были помечены файловой системой. И скорее всего, с диском в этих местах действительно что-то не так. «Бэды» встречаются как на старых винчестерах, так и на самых современных, поскольку работают они практически по тем же самым технологиям.

Появляются же сбойные секторы по разным причинам.
- Прерывание записи из-за отключения питания. Вся информация, поступающая на жёсткий диск, разбивается в виде единиц и нулей на самые разные его части. Сбить этот процесс — значит сильно запутать винчестер. После такого сбоя может нарушиться загрузочный сектор и тогда система вообще не запускается.
- Некачественная сборка. Тут и говорить нечего. У дешёвого китайского устройства полететь может что угодно.
Теперь вы знаете, как сканировать HDD на ошибки. Проверка диска как на Ubuntu, так и на других системах довольно важная операция, которую стоит проводить хотя бы раз в год.
Как проверить жесткий диск на наличие плохих секторов или блоков в Linux
- Шаг 1) Используйте команду fdisk для определения информации о жестком диске. Запустите команду fdisk, чтобы вывести список всех доступных жестких дисков для операционной системы Linux. …
- Шаг 2) Просканируйте жесткий диск на наличие плохих секторов или плохих блоков. …
- Шаг 3) Сообщите ОС, чтобы она не использовала плохие блоки для хранения данных. …
- 8 мыслей о «Как проверить жесткий диск на наличие плохих секторов или блоков в Linux»
31 колода 2020 г.
Как проверить наличие битых секторов?
Используйте встроенную в Microsoft Windows утилиту проверки ошибок.
- Дважды щелкните (Мой) компьютер и щелкните правой кнопкой мыши жесткий диск.
- В контекстном меню щелкните «Свойства» и перейдите на вкладку «Инструменты» в диалоговом окне «Свойства».
- Щелкните Проверить сейчас в области состояния проверки ошибок.
Как запустить chkdsk в Linux?
Если ваша компания использует операционную систему Ubuntu Linux, а не Windows, команда chkdsk работать не будет. Эквивалентная команда для операционной системы Linux — «fsck». Вы можете запускать эту команду только на дисках и файловых системах, которые не смонтированы (доступны для использования).
Как исправить битые сектора Linux?
Как исправить плохие сектора в Linux
- Загрузите и запишите Ubuntu на DVD. …
- Перезагрузите компьютер и загрузитесь с DVD или другой системы.
- Откройте окно терминала.
- Введите «fdisk -l» (без кавычек), чтобы увидеть имена жесткого диска и устройства раздела. …
- Введите следующую команду: sudo e2fsck -cfpv / dev / sdb2.
Как очистить поврежденные сектора на жестком диске?
Исправление программных / логических плохих секторов в Windows
- Запустите команду CHKDSK и отформатируйте жесткий диск. …
- Запустите команду CHKDSK, чтобы исправить программно поврежденные сектора. …
- Снова отформатируйте жесткий диск, чтобы его можно было использовать. …
- Воспользуйтесь бесплатным инструментом проверки и восстановления диска, чтобы исправить поврежденные сектора.
12 мар. 2021 г.
Сколько плохих секторов приемлемо?
Единственное допустимое количество сбойных секторов, которое может найти ОС, — ноль. Замените диск.
Исправляет ли chkdsk поврежденные сектора?
Утилита Check Disk, также известная как chkdsk (поскольку это команда, которую вы используете для ее запуска), просматривает весь ваш жесткий диск, чтобы найти и исправить проблемы. … Chkdsk пытается решить эти проблемы путем восстановления программных сбойных секторов и маркировки жестких сбойных секторов, чтобы они больше не использовались.
Исправляет ли форматирование плохие сектора?
Физический — или жесткий — поврежденный сектор — это кластер хранилища на жестком диске, который физически поврежден. … Они могут быть помечены как поврежденные сектора, но их можно исправить, перезаписав диск нулями или, как раньше, выполнив низкоуровневое форматирование. Инструмент проверки диска Windows также может восстановить такие поврежденные сектора.
Есть ли у SSD плохие сектора?
С традиционным жестким диском наличие плохих секторов может спрогнозировать сбой, но из-за особенностей технологии флэш-памяти наличие небольшого количества сбойных секторов на SSD является нормальным. … Самый простой способ отслеживать количество сбойных секторов на SSD — это запустить ChkDsk (сокращение от «проверить диск») в Windows®.
Что лучше chkdsk R или F?
Нет большой разницы между chkdsk / f / r и chkdsk / r / f. Они делают то же самое, но только в другом порядке. Команда chkdsk / f / r исправит найденные ошибки на диске, а затем обнаружит поврежденные сектора и восстановит читаемую информацию из поврежденных секторов, в то время как команда chkdsk / r / f выполняет эти задачи в обратном порядке.
Что делает fsck в Linux?
Системная утилита fsck (проверка целостности файловой системы) — это инструмент для проверки целостности файловой системы в Unix и Unix-подобных операционных системах, таких как Linux, macOS и FreeBSD.
Как проверить файл NTFS в Linux?
ntfsfix — это утилита, которая устраняет некоторые распространенные проблемы NTFS. ntfsfix НЕ является версией chkdsk для Linux. Он устраняет только некоторые фундаментальные несоответствия NTFS, сбрасывает файл журнала NTFS и планирует проверку согласованности NTFS для первой загрузки Windows.
Как использовать fsck в Linux?
Чтобы запустить fsck из живого дистрибутива:
- Загрузите live-дистрибутив.
- Используйте fdisk или parted, чтобы найти имя корневого раздела.
- Откройте терминал и запустите: sudo fsck -p / dev / sda1.
- После этого перезагрузите live-дистрибутив и загрузите вашу систему.
12 ночей. 2019 г.
Почему создаются плохие сектора?
«Жесткие» поврежденные сектора возникают из-за физического повреждения диска. Их можно создавать всякий раз, когда головка чтения / записи соприкасается с физической поверхностью диска. Обычно это происходит, если диск подвергается ударам во время записи на него данных, воздействию экстремальных условий окружающей среды или неисправных механических частях.
Как смонтировать диск в Linux?
Установка USB-накопителя
- Создайте точку монтирования: sudo mkdir -p / media / usb.
- Предполагая, что USB-накопитель использует устройство / dev / sdd1, вы можете подключить его к каталогу / media / usb, набрав: sudo mount / dev / sdd1 / media / usb.
23 сред. 2019 г.