Данная статья появилась не из-за большой компетентности во внутренностях XP, но как следсвие оверклокинга.
Последовательность загрузки Windwos XP
Если в файле boot.ini поставить ключ /sos, то все этапы загрузки виндовс можно отслеживать визуальнo.
BIOS (Basic Input-Output System : базовая система ввода-вывода) материнской платы должана нормально отработать, опознать все железяки и загрузить главную загрузочную запись (MBR) Если биос была настроена так, что перестала нормально функционировать, надо сбросить настройки биос отключением ее от питания спец джампером (переключателем) на материнской плате.
В нормальном режиме настройки биос меняются из меню bios setup. Но если нет возможности зайти в setup, то единственный способ, который остается - сбросить настройки биоса.
После сброса биоса Checksum bad, но тем не менее биос работает нормально и даже более того - удалось вылечиться от одного глюка с видеокартой
MBR (Master Boot Record - главная загрузочная запись) инициализирует загрузчика windows (ntldr), который ищет в корне диска файл boot.ini и отображает экран выбора установленных операционных систем (если их несколько). Если ОС только одна, соответсвенно ничего не отображается.
При повреждении mbr возможны варианты :
загрузка windows c загрузочных дискет. Загрузочные дискеты делаются средствами виндовс
загрузка со спец CD с установленной на нем ОС
восстановление mbr из RC (recovery console - консоль восстановления)
NTLDR (NT Loader - загрузчик os windows) разпознает аппаратные средсва, загружает ядро ОС и драйвера, затем передает управление ядру вместе с собранной информацией. Ядро инициализирует заргуженные драйвера. Чтобы узнать, что именно он загружает, надо на этапе 2 выбрать опцию : включить протоколирование загрузки (F8) . Список всех загружаемых файлов можно посмотреть в логе : ntbtlog.txt, который нахдится в папке %systemroot% (windows).
Если система уходит в перезагрузку, скорее всего часть системных файлов либо отсутсвует, либо повреждена. По логу это хорошо видно - Did not load driver ..... (загрузчик не смог загрузить драйвер).
До драйвера Mup.sys все просто.
Если система не нашла файл, то его надо заменить на аналогичный. Проблемы могут возникнуть с поврежденными или отсутсвующими файлами реестра, находящимися в папке windows\system32\config (system, system.log, softwafre, software.log, ...), если отсутсвуют их резервные копии. Поэтому неплохо настроить копирование файлов реестра (в автоматическом режиме).
При выставленном ключе /sos виндовс отображает имена загружаемых драйверов до mup.sys включительно. Этот этап легко отследить визуально.
Если происходить перезагрузка на mup.sys, вероятно повреждены файлы реестра (или на жестком диске имеются бэд-сектора).
Появление синей заставки с информацией об операционной системе и памяти говорит об инициализации ядра ОС.
Chkdsk. Далее экран чернеет и производится проверка дисков на наличие грязного бита. Если была запланирована проверка диска на ошибки файловой системы или был установлен dirty bit ядро запускает утититу chkdsk (точнее autochk
»
).
Chkdsk подтвердила предыдущие тесты об отсутствии проблемы с bad sectors.
Отчет chkdsk можно посмотреть через :
Панель управление > Администрирование > Просмотр событий > Приложения > Winlogon.
Сам журнал находится в папке :
system32\Config\SysEvent.evt
Кроме того, существует утилита командной строки PsLogList.exe, позволяющая просматривать журналы событий. Скачать м. здесь.
Все найденные "беcхозные" файлы chkdsk складывает в папки : found000 в корне диска. Утилита chkdsk запускается из командной строки : chkdsk C: /f, где ключ f означает исправить найденные ошибки файловой системы.
Smss.exe
(Session Manager Subsystem
»)
.
Если smss или winlogon.exe не могут запустить какие-либо процессы, то возникают соответсвующие стоп ошибки с BSOD (Blue Screen Of Death).
STOP:0000007b (inaccessible boot device : неправильные драйверы контроллера диска)
Из этого и следующео скринштоа видна последовательность восстановления системы : была устранена ошибка Session Manager, затем появляется следующая : windows logon process. Process explorer наглядно представляет зависимость запускаемых процессов.
Winlogon.exe»
STOP:c000021a Windows Logon Process (0xc0000135 - can`t finde dll)
NC
Итак, виндовс все-таки загрузилась с поддержкой командной строки. Что мы имеем ? Командная строка потеряла возможность переключать языки с английского на русский. Пытаемся вылечит след командой : kb16.com ru (или kb16.com ru,866). Но далее происходит нечто :
Т.е в папку Мои Документы попасть нет никакой возможности.
Попытка в save mode проверить целостность защищенных файлов системной утититой sfc вызывает сообщение о недоступности RPC
Позволяет выводить в командной строке список всех загруженных драйверов. Если windows смогла загрузиться в безопасном режиме или с поддержкой командной строки, то можно запустить данную утилиту и посмотреть какие драйверы загружены, какие нет. Для сохранения в файл надо перенаправить вывод в файл (drivers > list.txt) Скачать м. отсюда.
NC
С windows xp идут две утилиты для проверки драйверов :
Sigverif.exe - проверяет в выбранной папке драйверы на наличие цифровой подписи
Verifier.exe (диспетчер проверки драйверов) - задает разные экстремальные режимы работы драйверов для выявления глючных драйверов.
STOP:0x0000007b (inaccessible boot device - недоступно устройство загрузки)
Для того, чтобы понять что означает ошибка stop:0x7b надо представлять структуру разделов жесткого диска. Очень часто один жесткий диск разбивается на несколько логических дисков или разделов (partition), которым windows назначает буквы : C:\, D:\, E:\ и т.д. В самом начале жесткого диска на первом разделе по фиксированному адресу располагается MBR. Когда BIOS выполнит все свои задачи, она ищет на загрузочном устройстве (это могут быть floppy disk, CD-disk, HDD и т.д.) MBR и загружает ее в память. BIOS поочередно обращается сначала к дисководу мягких дисков и если там есть загрузочная дискета производит загрузку с этой дискеты. Если дискета отсутсвует, или она незагрузочная, bios обращается к cd-приводу. Если в приводе нет загрузочного диска биос обращается к жесткому диску и производит загрузку уже с него. В настройках биос можно изменять последовательность загрузки (boot sequence) с различных устройсв.
Когда загрузилась MBR она читает таблицу разделов жеского диска, узнает какие разделы существуют на диске, выясняет, какой из разделов является системным (активным), его адрес на жеском диске и ищет в начале этого раздела PBS (partition boot sector - загрузочный сектор раздела) и загружает его в память. MBR - находится на секторе 1, цилиндр 0, головка 0.
PBS уже производит загрузку операционной системы. Если MBR является независимой от типа Операционной Системы и файловой системы, то PBS зависит. PBS выясняет тип файловой системы, после чего ищет загрузчика windows - ntldr. PBS - это сектор 0 на разделе
Описание весьма неточное, но тем не менее оно дает представление о том, что происходит во время загрузки windows. Теперь об ошибке stop:STOP:0000007b. Она возникает когда windows не может получить доступ к PBS. Это может быть если отсутсвует PBS, или она повреждена (вирусом), или ...
Хотя windows сообщает, что проблема заключается в hard drives, на самом деле это не так (в одном конкретном случае), т.к. с другого раздела этого же жесткого диска виндовс загружается без проблем. Проверка на вирусы ничего не дает, так же как и запуск chkdsk /f
Более подробно об ошибке stop:0x7b и методах ее устранения
»