PDA

Показать полную графическую версию : Как ОС определяет неисправную Файловую систему?


ScorpionXXX
10-03-2007, 06:46
Если представить на компе стоит 2 ОС и во время работы одной из них произошла неожиданная перезагрузка, то при новом запуске той же ОС она стремиться проверить диск на наличие ошибок. Если отказаться и загрузить вторую ОС, то и та будет так же пытаться проверить диск на ошибки. Вопрос: она, что где-то помечает, что диск нужно проверить или ошибка в Файловой системе настолько серьезная, что ее замечает любая ОС? Ведь за время запуска ОС она не в состоянии проверить весь диск, но ведь как-то определяет, что так что-то не так.

Coutty
10-03-2007, 16:46
Видимо в файловой системе есть какой-то бит "выгружена корректно / закрыты все потоки чтения-записи", который при начале загрузки системы устанавливается в ноль, а при выключении - в единицу. Соответственно, если нажать reset, то в единицу оно не переставляется.
Моя теория.

Igor_I
10-03-2007, 18:28
про Linux
В момент монтирования файловой системы в процессе загрузки, бит в заголовке (<чистый бит> / ) стирается, это означает что файловая система используется, и что структуры данных используемые для управления размещением и организации файлов и директорий, в данной файловой системы могут быть изменены.

Файловая система расценивается как целостная если все блоки данных в ней либо используются, либо свободны; каждый размещенный блок данных занят одним и только одним файлом или директорией; все файлы и директории могут быть доступны после обработки серии других директорий в файловой системе. Когда система Linux намеренно прекращает работу используя команды оператора, все файловые системы размонтируются. Размонтирование файловой системы в процессе завершения работы устанавливает <чистый бит> в заголовок файловой системы, указывая на то, что файловая система была размонтирована должным образом и, тем самым, может рассматриваться как целостная.

Года отладки и переработки файловой системы и использование улучшенных алгоритмов для записи данных на диск в большой степени уменьшили повреждение данных вызываемых приложениями или самим ядром Linux, но устранение повреждения и потери данных в связи с отключением питания и другими системными проблемами до сих пор является сложной задачей. В случае аварийной остановки или простого отключения Linux системы без использования стандартных процедур остановки работы <чистый бит> в заголовке файловой системы не устанавливается. При следующей загрузке системы, процесс монтировки обнаруживает, что система не маркирована как <чистая>, и физически проверяет ее целостность использую Linux/Unix утилиту проверки файловой системы 'fsck' (File System ChecK).

Coutty
10-03-2007, 18:39
Ну да, что-то подобное я и имел в виду =)

gf100
10-03-2007, 19:36
Не далее, как сегодня нарвался на эту самую ситуацию в windows после выполнения преобразования раздела из fat в ntfs paragon'ом. Саморемонт автоматически системными средствами не получается и при ручном запуске тоже:C:\>chkdsk j: /f
Тип файловой системы: NTFS.
Повреждена основная таблица файлов. Выполнение CHKDSK прервано.Т.е. любой экземпляр ОС пытается прочитать корневые файловые системы всех дисков и, если находит ошибку, пытается исправить.




© OSzone.net 2001-2012