Как я могу узнать количество поврежденных секторов на моем жестком диске?

10

Я знаю, как проверить / починить мой жесткий диск, но я не знаю, как узнать количество поврежденных секторов на моем жестком диске.

PS Похоже, мой жесткий диск скоро умрет :-(

Альфа Сизиф
источник

Ответы:

12

В Linux существует два способа обнаружения поврежденных секторов: вы можете использовать утилиту диска (gui) или команду badblocks, чтобы проверить жесткий диск на наличие поврежденных секторов:

sudo badblocks -v /dev/{device}

Это должно ответить на вопрос, но для всех, кто интересуется, как их пометить, это можно сделать с помощью двух простых команд ...

Вы добавляете плохие блоки в файл ...

sudo badblocks /dev/sdb > {/dir/to/filename}

а затем сказать, fsckчтобы пометить их как непригодные с ...

sudo fsck -l {/dir/to/filename} /dev/{device}
Rinzwind
источник
2
Кажется, что e2fsckесть -cопция, которая вызывает badblocksсебя и заботится о размере блока. Очевидно, нужно быть очень осторожным, чтобы они соответствовали, если вы делаете это по-своему.
Мартин Уединг,
3
Использование badblocks+ fsckдля пометки плохих блоков может быть опасным. Со badblocksстраницы man: «Важное примечание: если выходные данные badblocks будут передаваться в программы e2fsck или mke2fs, важно, чтобы размер блока был правильно задан, так как генерируемые номера блоков очень зависят от размера блока используется файловой системой. По этой причине настоятельно рекомендуется, чтобы пользователи не запускали badblocks напрямую, а использовали параметр -c программ e2fsck и mke2fs . " Смотрите @ Джон-Мехортер ответ.
sierrasdetandil
Спасибо, мне было интересно об этом только вчера. +1
WinEunuuchs2Unix
8

Например, используйте fsck.ext3 (e2fsck) и используйте опцию -cc

-c     This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in  order  to  find  any  bad
          blocks.   If  any  bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a
          file or directory.  If this option is specified twice, then the bad block scan will  be  done  using  a  non-destructive
          read-write test.`

fsck -cc / dev / sda1

Джон Мехортер
источник
1
Я читал это несколько раз за последние годы, но я не знаю, что такое неразрушающий тест. Это ничего не меняет на диске? Это только для информации?
Роберт Вила
Я предполагаю, что он попытается записать в каждом блоке, но записать исходные данные снова.
Мартин Уединг,