Повна фізична перевірка hd


17

Я хотів би провести повну, секторальну, фізичну перевірку деяких зовнішніх жорстких дисків. Наскільки мені відомо, chkdskцей варіант не постачає.

Чи є вирішення внизу chkdskчи хороша заміна? Я використовую Windows 7 на цій машині, але рішення Linux, застосовні з прямого компакт-диску, також вітаються.

Спасибі,

Адам Матан


Яку ОС ти працюєш? Оскільки ви згадали chkdsk, я припускаю, що це Windows NT, XP, Vista, 7, Server 2003 або Server 2008.
грабуйте

Відповіді:


28

У Windows NT / XP / Vista / 7 ви можете відкрити підказку CMD та використовувати

chkdsk /r x:

де x - літера диска вашого USB-накопичувача, якщо привід розділений і йому призначена літера диска.

Я б запропонував отримати живий компакт-диск Ubuntu та завантажуватись у Linux, а потім використовувати погані блоки для пошуку фізичних дефектів.

Використовуйте sudo fdisk -lдля переліку всіх дисків та їх розділів. Для кожного диска :

sudo badblocks -nvs /dev/sdx

де ваш жорсткий диск / dev / sdx. Це дозволить виконати неруйнівний тест читання / запису на диску, не перевіряючи файлову систему.

Якщо дані не цікавляться, ви можете зробити це замість цього, щоб зробити більш ретельне сканування:

sudo badblocks -wvs /dev/sdx

Параметр -w повідомляє поганим блокам написати відомий шаблон, а потім прочитати дані назад, щоб переконатися, що вони відповідають шаблону. Це роблять це 4 рази, використовуючи шаблони 0xaa, 0x55, 0xff і 0x00 (чергуючи 0 і 1, потім усі 1, потім всі 0). Зауважте, що це перезаписує всі дані на накопичувачі та також видаляє всі розділи.

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

sudo fdisk -l

Потім для кожного розділу :

sudo e2fsck -fcc /dev/sdx#

Знову ж таки, / dev / sdx - це жорсткий диск, який ви хочете сканувати. # - номер розділу (наприклад, / dev / sdb1). Визначення c два рази змусить запустити fsck, і він використовуватиме блокові блоки, щоб зробити неруйнівний тест читання-запису. Якщо ви просто використаєте опцію c один раз, погані блоки виконають тест лише для читання.

Я запускаю badblocks -wvs на кожному новому придбаному жорсткому диску, перш ніж ввести його в експлуатацію.


1
Я не думаю, що chkdsk / r насправді сканує кожен блок ... він працює набагато швидше, ніж я очікував, щоб прочитати кожен блок. Можливо, хочеться відзначити неруйнівний тестовий варіант поганих блоків, на випадок, якщо у нього вже є дані про диски.
davr

@davr: Спасибі; Я вже згадав про неруйнівний тест badblocks у команді fsck, але я додав явні badblocks -vs, щоб бути ретельним. chkdsk / r перевіряє наявність поганих блоків і займає досить багато часу, коли я запускаю його, але, ймовірно, не так ретельно, як badblocks -w. Ви впевнені, що не думаєте про chkdsk / f або chkdsk / p, які виправлять лише помилки файлової системи, але не сканують погані блоки?
пограбувати

@davr: Я думав про одне ... chkdsk, ймовірно, не перевіряє запис завантаження або таблицю розділів. Оскільки воно в якості аргументу приймає лише ім'я тома (тобто букву диска, точку монтажу або ім'я тома), це дозволяє вам перевірити лише логічний том на наявність медіа-помилок, і все, що знаходиться поза вказаним томом (розділом), ігнорується. Однак це не має великої різниці в швидкості сканування. Це те, про що ти говориш?
пограбувати

1
Ваше використання fsck - це фактично посилання на e2fsck. Фондовий fsck не включає -cаргумент командного рядка. Крім, хороша відповідь.
DaveParillo

Право ти, Дейв. Спасибі; Я перемістив інструкції з поганих блоків наперед, оскільки він працює під керуванням Windows, але виправив інструкції e2fsck і перемістив їх до кінця для всіх, хто працює над цим і працює з Linux.
пограбувати

5

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

Завантажте та запустіть програму HD Tune , виберіть диск, який ви хочете сканувати, зі спадного меню, натисніть вкладку Сканування помилок (переконайтесь, що поле Швидке сканування ясне) та натисніть кнопку Пуск .

введіть тут опис зображення

HD Tune безкоштовна для особистого користування та портативна (установка не потрібна).


1
Безкоштовно ?? 15-денний суд! Безкоштовно це просто HD Tune.
Лорен Печтел

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

1

Багато виробників приводів на зразок Western Digital та Seagate надають інструменти, які дозволять зробити цю перевірку. Зазвичай інструмент Windows.


Наскільки я знаю, це просто запускає самотест SMART, який не є повним скануванням диска.
ендоліт

ендоліт - Тести з WD semm, щоб вийти за рамки SMART. Безкоштовно скачайте, тож сфотографуйте, якщо у вас диск WD
Дейв М

1

У Windows я використовую безкоштовну версію HDTune для пошуку поганих секторів. Однак програма BadBlocks для Linux набагато краща, надаючи точний список кожного поганого блоку та підтримує перевірку читання та запису (хоча запис є руйнівним).


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

1

Будь-який сучасний диск автоматично перезаписує нечитабельні / iffy блоки. Операційна система, як правило, не отримує помилку читання для блоку, якщо блок дійсно не читається, а записування цього блоку призведе до того, що накопичувач перезапустить його. Це не вдасться лише в тому випадку, якщо накопичувач не буде запасних блоків, і тоді настає час замінити накопичувач!

Підсумок полягає в тому, що ОС, що позначає «погані блоки» у стилі скандиска, зазвичай безглузда.

З урахуванням сказаного, я б використовував розширений самотест SMART. smartmontools повинні працювати. Ви також можете отримати кількість перекомпонованих блоків.

Зауважте, що в linux звичайна dd if=/dev/sdx of=/dev/null, де sdx є блоковим пристроєм диска, виконає повне логічне зчитування диска. Якщо якісь блоки не читаються, ви отримаєте помилку. Якщо ви не заперечуєте проти даних про клобірування, ви можете dd if=/dev/zero of=/dev/sdxпросто перезаписати весь диск, внаслідок чого накопичувач перезавантажиться у міру необхідності.


1
Замість використання 'dd' краще використовувати команду linux 'badblocks', яка спеціально розроблена для цього завдання.
davr

1
Моя думка, що "це завдання" настільки ж застаріле, як і поняття "поганий блок".
Капітан Сеґол

Жорсткий диск не виправляє погані блоки, поки ви не пишете їм. Один з хороших способів написання їм - використання поганих блоків у неруйнівному режимі. : D
ендоліт

Я б хотів, щоб це було правдою. Ви плутаєте внутрішні диски з зовнішніми дисками USB. Для корпусів USB-накопичувача потрібна краща прошивка з SMART-звітністю, якої не вистачає більшості.
Nicolay77

@endolith Деякі жорсткі диски також переносять блоки підозр після читання. Принаймні деякі корпоративні жорсткі диски.
Roland Pihlakas

-1

Я ніколи не надто захоплювався зовнішніми накопичувачами USB, тому що вони насправді не існували, коли були написані деякі найкращі засоби, такі як ScanDisk . Особливо мені подобається версія ScanDisk, що постачається з Windows 98 SE.

Отже, якщо це зовнішній накопичувач, вам, ймовірно, слід покласти його в комп'ютер, а потім запустити fsck -fна диску з LiveCD Linux, наприклад, PLD Rescue CD .


1
ScanDisk застарілий. fsck -f змусить запустити fsck, але він не зробить фізичну перевірку медіа.
пограбувати
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.