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

30993
Adam Matan

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

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

Спасибо,

Адам Матан

16
What OS are you running? Since you mentioned chkdsk, I assume it's Windows NT, XP, Vista, 7, Server 2003, or Server 2008. rob 14 лет назад 0

6 ответов на вопрос

27
rob

В 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 на каждом новом купленном жестком диске, прежде чем вводить его в эксплуатацию.

I don't think chkdsk /r really scans every block...it runs much quicker than I'd expect for something reading every single block. Might want to note the non-destructive test option of badblocks, incase he already has data on the disks. davr 14 лет назад 1
@davr: Спасибо; Я уже упоминал неразрушающий тест badblocks в команде fsck, но я добавил подробный badblocks -vs, чтобы быть тщательным. chkdsk / r проверяет наличие плохих блоков и занимает много времени, когда я его запускаю, но, вероятно, не так тщательно, как badblocks -w. Вы уверены, что не думаете о chkdsk / f или chkdsk / p, которые будут исправлять только ошибки файловой системы, но не будут проверять наличие поврежденных блоков? rob 14 лет назад 0
@davr: I did think of one thing...chkdsk probably doesn't check the boot record or partition table. Since it only takes a volume name (i.e., drive letter, mount point, or volume name) as an argument, that suggests you can only check a logical volume for media errors, and everything outside of the specified volume (partition) is ignored. That shouldn't make much of a difference in terms of the scanning speed, though. Is that what you're talking about? rob 14 лет назад 0
Your use of fsck is actually a reference to e2fsck. The stock fsck doesn't include a `-c` command line arg. Other than, good answer. DaveParillo 14 лет назад 1
Правильно, Дейв. Спасибо; Я переместил инструкции badblocks с самого начала, так как он работает под Windows, но исправил инструкции e2fsck и переместил их до конца для всех, кто сталкивается с этим и работает под Linux. rob 14 лет назад 0
Для полноты, флаг `-n` для` badblocks` будет выполнять неразрушающее чтение-запись без использования e2fsck. SabreWolfy 11 лет назад 0
Спасибо; Я действительно собирался использовать это в своем первом примере с бадблоками, но забыл включить флаг! Исправлено сейчас. :) rob 11 лет назад 0
5
3498DB

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

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

enter image description here

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

Freeware ?? 15-дневная пробная версия! Это просто HD Tune, которая бесплатна. Loren Pechtel 14 лет назад 1
извинения, редактирование поста ... не имеет большого значения, хотя, потому что функция, на которую я ссылаюсь, доступна в бесплатной версии, как вы можете видеть на скриншоте. 14 лет назад 0
1
Dave M

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

Насколько я знаю, это просто запускает самотестирование SMART, а не полное сканирование диска. endolith 14 лет назад 0
endolith - тесты от WD semm, чтобы выйти за рамки SMART. Скачать бесплатно, так что попробуйте, если у вас есть диск WD Dave M 14 лет назад 0
1
Captain Segfault

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

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

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

Обратите внимание, что в Linux простой dd if=/dev/sdx of=/dev/null, где sdx является блочным устройством диска, будет выполнять полное логическое чтение диска. Если какие-либо блоки не читаются, вы получите ошибку. Если вы не против скопировать данные, вы можете dd if=/dev/zero of=/dev/sdxпросто перезаписать весь диск, что приведет к необходимости переназначения диска.

Вместо использования 'dd' лучше использовать команду linux 'badblocks', которая специально разработана для этой задачи. davr 14 лет назад 1
Я хочу сказать, что «эта задача» так же устарела, как и концепция «плохого блока». Captain Segfault 14 лет назад 1
Жесткий диск не исправляет плохие блоки, пока вы не напишите им. Хороший способ написать им - использовать бадблоки в неразрушающем режиме. : D endolith 14 лет назад 0
Я хотел бы, чтобы это было правдой. Вы путаете внутренние диски с внешними USB-дисками. Для корпусов USB-накопителей требуется более качественное встроенное ПО с отчетами SMART, чего нет у большинства из них. Nicolay77 8 лет назад 0
@endolith Некоторые жесткие диски также перемещают блоки suspicios при чтении. По крайней мере, некоторые корпоративные жесткие диски. Roland Pihlakas 5 лет назад 0
1
Dentrasi

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

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

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

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

ScanDisk устарел. fsck -f принудительно запускает fsck, но не выполняет проверку физического носителя. rob 14 лет назад 1