Что на самом деле делает сканирование файловой системы?

Что на самом деле делает сканирование файловой системы?

Как сканируются файловые системы (например,ЧКДСКилиfsck) действительно работают? Я знаю, что есть полноценные приложения с множеством опций, но как они сканируют на наличие "плохих" секторов? Что они делают при сканировании? Как они узнают, что нашли "плохой" сектор?

решение1

Проверка файловой системы не имеет ничего общего со сканированием на предмет "плохих" секторов. "плохие" секторы в этом контексте обычно означают сектора, которые не могут быть надежно прочитаны или не могут быть надежно записаны. Хотя проверка файловой системы, безусловно, может наткнуться на плохой сектор, поскольку она пытается прочитать (и, возможно, записать) блоки по всей файловой системе.

Что именно делает проверка файловой системы, зависит от каждой отдельной файловой системы и от разработчика утилиты проверки файловой системы. Для некоторых типов файловых систем (например,НФСиtmpfs), эта концепция бессмысленна, для других она избыточна, поскольку файловая система постоянно проверяет себя в ходе нормальной работы, а для других жизненно важно время от времени проверять файловую систему.

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

решение2

CHKDSK делает довольно много вещей за кулисами. Они представлены в различных фазах CHKDSK.

В NTFS есть нечто, называемое MFT (или Master File Table). Эта MFT представляет собой список всех файлов на жестком диске. Чтобы проверить целостность файлов, CHKDSK считывает запись MFT за записью, а затем идет вверх и ищет соответствующий файл на жестком диске.

Например, CHKDSK находит MyPhoto1.jpg в MFT. MFT говорит, что он расположен в секторе 230 и имеет длину 30 секторов. Затем CHKDSK идет и считывает секторы с 230 по 260 и видит, что он фактически заполнен данными и является одним файлом. Вот как CHKDSK проверяет целостность файловой системы. Несогласованность файлов не обязательно означает плохой сектор, это может означать, что компьютер был выключен во время записи на жесткий диск.

С флагом /r (восстановление) CHKDSK проверяет файлы на наличие несоответствий и пытается их исправить. Без этого флага chkdsk выполняет "пробный запуск"

С флагом /f (исправить) CHKDSK пытается восстановить поврежденный сектор. Другими словами, он пытается восстановить данные в поврежденном секторе и пытается перезаписать этот сектор. Если CHKDSK считывает то, что он записал в проблемном секторе, то он может пометить секторы как восстановленные.

Связанный контент