истемы или больше, чем номер последнего блока файловой системы. Эта ошибка приведет к ошибке типа Bad free list на шаге 5 (см. п. 3.1.2 и п. 3.2.4). X dum blks in free list X дважды использованных блоков в списке свободных В списке свободных блоков было обнаружено X блоков, затребо- ванных i-узлами или предыдущими частями блока списка свобод- ного пространства. Эта ошибка вызобет ошибку типа Bad free list на шаге 5 (см. п. 3.1.2 и п. 3.2.3). - 30 - X blk(s) missing X блока(ов) потеряно X неиспользуемых файловой системой блоков не было обнаружено в списке свободных блоков. Эта ошибка вызовет ошибку типа Bad free list на шаге 5 (см. п. 3.1.2). Free blk count wrong in superblk (fix) Плохой счетчик свободных в суперблоке (исправить) Фактический счетчик свободных блоков не соответствует счет- чику, находящемуся в суперблоке данной файловой системы (см. п. 3.1.3). На вопрос fix возможны следующие ответы: yes Заменить значение счетчика в суперблоке на текущее значение из оперативной памяти. no Игнорировать ошибку. Bad free list (salvage) Плохой список свободных (исправить) На шаге 5 были найдены ошибочные или дублированные блоки в списке свободных блоков или блоки, пропущенные в данной фай- ловой системе (см. п. 3.1.2, п. 3.2.3 и п. 3.2.4). На вопрос salvage возможны следующие ответы: yes Заменить текущее значение счетчика в суперблоке на значение из оперативной памяти. Новый список сво- бодных блоков должен будет сократить время ожида- ния, выделяемое диску, для его подхода в требуемую позицию. no Игнорировать ошибку. 4.8. Шаг 6: восстановление списка свободных блоков В данном разделе приведены ошибки, причинами которых является задание неверных значений параметров пропускаемых блоков и блоков, приходящихся на цилиндр. Default free list spacing assumed Используется расположение свободных блоков по умолчанию - 31 - Это сообщение только указывает, что число пропускаемых бло- ков больше числа блоков, приходящихся на цилиндр; число про- пускаемых блоков меньше единицы; число блоков, приходящихся на цилиндр меньше единицы или превышает 500. По умолчанию назначается 9 пропускаемых блоков и 400 блоков, приходящихся на цилиндр. 4.9. Чистка После проверки файловой системы, выполняются некоторые действия по ее чистке. В данном разделе приводятся сообщения о файловой системе и изменении ее состояния. X files Y blocks Z free X файлов Y блоков Z свободно Данное сообщение указывает, что проверенная файловая система содержала X файлов, в ней использовано Y блоков и Z блоков свободно. ***** Boot DEMOS (no sync!) ***** ***** Перезагрузите систему (без sync!) ***** Это сообщение указывает на то, что программа fsck закончила модификацию монтируемой или корневой файловой системы. Если сразу же не перезагрузить ситему ДЕМОС, то изменения, вне- сенные fsck в файловую систему, могут быть уничтожены при обменах с оперативной памятью. ***** File system was modified ***** ***** Файловая система была изменена ***** Это сообщение указывает на то, что fsck изменила файловую систему. Если данная файловая система смонтирована или является корневой, необходимо остановить fsck и перезагру- зить ДЕМОС. Если перезагрузка не будет осуществлена, работа, выполненная программой fsck, может пропасть впустую. - 32 - СОДЕРЖАНИЕ АННОТАЦИЯ ......................................... 2 1. Предварительные сведения .......................... 3 1.1. Назначение программы fsck ....................... 3 1.2. Структура файловой системы ...................... 3 1.2.1. Суперблок ..................................... 4 1.2.2. i-узлы ........................................ 4 1.2.3. Косвенные блоки ............................... 4 1.2.4. Блоки данных .................................. 4 1.2.5. Блок списка свободного пространства ........... 5 2. Выявление и устранение ошибок в файловой системе .. 5 2.1. Методы восстановления файловых систем ........... 5 2.2. Вызов fsck ...................................... 6 2.3. Пример использования fsck. ...................... 10 2.4. Суперблок ....................................... 10 2.4.1. Размеры файловой системы и списка i-узлов ..... 10 3. Список свободных блоков ........................... 11 3.1.1. Счетчик свободных блоков ...................... 11 3.1.2. Счетчик свободных i-узлов ..................... 11 3.2. i-узлы .......................................... 11 3.2.1. Формат и тип .................................. 12 3.2.2. Счетчик связей ................................ 12 3.2.3. Дублированные блоки ........................... 13 3.2.4. Ошибочные блоки ............................... 13 3.2.5. Проверка размеров ............................. 13 3.3. Косвенные блоки ................................. 14 3.4. Блоки данных .................................... 14 3.5. Блоки списков свободного пространства ........... 15 4. Диагностика ....................................... 16 4.1. Подготовительные действия ....................... 16 4.2. Шаг 1: проверка блоков и размеров ............... 19 4.3. Шаг 1b: поиск оставшихся дублированных блоков ... 22 4.4. Шаг 2: проверка полных имен файлов .............. 22 4.5. Шаг 3: проверка связности ....................... 24 4.6. Шаг 4: проверка счетчиков ссылок ................ 26 4.7. Шаг 5: проверка списков свободных блоков ........ 29 4.8. Шаг 6: восстановление списка свободных блоков ... 31 4.9. Чистка .......................................... 32 - 33 -