У меня есть диск с несколькими повреждениями файлов. Похоже, что из-за того, что когда-то в прошлом было очень жарко, максимальная заявленная температура составляет 99C! Я восстановил как можно больше данных с помощью ntfsclone --rescue и смонтировал образ.

Число перераспределенных секторов равно нулю, но текущее число ожидающих секторов равно 233. Я прочитал каждый сектор на диске (один раздел) с процессом восстановления данных, но диск не изменил число ожидающих секторов. Я нахожу это странным, я думал, что диск должен переназначить ожидающие сектора или решить, что они в порядке.

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

    mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61054976 inodes, 244190000 blocks
12209500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7453 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Checking for bad blocks (read-only test):  11.06% done, 55:05 elapsed

2 ответа2

1

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

Во-первых, что касается температуры: я считаю, что данные о 99C неверны. Это уже экстремальный перегрев. Нормальная рабочая температура для жесткого диска составляет где-то около 20-45 * C (55 * C для моделей с большей емкостью). Все, что выходит за эти пределы, и механика привода начинает ухудшаться гораздо быстрее. Из-за жары металл расширяется - в первую очередь пострадает HSA (HeadStackAssembly). Поскольку головки плавают над блюдом (из-за воздушного подшипника) на чрезвычайно низкой высоте (но все еще не касаясь поверхности пластин) - вы можете видеть, насколько плохо это может получиться, если что-то, такое точное, начинает деформироваться , Вот почему вы всегда должны обеспечивать адекватное охлаждение. Кроме того, существует разница между температурой внутри HDA (HardDiskAssembly, в основном это временная среда рядом с головками) - т.е. Seagate предоставляет атрибут SMART именно для этого.

Теперь, чтобы ответить на ваш вопрос. Дело в том, что автоматически обрабатываются только самые тривиальные случаи. Обычно вы не будете перераспределять секторы в операции чтения. Только на записи. Если возникают трудности с чтением сектора (несовпадение контрольных сумм), но ECC успешно восстановила данные, тогда он просто оставляет сектор в покое, ничего не делая.

Таким образом, в основном, если вы перезаписали весь диск нулями - только тогда прошивка диска перенесет проблемные сектора на зарезервированные и уменьшит значение атрибута SMART # 197. Причиной здесь является то, что механизм ECC привода пытается выполнить исправление ошибок, а когда он выходит из строя после серии повторных попыток в рассматриваемом секторе (воспринимается как тайм-аут), он просто помечает сектор как UNC (неисправимый, он же плохой блок). Проблема здесь в том, что он не знает, как обращаться с вашими данными дальше! И не должно быть, так как это уже ваш звонок. Вам придется принять решение - отложить его и попытаться каким-либо образом восстановить данные в этом секторе позднее или вместо этого перезаписать его и вызвать перераспределение. Очевидно, что только одна из этих вещей может быть выполнена автоматически, и поэтому это не так.

То, что вы делаете с mkfs, это только написание метаданных, которые будут размещаться в определенных секторах. Он не будет заполнять весь диск (поэтому он может никогда не встретить ни одного из текущих поврежденных секторов). Тем не менее, заполнение нуля будет.

В целом, диск заметно ухудшается. Я бы порекомендовал пройти дд (если =/dev/zero), если вы все еще хотите вдохнуть в него (короткую) жизнь.

1

Вероятно, вам следует обнулить диск, т.е. записать его перед тестированием на чтение. Это будет препятствовать перемещению, и, надеюсь, обратное воспроизведение пройдет нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .