
- •Глава 6. Реестр, загрузка системы и предотвращение сбоев
- •Глава 6
- •Примечание
- •Примечание
- •Примечание
- •Примечание
- •Примечание
- •Invalid partition table (Неверная таблица разделов);
- •Примечание
- •Функции загрузчика ntldr
- •Примечание
- •Выбор запускаемой операционной системы
- •Примечание
- •Распознавание аппаратных средств
- •Выбор конфигурации (аппаратного профиля)
- •Примечание
- •Инициализация ядра
- •Примечание
- •Загрузка и инициализация драйверов устройств
- •Ключ Memory Management
- •Примечание
- •Примечание
- •Примечание
- •Наборы управляющих параметров в реестре
- •Внимание
- •Параметр Start
- •Параметр ErrorControl
- •Обеспечение запуска системы при любых обстоятельствах
- •Проверка системных файлов
- •Примечание
- •Примечание
- •Примечание
- •Примечание
- •Примечание
Глава 6. Реестр, загрузка системы и предотвращение сбоев
Реестр и загрузка системы
Процесс самотестирования при включении
Файлы, необходимые для запуска системы
Процесс инициализации при запуске
Работа загрузчика
Функции загрузчика NTLDR
Выбор запускаемой операционной системы
Опции отладочного меню при загрузке Windows XP
Распознавание аппаратных средств
Выбор конфигурации (аппаратного профиля)
Загрузка ядра
Инициализация ядра
Загрузка и инициализация драйверов устройств
Загрузка сервисов
Параметр реестра BootExecute
Ключ Memory Management
Ключ DOS Devices
Ключ Subsystems
Регистрация в системе
Загрузка остальных сервисов и драйверов
Наборы управляющих параметров в реестре
Параметр Start
Параметр ErrorControl
Обеспечение запуска системы при любых обстоятельствах
Зашита системных файлов Windows 2000/XP
Механизм защиты драйверов цифровой подписью
Другие средства защиты системных файлов Windows 2000/XP
Верификация цифровой подписи файлов
Запуск системы с конфигурационными проблемами
Консоль восстановления
Применение Консоли восстановления
Отчет об ошибках
Резюме
Глава 6
Реестр, загрузка системы и предотвращение сбоев
Как говорилось в главе I, реестр операционной системы Windows XP играет исключительно важную роль — фактически он управляет всей конфигурацией компьютера. Помимо этого, также как и в Windows NT/2000, информация, хранимая в реестре, управляет и процессом загрузки. Понимание того, как информация реестра влияет на последовательность загрузки Windows XP, позволяет решать многие проблемы с невозможностью запуска или некорректным запуском этих операционных систем.
Примечание
Как уже отмечалось, процесс загрузки Windows XP очень напоминает загрузку Windows NT/2000. И это неудивительно, поскольку система Windows XP была создана на основе ядра Windows NT/2000. Однако в этой области имеется несколько усовершенствований, которые будут отмечены в этой главе. К ним относятся использование логического упреждения (logical prefetching) для ускорения загрузки, модернизация загрузчика, а также усовершенствование процесса загрузки системы в целом.
Важность роли системного реестра невозможно переоценить, поскольку он нужен уже на этапе работы загрузчика. Так, если на этапе работы загрузчика улей \SYSTEM, необходимый в том числе и для загрузки драйверов, не будет обнаружен (или окажется поврежденным), то на экране появится то самое сообщение об ошибке, которое было приведено в начале главы 1:
Windows 2000 Could not start because the following
file is missing or corrupt:
\WINNT\SYSTEM32\CONFIG\SYSTEM
You can attempt to repair this file by Starting
Windows 2000 Setup using
the original Setup floppy disk of CD-ROM.
Select 'r' at the first screen to repair.
Улей реестра \SYSTEM в работающей системе видим для пользователей в составе дерева HKEY_LOCAL_MACHINE. Этот улей определяет порядок загрузки всех драйверов системы, и доступ к нему получают как загрузчик операционной системы (NTLDR), так и Диспетчер ввода/вывода (I/O Manager).
Каждый драйвер, существующий в системе, имеет свой ключ в составе ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Любой из таких ключей, в свою очередь, имеет в своем составе параметр start. Значение, присвоенное параметру start, имеющемуся в составе ключа каждого конкретного драйвера, определяет, на каком этапе загрузки системы производятся загрузка и инициализация данного драйвера. Более подробную информацию об этом параметре можно найти в следующих разделах данной главы.
Реестр и загрузка системы
Процессы, имеющие место при успешном запуске компьютера, работающего под управлением Windows NT/2000/XP, перечислены ниже:
самотестирование при включении (Power On Self Test, POST);
инициализация при запуске (Initial startup process);
работа загрузчика (Boot loader process);
выбор операционной системы (при наличии нескольких систем);
опознавание аппаратных средств;
выбор конфигурации;
загрузка ядра;
инициализация ядра;
регистрация пользователя.
Примечание
Процесс запуска начинается, когда пользователь выполняет одно из следующих действий:
включает компьютер (который ранее был выключен);
выполняет перезагрузку компьютера, выбрав опцию Завершение работы (Shutdown) в диалоговом окне Вход в Windows (Enter Password) или опцию Перезагрузка (Restart) в диалоговом окне Завершение работы Windows (Shut Down Windows) — рис. 6.1.
Однако, эта последовательность не применима к возобновлению работы после спящего (hibernate) и ждущего режимов (standby).
Рис. 6.1. Окно Завершение работы Windows
Для Windows XP, функционирующей на базе системы Itanium, можно выделить следующие этапы загрузки:
фаза самотестирования при включении питания (Power-on self test, POST);
фаза инициализации при запуске; О фаза загрузки ядра;
фаза инициализации драйверов устройств Windows XP и инициализация сервисов;
фаза регистрации пользователя в системе Windows XP.
К тому моменту, когда производится регистрация пользователя в системе, компьютер уже завершает загрузку Windows NT/2000/XP и большую часть процесса инициализации. Однако полностью все процессы будут завершены только после успешной регистрации пользователя в системе.
Для начала успешной загрузки Windows NT/2000/XP необходимо соблюдение следующих условий:
корректная инициализация аппаратных средств компьютера;
наличие всех файлов, необходимых для загрузки системы.
Процесс самотестирования при включении
При включении питания или перезагрузке компьютер проходит стадию самотестирования при включении (Power On Self Test, POST), представляющую собой набор тестов, предназначенных для определения правильности функционирования аппаратных средств. В случае возникновения проблем с аппаратными средствами или настройкой компьютера уже на стадии самозагрузки, POST сигнализирует об этом серией звуковых сигналов. Для подобных случаев следует иметь под рукой сопроводительную документацию, полученную от поставщика в комплекте с компьютером.
Программа POST решает описанные ниже задачи.
Выполняет диагностическую подпрограмму, которая в зависимости от встроенных программных средств может выполнять некоторые элементарные проверки аппаратных средств, например, определять количество доступной памяти. Диагностическая подпрограмма POST также осуществляет проверку того, что все устройства, необходимые для запуска операционной системы (например, жесткий диск), присутствуют в системе и правильно инициализированы.
После завершения диагностической подпрограммы, POST извлекает параметры установки конфигурации из CMOS-памяти (Complementary Metal Oxide Semiconductor; комплементарный метал-оксидный полупроводник, КМОП), размещенной на материнской плате. После того как выполнится POST материнской платы, каждый дополнительный адаптер со встроенной микросхемой firmware (например, видеоконтроллеры или же контроллеры жестких дисков) выполняет специальную собственную подпрограмму POST.
При обнаружении проблем, связанных с аппаратными средствами или установками BIOS, программа POST выдает серию звуковых сигналов. Программа POST управляется системной BIOS компьютера и зависит от конкретного компьютера. Поэтому документацию на компьютер рекомендуется всегда иметь под рукой.
Тема отыскания и устранения неисправностей в аппаратном обеспечении компьютера выходит за рамки данной книги. Фактически, она заслуживает отдельного исчерпывающего тома. Однако можно порекомендовать обратиться к полезным ресурсам по данному вопросу в сети, которые помогут получить представление о кодах ошибок BIOS:
BIOS Survival Guide по адресу http://burks.bton.ac.uk/burks/pcinfo/hardware/ bios_sg/bios_sg.htm;
Definitions and Solutions for BIOS Error Beeps and Messages/Codes (различная информация по звуковым сигналам, сообщениям и кодам BIOS) по адресу: www.earthweb.com.