В контексте файловых систем Unix или Linux «метаданные» - это информация о файле: идентификатор пользователя, которому он принадлежит, права доступа, тип файла (специальный, обычный, именованный канал и т. Д.) И какие блоки диска используются в файле. Все это обычно хранится в структуре на диске, называемой «inode». Одна из частей информации в inode - это сколько «ссылок» на файл существует. Обычный файл обычно имеет 1, но каталог (который в основном представляет собой файл со специальной отметкой типа «Я каталог») имеет как минимум 2 ссылки. Все, что видно в файловой системе, имеет одну ссылку из каталога, в котором оно появляется, но поскольку у каждого каталога есть «.» имя, а также его обычное имя, они имеют 2 ссылки.
fsck
может сканировать «блоки inode» файловой системы (дисковые блоки, которые содержат структуры данных inode), чтобы найти inode с числом ссылок больше 0. Файл, представленный inode с числом ссылок больше 0, должен появиться в каталог где-то. Если этот индекс не отображается в каталоге, fsck
помещает файл в хорошо известный каталог, обычно «lost + found» вверху файловой системы. Обратите внимание, что файловые системы Unix / Linux обычно не содержат метаданных в inode о том, к какому каталогу принадлежит этот inode, а только информация в файле каталога о том, какие файлы содержит этот каталог.
fsck
может использовать другие метаданные, например, какие дисковые блоки содержат данные файла. fsck
может проверить, присутствуют ли дисковые блоки, которые, как говорит инод, принадлежат файлу, в "нераспределенном списке" файловых систем дисковых блоков. Потенциально fsck
мог бы проверить, содержат ли два или более inode одинаковые дисковые блоки, что указывало бы на какое-то повреждение с множественным распределением.
Распределение дисковых блоков по файлам появляется в inode диска. Древовидная структура членства в каталогах файловой системы появляется в каталогах. Иноды не отображаются и не выделяются для каталогов. fsck
использует это разделение, чтобы сделать ремонт. Это сильно отличается от систем, таких как MS-DOS или ранних версий Windows, где «таблица размещения файлов» содержала как древовидную структуру (членство в каталоге), так и распределение дисковых блоков. Повредите «FAT», и вам придется сканировать блоки дисков, чтобы увидеть, что они содержат, и как они могут совмещаться.