Распознавание аппаратных средств




Если в меню загрузчика выбрана одна из версий Windows NT/2000/XP или Windows Server 2003 (или же начала загружаться система по умолчанию, когда истек срок действия таймера), то NTLDR вызывает Ntdetect.com, чтобы собрать информацию о физических устройствах, подключенных на данный момент к компьютеру. Ntdetect.com возвращает полученную информацию загрузчику NTLDR.

 

Выбор конфигурации

Если для загрузки выбрана операционная система Windows XP или Windows Server 2003, и в ней имеется только один профиль аппаратной конфигурации, то после того, как загрузчик получит информацию об аппаратных средствах компьютера, он продолжит процедуру загрузки, запустив ядро операционной системы Ntoskrnl.exe и передав ему информацию, собранную программой Ntdetect.com.


Если в системе создано несколько профилей аппаратной конфигурации, и загрузчик не может определить, какой из них должен быть загружен, то на экране появится следующая информация:

 

Hardware Profile/Configuration Recovery Menu This menu allows you to select a hardware profile to be used when Windows is started. If your system is not starting correctly, then you may switch to a previous system configuration, which may overcome startup problems. IMPORTANT: System configuration changes made since the aast successful startup will be discarded. Profile 1 Profile 2 Profile 3 Use the up and down arrow keys to move the highlight to the selection you want. Then press ENTER. To switch to the Last Known Good Configuration, press 'L'. To Exit this menu and restart your computer, press F3. Seconds until highlighted choice will be started automatically: 5

 

После этого загрузчик в течение пяти секунд ожидает, давая пользователю возможность выбрать один из существующих профилей аппаратной конфигурации или одну из перечисленных опций (нажатием клавиши <L> или клавиши <F3>).


Первый аппаратный профиль выделен курсором. Чтобы использовать для загрузки другой аппаратный профиль, клавишами со стрелками переместите курсор к нужной опции и нажмите клавишу <Enter>.

 

Для настольных компьютеров Windows XP создает один аппаратный профиль по умолчанию, включающий в свой состав все аппаратные компоненты, обнаруженные при установке системы. Для портативных компьютеров Windows XP создает два аппаратных профиля по умолчанию (Docked Profile и Undocked Profile) и выбирает нужный профиль в зависимости от того, используется ли портативный компьютер в качестве dock-станции или независимо. Хотя поддержка Plug and Play в значительной степени исключает необходимость ручного создания и конфигурирования аппаратных профилей, они все же могут быть весьма полезны.

Загрузка ядра

Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, Ntldr загружает в память уровень аппаратных абстракций (Hal.dll) и ядро операционной системы Ntoskrnl.exe. Загрузив и запустив ядро, Ntldr передает ему информацию, собранную программой Ntdetect.com.


Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню Hardware Profile/ Configuration Recovery. Помимо этого, загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль). На данном этапе ядро и уровень аппаратных абстракций еще не инициализированы. Далее загрузчик просматривает реестр и загружает улей HKEY_LOCAL_MACHINE\ SYSTEM из файла %SystemRoot%\system32\Config\System.

 

В Windows NT/2000 загрузчик на данном этапе извлекал информацию о заданном по умолчанию или определенном пользователем размере реестра (registry quota).

 

На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в ключе реестра HKEY_LOCAL_MACHiNE\SYSTEM\select (рис. 3.1), определяет, какой набор управляющих параметров из перечисленных в ключе HKEY_LOCAL_MACHINE\SYSTEM должен использоваться при загрузке. По умолчанию загрузчик использует набор управляющих параметров, определяемый значением Default. Если пользователь выбрал последнюю успешно загруженную конфигурацию (LastKnownGood), то загрузчик использует набор управляющих параметров, определяемых значением LastKnownGood. На основании сделанного пользователем выбора и значения ключа Select загрузчик определяет, какой из наборов управляющих параметров (controlSet00x) будет использоваться. После этого загрузчик устанавливает значение Current ключа Select на номер набора управляющих параметров, который он будет использовать.

 

Рис. 3.1. Ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\Select

 

Далее загрузчик сканирует все сервисы (службы), определенные ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, И ищет драйверы устройств, для которых значение start равно 0x0 (такое значение указывает на то, что драйверы должны быть загружены, но не инициализированы). Как правило, драйверы с такими значениями представляют собой низкоуровневые драйверы устройств, например, драйверы дисков. Значение Group для каждого драйвера устройства определяет порядок, в котором загрузчик должен его загружать. Ключ HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\ServiceGroupOrder реестра определяет порядок загрузки.


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

 

 

Инициализация ядра

В системах Windows 2000, Windows XP и Windows Server 2003. об инициализации ядра сигнализирует появление графической заставки (рис. 3.2). Это — чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000/XP и Windows Server 2003 по сравнению с предыдущей версией системы.

 

Рис. 3.2. Появление графической заставки сигнализирует о начале инициализации ядра

 

Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив ключ /SOS в строку файла Boot.ini, управляющего содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов.
Ядро создает ключ HREY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.
Ядро создает набор опций управления Clone, копируя в него опции управления из набора CurrentControlSet. Набор опций управления Clone никогда не модифицируется, т. к. он должен представлять собой полностью идентичную копию данных, которые использовались для конфигурирования компьютера и не должны отражать изменений, внесенных в ходе процесса запуска.


На стадии инициализации ядро выполняет следующие операции:


1. Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии.


2. Загружает и инициализирует остальные драйверы устройств.


3. Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы.


4. Загружает и инициализирует сервисы.


5. Создает файл подкачки pagefile.sys.


6. Запускает подсистемы, необходимые для работы Windows.

 

Windows XP и Windows Server 2003, в отличие от Windows NT/2000, выполняют параллельную инициализацию драйверов. Это сделано с целью ускорения процесса загрузки. Вместо того, чтобы ожидать инициализации предыдущего драйвера для того, чтобы начать инициализацию следующего, эти операции теперь выполняются параллельно. Таким образом, определяющее влияние на общее время загрузки оказывает самое медленное устройство.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: