Полная физическая проверка HD


17

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

Есть ли обходной путь chkdskили хорошая замена? Я использую Windows 7 на этой машине, но также приветствуются решения для Linux, применимые с live CD.

Благодарность,

Адам Матан


На какой ОС вы работаете? Поскольку вы упомянули chkdsk, я предполагаю, что это Windows NT, XP, Vista, 7, Server 2003 или Server 2008.
rob

Ответы:


28

В Windows NT / XP / Vista / 7 вы можете открыть приглашение CMD и использовать

chkdsk /r x:

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

Я бы посоветовал получить Ubuntu live CD и загрузиться в Linux, а затем использовать badblocks для поиска физических дефектов.

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

sudo badblocks -nvs /dev/sdx

где ваш жесткий диск / dev / sdx. Это позволит выполнить неразрушающий тест чтения / записи на диске без проверки файловой системы.

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

sudo badblocks -wvs /dev/sdx

Опция -w указывает badblocks написать известный шаблон, а затем прочитать данные, чтобы убедиться, что они соответствуют шаблону. Он делает это 4 раза, используя шаблоны 0xaa, 0x55, 0xff и 0x00 (чередуя 0 и 1, затем все 1, затем все 0). Обратите внимание, что это перезапишет все данные на диске и уничтожит все разделы.

Если у вас есть файловая система Linux на диске, вы можете проверить наличие ошибок файловой системы и одновременно запустить badblocks. Сначала получите список всех дисков и их разделов:

sudo fdisk -l

Тогда для каждого раздела :

sudo e2fsck -fcc /dev/sdx#

Опять же, / dev / sdx - это жесткий диск, который вы хотите сканировать. # - номер раздела (например, / dev / sdb1). Двойное указание c заставит fsck работать и будет использовать badblocks для неразрушающего теста чтения-записи. Если вы просто используете опцию c один раз, badblocks выполнит тест только для чтения.

Я запускаю 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командная строка arg. Кроме, хороший ответ.
DaveParillo

Да, Дейв. Благодарность; Я переместил инструкции badblocks с самого начала, так как он работает под Windows, но исправил инструкции e2fsck и переместил их до конца для всех, кто сталкивается с этим и работает под Linux.
ограбить

5

Я хотел бы провести полную, посекторную, физическую проверку некоторых внешних жестких дисков.

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

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

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


1
Freeware ?? 15-дневная пробная версия! Это просто HD Tune, которая бесплатна.
Лорен Печтел

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

1

Многие производители приводов, такие как Western Digital и Seagate, предоставляют инструменты для такой проверки. Обычно инструмент Windows.


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

endolith - тесты от WD semm, чтобы выйти за рамки SMART. Скачать бесплатно, так что попробуйте, если у вас есть диск WD
Dave M

1

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


2
У badblocks также есть неразрушающий тест записи. он читает блок, записывает новое значение, проверяет новое значение, а затем записывает исходный блок обратно. поэтому он не будет уничтожать любые действительные данные на диске. Недостатком является то, что дополнительные операции делают его намного медленнее.
Davr

1

Любой современный диск автоматически переназначит нечитаемые / ненадежные блоки. Операционная система обычно не получает сбой чтения для блока, если блок действительно не читается, а перезапись этого блока приведет к тому, что накопитель переназначит его. Это может произойти только в том случае, если на диске нет запасных блоков, и в этом случае пришло время заменить диск!

В результате ОС, помечающая «плохие блоки» в стиле scandisk, обычно бессмысленна.

С учетом сказанного я бы использовал расширенный самотестирование 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 Некоторые жесткие диски также перемещают блоки suspicios при чтении. По крайней мере, некоторые корпоративные жесткие диски.
Роланд Пихлакас

-1

Я никогда не увлекался внешними USB-накопителями, потому что их не было на самом деле, когда были написаны лучшие инструменты, такие как ScanDisk . Мне особенно нравится версия ScanDisk, которая поставляется с Windows 98 SE.

Поэтому, если это внешний накопитель, вам, вероятно, следует подключить его к компьютеру, а затем запустить fsck -fна нем привод с компакт-диска LiveCD, например, PLD Rescue CD .


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