Команда badblocks - linux faq

команда badblocks

Команда badblocks призначена для пошуку і виправлення пошкоджених секторів на жорстких дисках. На сьогоднішній день вона в деякій мірі втратила свою актуальність через те, що сучасні жорсткі диски здійснюють перепризначення пошкоджених секторів в автоматичному режимі відразу ж після виникнення помилок, пов'язаних з читанням або записом даних. Тим не менш, вона може використовуватися для активації згаданого механізму перепризначення секторів, так як при роботі в основному режимі вона здійснює посектороное читання даних з жорсткого диска, яке дозволяє жорсткого диска виявити і перепризначити пошкоджені сектора.







Попередження: не використовуйте розглянуту команду, якщо не до кінця впевнені в правильності своїх дій або не знаєте суті процесів, що відбуваються, адже в результаті навіть незначної помилки ви можете позбутися всіх зберігаються на диску даних. Крім того, не намагайтеся використовувати цю команду по відношенню до змонтованого розділу або до диска з зі смонтірнованнимі розділами, адже в цьому випадку наслідки будуть непередбачуваними.

Перед використанням badblocks необхідно визначитися з жорстким диском або його розділом, на якому потрібно шукати пошкоджені сектора. Для цього може використовуватися команда lsblk:

# Lsblk -o NAME, FSTYPE, LABEL, MOUNTPOINT, MODEL






NAME FSTYPE LABEL MOUNTPOINT MODEL
.

В даному випадку в стовпці NAME будуть виводитися імена файлів пристроїв накопичувачів і їх розділів (для позначення розділів використовується додаткова нумерація), в стовпці FSTYPE - назви створених в розділах файлових систем, в стовпці LABEL - мітки розділів, в стовпці MOUNTPOINT - шляхи до точок монтування файлових систем, а в стовпці MODEL - інформація про моделі пристроїв.

Базовий синтаксис команди:

# Badblocks -v / dev /<имя файла раздела или устройства>

Параметр -v використовується для виведення інформації про хід процесу перевірки жорсткого диска.

Якщо вам з якоїсь причини знадобиться заборонити використання пошкоджених секторів на рівні файлової системи ви завжди можете зберегти список цих секторів і передати його утиліті e2fsck. Це робиться в такий спосіб:

# Badblocks -v / dev /<имя файла раздела или устройства>> /tmp/badblocks.txt
# E2fsck -l /tmp/bad-blocks.txt / dev /<имя файла раздела или устройства>
# Rm /tmp/badblocks.txt

Однак, в більшості випадків буде достатньо однокртного посектороного читання даних з розділу або з усього пристрою.

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

1. Вибір розділу жорсткого диска для перевірки

# Lsblk -o NAME, FSTYPE, LABEL, MOUNTPOINT, MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
sdb MAXTOR STM316081
├─sdb4 ext4 home / home
├─sdb2 ext4 Debian
└─sdb1 swap
.

Виберемо розділ з кореневої файлової ссітемой дистрибутива Debian (з соотвествующей міткою), який в даний момент не змонтований. Йому відповідає файл пристрою sdb2.

2. Перевірка обраного розділу на наявність пошкоджених секторів

# Badblocks -v / dev / sdb2
Checking blocks 0 to 12697599
Checking for bad blocks (read-only test): done

Pass completed, 0 bad blocks found. (0/0/0 errors)

Очевидно, що в ході перевірки розділу пошкоджених секторів не було виявлено.







Схожі статті