Как узнать размер сектора жесткого диска linux

Обновлено: 18.05.2024

Проверка диска на наличие плохих секторов возникает нежданно и лучше знать как это сделать имея под рукой всё необходимое. Вариантов проверки дисков множество. Расскажу о проверке средствами консоли Linux. Просто и ничего лишнего.

Причины для проверки диска

Основная причина проверки это как правило медленная работа системы или зависание при определенных действиях. Вывести диск из строя могут разные факторы. Вот некоторые из них:

  • Время жизни диска не вечна;
  • Некорректные выключения системы при пропадании питания;
  • Физические удары;
  • Запуск холодного диска зимой.

Самое лучшее это периодически проверять диск просто так. На ранней стадии обнаружения гораздо больше шансов сохранить важные данные.

Храните важные данные в двух совершенно разных физически местах. Только такой подход гарантирует вам полную сохранность данных.

Определение диска для проверки

Для того чтобы понять какой диск проверять нам достаточно ввести команду в консоли которая выдаст нам список всех имеющихся дисков в системе.

Мы видим в выводе диск который нам надо проверить. Диск имеет 2 раздела с данными.

Проверка диска на битые секторы

Перед проверкой разделы необходимо отмонтировать. Как правило я загружаю операционную систему на базе Linux c Live образа или использую подготовленный PXE сервер на котором присутствуют и другие программы для проверки жестких дисков.

Можно сразу запустить проверку с исправлением, но мне кажется это неправильно. Гораздо логичней вначале проверить диск и собрать информацию обо всех битых секторах и только после этого принять решение о дальнейшей судьбе диска.

При появлении хотя бы нескольких плохих секторов я больше диск не использую. Пометку плохих секторов с попыткой забрать из них информацию использую только для того чтобы сохранить данные на другой диск.

Создание файла для записи плохих секторов

Создадим файл указав для удобства имя проверяемого раздела.

Проверка диска утилитой badblocks

Запустим проверку с информацией о ходе процесса с подробным выводом. Чем больше диск тем дольше проверка!

В нашем случае диск с 8 плохими секторами.

Пометка плохих секторов диска

Запустим утилиту e2fsck, указав ей список битых секторов. Программа пометит плохие сектора и попытается восстановить данные.

Указывать формат файловой системы нет надобности. Утилита сделает всё сама.

Подготовка диска для проверки

Бывают случаи когда таблица разделов повреждена на диске и нет возможности посмотреть какие есть разделы с данными. Возможно вам не надо никаких данных на диске и вы хотите диск отформатировать и затем проверить. Случаи бывают разные и надо подходить исходя из ситуации.

С помощью команды с ключом -z вы сможете создать заново таблицу разделов и создать необходимые вам разделы.

Как работать с утилитой cfdisk я не буду, так как это выходит за рамки данной статьи.

Предположим что вы создали из всего диска лишь один раздел /dev/sda1. Для форматирования его в ext4 достаточно выполнить команду:

Вывод

Проще и понятней механизма проверки диска на битые сектора как в системе Linux я не встречал. Ничего лишнего только суть. Выбор варианта как проверять и когда всегда за вами. После того как я один раз потерял важные данные храню всё важное в 3 разных местах.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделитесь ей с друзьями! Пожалуйста, оставляйте свои комментарии

Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.

Добавить комментарий Отменить ответ

Метки

Реклама

Советую

Реклама

Комментарии

Вместо CentOS (для меня теперь это Fedora2) будет Rocky Linux :)

Теперь все статьи с Rocky будут?

Деже не надеюсь. Знаю что так и будет!

Хорошее руководство получилось. Надеюсь, Rocky Linux получит такое же распространение, как и Centos.

Ставил. Для моей версии там только контроль параметров и максимум можно запустить тест.

В настройках программы есть возможность серверам по ssh отправлять любые команды.

Одно из самых важных устройств компьютера - это жесткий диск, именно на нём хранится операционная система и вся ваша информация. Единица хранения информации на жестком диске - сектор или блок. Это одна ячейка в которую записывается определённое количество информации, обычно это 512 или 1024 байт.

Битые сектора, это повреждённые ячейки, которые больше не работают по каким либо причинам. Но файловая система всё ещё может пытаться записать в них данные. Прочитать данные из таких секторов очень сложно, поэтому вы можете их потерять. Новые диски SSD уже не подвержены этой проблеме, потому что там существует специальный контроллер, следящий за работоспособностью ячеек и перемещающий данные из нерабочих в рабочие. Однако традиционные жесткие диски используются всё ещё очень часто. В этой статье мы рассмотрим как проверить диск на битые секторы Linux.

Проверка диска на битые секторы 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

Это безопасно и её можно выполнять на файловой системе с данными, она ничего не повредит. В принципе, её даже можно выполнять на смонтированной файловой системе, хотя этого делать не рекомендуется. Если файловая система размонтирована, можно выполнить тест с записью с помощью опции -n:

sudo badblocks -vn /dev/sda2 -o

После завершения проверки, если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные. Для этого используйте утилиту fsck и опцию -l:

Если на разделе используется файловая система семейства Ext, например Ext4, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck. Например:

sudo e2fsck -cfpv /dev/sda1

Параметр -с позволяет искать битые блоки и добавлять их в список, -f - проверяет файловую систему, -p - восстанавливает повреждённые данные, а -v выводит всё максимально подробно.

Выводы

В этой статье мы рассмотрели как выполняется проверка диска на битые секторы Linux, чтобы вовремя предусмотреть возможные сбои и не потерять данные. Но на битых секторах проблемы с диском не заканчиваются. Там есть множество параметров стабильности работы, которые можно отслеживать с помощью таблицы SMART. Читайте об этом в статье Проверка диска в Linux.

Нет похожих записей

Оцените статью:

(20 оценок, среднее: 5,00 из 5)

Об авторе

13 комментариев

Для любителей гуя есть gsmartcontrol

Какие нахрен битые сектора. в каком веке живете? Или вы про Self тест?

А в каком веке перестали сыпаться ХДД?

Если ты настолько туп что не понимаешь что такое бэд блоки, то какого хрена ты вообще тут пишешь

Ты будешь очень удивлен, когда узнаешь, что битые сектора еще на стадии производства жестких дисков появляются. Причина этого: несовершенство технологии производство, как бы не парадоксально это звучало. По этой же причине с одной матрицы, на которой выращивают процессора получают как сверхвысокопроизводительные процессора с высокой стоимостью, так и самые дешевые целерончики. Так вот, те битые сектора, которые определяют еще на производстве помечают и заносят в специальный список. который хранится, в зависимости от производителя харда или в специальном разделе, или во флешпамяти или там и там. Наличие заводских бэдов подтверждает график чтения диска. Его можно увидеть прогнав новый диск (из заводской упаковки) какой нибудь утилитой типа Виктории или МХДД. Провалы в графике чтения, который представляет собой логарифмическую кривую это и есть подтверждение наличия заводских сбойных секторов: то есть на этих областях головка харда переходит по указанному адресу. То есть там алгоритм такой: головка доходит до нужного адреса на диске: считывает с него инфу, и если видит что-то подобное: этот блок сбойный, если вы хотите что-то записать, то вместо него работает вооон тот блок, расположенный воооон там.
э

Уважаемый автор, что-то я не понял про "просто" fsck. У него параметром "-l" не подставляется файл от "badblocks" с перечнем битых секторов, а выполняется совсем другая операция.
Может подскажете что теперь делать в этом случае? Т. е. например у меня флэшка битая и файловая система там не ext, и в наличии только консоль.

Оригинал: How To Find Hard Disk Drive Details In Linux
Автор: SK
Дата публикации: 11 мая 2020 г.
Перевод: В.Костромин
Дата перевода: 14 мая 2020 г.

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

1. Hdparm

Hdparm - это программа командной строки для получения или изменения аппаратных параметров для устройств PATA, SATA, SAS и SSD. Она рассматривает любое устройство как устройство хранения данных, подключенное к интерфейсам IDE, SATA, SAS, поэтому мы даже можем получать информацию о дисках CD / DVD. Используя утилиту hdparm, мы можем настроить жесткий диск или DVD-привод, узнать скорость жесткого диска или твердотельного накопителя, снизить уровень шума путем активации акустического режима, включить или выключить энергосберегающий режим, включить или отключить спящий режим, включить / отключить кэш диска и даже надежно стереть содержимое диска. Hdparm написан Марком Лордом (Mark Lord), ведущим разработчиком (E) IDE драйвера для Linux и текущим участником подсистемы «libata».

Предупреждение

Хотя hdparm предоставляет возможности для увеличения производительности диска, эта программа также ЧРЕЗВЫЧАЙНО ОПАСНА . При неправильном использовании некоторых ее параметров очень высока вероятность массовой потери данных. Документация hdparm предупреждает, что Вы НЕ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ НЕКОТОРЫЕ КОМАНДЫ ПРИ ЛЮБЫХ ОБСТОЯТЕЛЬСТВАХ . Поэтому я не показываю такие опасные команды в этой статье. Что еще более важно, всегда рекомендуется сделать резервную копию вашего жесткого диска перед тестированием hdparm в вашей системе Linux.

1.1. Установка hdparm в Linux

Hdparm поставляется в составе большинства дистрибутивов Linux. Если она не включена в дистрибутив по каким-либо причинам, вы можете установить ее, используя имеющийся в вашей системем менеджер пакетов.

В Arch Linux и Manjaro Linux:

В Debian, Ubuntu, Linux Mint:

В Fedora, CentOS, RHEL:

1.2. Определение параметров жесткого диска в Linux с помощью Hdparm

Чтобы отобразить подробную информацию о жестком диске, просто запустите hdparm от имени root-а или используя sudo, как показано ниже:

Пример вывода этой команды в системе с Ubuntu:

Display Hard Disk Details With Hdparm Command In Linux

Как вы можете видеть, hdparm отображает номер модели жесткого диска, серийный номер, версию прошивки, за которой следует конфигурация жесткого диска (количество цилиндров, головок, секторов), настройки DMA, список включенных функций, параметры безопасности и т.д. Вы видите, что в данном случае активны (задействованы) возможности, помеченные звездочкой .

Подобным образом вы можете получить информацию о других устройствах.

Если команда hdparm запускается без параметров, предполагается следующий их набор -acdgkmur. Посмотрите страницу руководства man, чтобы узнать, для чего служит каждая из этих опций.

Другие детали ищите в руководстве man.

2. lshw

Lshw (Hardware Lister) - это это простая, но полнофункциональная утилита, которая предоставляет подробную информацию о конфигурации оборудования Linux-системы. Она может сообщить вам точную конфигурацию памяти, версию прошивки, конфигурацию материнской платы, версию и скорость процессора, информацию о жестком диске, конфигурацию кэша, скорость шины и многое другое.

2.1. Установка lshw in Linux

lshw включена по умолчанию в состав некоторых дистрибутивов Linux, например, Ubuntu. Если вы ее не находите в составе дистрибутива, установите lshw в вашу Linux-систему, используя менеджер пакетов по умолчанию, как показано ниже.

В Arch Linux и его вариантах, например, в Manjaro Linux, выполните:

В Debian, Ubuntu, Linux Mint:

В Fedora, CentOS, RHEL:

2.2. Определение параметров жесткого диска в Linux с помощью lshw

После инсталляции lshw, просто запустите следующую команду, чтобы получить информацию о вашем жестком диске в Linux:

Пример вывода команды lshw:

Find Hard Disk Drive Details In Linux Using lshw

Чтобы отобразить только название дисков, запустите:

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

Подробности ищите на странице руководства man.

3. inxi

Inxi - еще один полнофункциональный инструмент командной строки для получения системной информации. Она показывает информацию о системном оборудовании, процессоре, драйверах, Xorg, рабочем столе, ядре, версии GCC, процессах, использовании оперативной памяти и множество других полезных сведений. Идет ли речь о жестком диске или CPU, материнской плате или полной детализации вашей системы, inxi предоставит вам нужные данные в течение нескольких секунд.

3.1. Инсталляция inxi в Linux

Inxi также представлена по умолчанию в репозиториях большинства Linux-дистрибутивов.

В Arch Linux она доступна в AUR. Вы можете установить ее с помощью любых вспомогательных программ AUR, например, Yay.

В Debian, Ubuntu:

В CentOS и RHEL:

Задействуйте репозиторий [EPEL], используя следующую команду:

3.2. Определение параметров жесткого диска в Linux с помощью Inxi

Чтобы получить подробную информацию об установленных жестких дисках в вашей системе Linux, запустите команду:

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

Find Hard Disk Drive Details In Linux Using Inxi

В отличие от программ Hdparm и lshw, inxi отображает только данные жесткого диска. Утилиты hdparm и lshw отобразят информацию обо всех дисководах, включая CD / DVD ROM.

Подробнее смотрите на man-странице.

4. Smartctl

Smartclt - это утилита командной строки, предназначенная для управления и мониторинга за SMART-дисками. Она основана на технологии самоконтроля, анализа и отчетности Self-Monitoring, Analysis and Reporting Technology (кратко SMART), встроенной в большинство жестких дисков ATA / SATA, SCSI / SAS и твердотельных накопителей. Команда Smartclt является частью пакета smartmontools, который предустановлен в большинстве версий Linux.

4.1. Определение параметров жесткого диска в Linux с помощью Smartctl

Чтобы получить полную информацию о жестком диске в вашей Linux-системе, запустите следующую команду:

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

Find Hard Disk Drive Details In Linux Using Smartctl

Подробности опять же ищите на странице руководства man.

5. GNOME Disks

Disks или Gnome-disk-utility - это программа с графическим интерфейсом для просмотра, изменения и настройки доступных устройств хранения и носителей в системе Linux. Если вас не устраивает способ использования командной строки, вы можете использовать GNOME Disks для создания и восстановления образов дисков, для создания разделов, для форматирования дисков, проверки скорости дисков, тестирования дисков, проверки состояния и т.д. GNOME Disks предустановлен во всех дистрибутивах Linux, которые имеет рабочую среду GNOME.

5.1. Определение параметров жесткого диска в Linux с помощью GNOME Disks

Запустите Disks либо через меню, либо из панели. Будет выведена информация о всех доступных дисках и носителях в вашей Linux-системе.

Find Hard Disk Drive Details In Linux Using GNOME Disks

Надеюсь, что эта статья оказалась вам полезной.

Вы можете найти на нашем сайте другие статьи о программах для получения информации о вашем оборудовании:

Для просмотра подключенных накопителей и разделов на них, введите команду:


Для проверки накопителя на битые сектора, выполнить команду:

-v – отображение подробной информации во время работы программы

/dev/sdX – имя устройства, которое необходимо проверить

> badblocks.txt – запись результатов проверки (сохраняется в домашней папке: /home/user)


При наличии битых секторов, можно воспользоваться утилитами: e2fsck (ext2, ext3, ext4), fsck (отличные от ext) для игнорирования системой битых секторов:

Проверка состояния накопителей при помощи S.M.A.R.T.

Установка:

Для проверки накопителя на битые сектора при помощи S.M.A.R.T., выполнить команду:

/dev/sdX – имя устройства, которое необходимо проверить

Проверка состояния накопителей при помощи GSmartControl

Чтобы установить самую свежую стабильную версию GSmartControl в Ubuntu, можно воспользоваться PPA репозиторием. Для этого выполните последовательно в терминале команды:

Установить через центр приложений

Работа с программой:

Выбираем диск и кликаем левой клавишей мыши 2 раза или выбираем диск, потом идём в меню, там жмём на Device, далее жмём View details, далее жмём на вкладку Attributes:


Анализ параметров, выводимых программой

Каждый атрибут имеет величину Value. Value Изменяется в диапазоне от 0 до 255 задается производителем). Низкое значение говорит о быстрой деградации диска или о возможном скором сбое. т.е. чем выше значение Value атрибута, тем лучше. Raw Value – это значение атрибута во внутреннем формате производителя значение малоинформативно для всех кроме сервисманов. Threshold – минимальное возможное значение атрибута, при котором гарантируется безотказная работа накопителя. SMART. Смотрим состояние жесткого диска. Если VALUE стало меньше THRESH – Атрибут считается failed и отображается в столбце WHEN_FAILED. При значении атрибута меньше Threshold очень вероятен сбой в работе или полный отказ. WORST- минимальное нормализованное значение. Это минимальное значение, которое достигалось с момента включения SMART на диске. Атрибуты бывают критически важными (Pre-fail) и некритически важными (Old_age). Выход критически важного параметра за пределы Threshold фактический означает выход диска из строя, выход за пределы допустимых значений не критически важного параметра свидетельствует о наличии проблемы, но диск может сохранять свою работоспособность.

Критичные атрибуты

Raw Read Error Rate – частота ошибок при чтении данных с диска, происхождение которых обусловлено аппаратной частью диска.

Spin Up Time – время раскрутки пакета дисков из состояния покоя до рабочей скорости. При расчете нормализованного значения (Value) практическое время сравнивается с некоторой эталонной величиной, установленной на заводе. Не ухудшающееся не максимальное значение при Spin Up Retry Count Value = max (Raw равном 0) не говорит ни о чем плохом. Отличие времени от эталонного может быть вызвано рядом причин, например просадка по вольтажу блока питания.

Spin Up Retry Count – число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной. Ненулевое значение Raw (соответственно не максимальное Value) свидетельствует о проблемах в механической части накопителя.

Seek Error Rate – частота ошибок при позиционировании блока головок. Высокое значение Raw свидетельствует о наличии проблем, которыми могут являться повреждение сервометок, чрезмерное термическое расширение дисков, механические проблемы в блоке позиционирования и др. Постоянное высокое значение Value говорит о том, что все хорошо.

Reallocated Sector Count – число операций переназначения секторов. SMART в современных дисках способен произвести анализ сектора на стабильность работы “на лету” и в случае признания его сбойным, произвести его переназначение.

Некритичные атрибуты:

Start/Stop Count – полное число запусков/остановов шпинделя. Гарантировано мотор диска способен перенести лишь определенное число включений/выключений. Это значение выбирается в качестве Treshold. Первые модели дисков со скоростью вращения 7200 оборотов/мин имели ненадежный двигатель, могли перенести лишь небольшое их число и быстро выходили из строя.

Power On Hours – число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF). Обычно величина MTBF огромна, и маловероятно, что этот параметр достигнет критического порога. Но даже в этом случае выход из строя диска совершенно не обязателен.

Drive Power Cycle Count – количество полных циклов включения-выключения диска. По этому и предыдущему атрибуту можно оценить, например, сколько использовался диск до покупки.

Temperatue – Здесь хранятся показания встроенного термодатчика. Температура имеет огромное влияние на срок службы диска (даже если она находится в допустимых пределах). Вернее имеет влияние не на срок службы диска а на частоту возникновения некоторых типов ошибок, которые влияют на срок службы.

Current Pending Sector Count – Число секторов, являющихся кандидатами на замену. Они не были ещё определены как плохие, но считывание их отличается от чтения стабильного сектора, так называемые подозрительные или нестабильные сектора.

Uncorrectable Sector Count – число ошибок при обращении к сектору, которые не были скорректированы. Возможными причинами возникновения могут быть сбои механики или порча поверхности.

UDMA CRC Error Rate – число ошибок, возникающих при передаче данных по внешнему интерфейсу. Могут быть вызваны некачественными кабелями, нештатными режимами работы.

Write Error Rate – показывает частоту ошибок происходящих при записи на диск. Может служить показателем качества поверхности и механики накопителя.

Читайте также: