Из того, что я понимаю, есть два основных способа, которыми сектора помечаются как плохие:
- ОС выполняет IO чтение / запись инструкции. Сектор заменен на запасной и помечен как плохой.
- Низкоуровневые инструкции диска выполняют сборку мусора (т. Е. Заменяют и помечают поврежденные сектора запасными секторами), не сообщая об этом операционной системе и пользователю.
У меня есть несколько вопросов, которыми я все еще озадачен.
Когда такой инструмент, как Windows Chkdsk, выполняет исправления, отмечает ли он плохой сектор на уровне файловой системы (высокий) или на уровне секторов (низкий)?
Если ОС сообщает о неисправном секторе пользователю (то есть, опять же, Chkdsk), означает ли это, что на жестком диске закончились свободные сектора?
Когда диск заменяет поврежденные секторы на резервные, всегда ли он перемещает / копирует данные в резервный? Или, иногда, данные не могут быть перемещены / скопированы из плохого сектора в резервный? Если это последнее, какие данные хранятся в плохом секторе и в резервном секторе?
Я понимаю, что возможно сделать низкоуровневый формат диска путем обнуления всех секторов. Делается ли это для очистки логических поврежденных секторов (т. Е. Неудачной проверки ECC / CRC) и маркировки физических поврежденных секторов?
Наконец, допустим, что Windows отключается из-за сбоя питания, и диск все еще записывает данные в сектор. Машина загружается и Chkdsk запускается. Если есть запасные секторы, будь то ошибка чисто логическая (то есть сбой ECC) или физическая, сообщит ли он пользователю об ошибках, потому что поврежденный сектор был заменен резервным?
Большое спасибо.