Где фиксируется протокол загрузки ос

Обновлено: 13.05.2024

Процесс загрузки компьютера казалось бы изучен нами до мелочей: кнопка - BIOS - операционная система - логин. А ты задумывался когда-нибудь о том что же на самом деле происходит в это время внутри твоего компьютера? Можешь по шагам рассказать как работает компьютер? Уверен, что нет. Поэтому сегодня проведем короткий ликбез - расскажем о том, как же на самом деле загружается компьютер.
Эта статья рассматривает работу Windows XP, в остальных системах процесс, естественно, несколько отличается.

Включается тумблер питания.
Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.

Таймер микропроцессора получает сигнал Power Good.
С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.

CPU начинает выполнять код ROM BIOS.
Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.

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

BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а.
Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.

ROM BIOS проверяет выключение это или перезагрузка.
Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.

Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти.
Процедуру POST можно разделить на три компоненты:

Видео тест инициализирует видео адаптер, тестирует карту и видео память, показывает конфигурацию или возникшие ошибки.
Идентификация BIOS-а показывает версию прошивки, производителя и дату.
Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень :). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.

BIOS читает конфигурационную информацию из CMOS.
Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.

Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе.
Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций), которая содержит информацию о логических дисках, имеющихся на жестком диске.

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

Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела.
В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл операционной системы (IO.SYS в DOS).

Операционная система.

Управление передается операционной системы. Как же она работает, как проходит процесс загрузки?

Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как программа.
Загрузка Windows XP контролируется файлом NTLDR, находящемся в корневой директории системного раздела. NTLDR работает в четыре приема:

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP.
Если кто забыл, то наша любимая ОСь может работать с FAT-16, FAT-32 и NTFS.

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени.
Если такого файла нет, то NTLDR продолжает загрузку с первой партиции первого диска, обычно это C:\.

Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации.

После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNK.EXE).
В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их NTLDR передает управление компьютером дальше.
Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для кажого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. На этом этапе на экране показывается графический экран со статус баром.
XP дизейблит прерывания в процессе фазы 0 и включает их только перед фазой 1. Вызывается HAL для подготовки контроллера прерываний. Инициализируются Memory Manager, Object Manager, Security Reference Monitor и Process Manager. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессор они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке:

Object Manager
Executive
Microkernel
Security Reference Monitor
Memory Manager
Cache Manager
LPCS
I/O Manager
Process Manager

Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету.
Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration.

Последняя задача фазы 1 инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT.
SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и "родным" приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login.

SMSS загружает win32k.sys - графическую подсистему.
Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно процесс загрузки считается удачным и создается Last Known Good Configuration.

Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему.
Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу

Ошибка невозможно отобразить узел при установке плагина Yootooltip. Ошибка только в IE. Opera и FF работают корректно.Вот решение.This is a possible f…

Применение сторонних утилит для настройки Windows уже давно стало традицией среди пользователей, а стоило бы знать, что множество параметров операционной системы можно настроить ее же средствами, не прибегая к сторонним и подчас платным инструментам. Чего стоит только одна PowerShell вкупе с командной строкой. Впрочем, речь сегодня пойдет не о них, а о MSConfig — замечательной во многих отношениях штатной утилите, предназначенной для управления автоматически запускаемыми процессами и процедурой загрузки Windows.

В настоящее время утилита MSConfig используется в основном при проведении различного рода диагностических работ.

MSConfig

Сама тулза диагностическим инструментом не является, она позволяет последовательно отключать службы, второстепенные драйвера и элементы автозагрузки, исключая их потенциально негативное влияние на работу Windows и помогая таким образом установить виновника неполадки. Другой пример использования MSConfig — включение безопасного режима Windows, также служащего для проведения диагностических и ремонтных работ.

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

Но обо всём по порядку.

Немного истории

MSConfig впервые появилась в Windows 98 как инструмент управления режимами загрузки и запускающимися при старте операционной системы службами и приложениями. В Windows 2000 разработчики Microsoft почему-то решили ее убрать, но в XP вернули на место, где она и остается по сей день. В Windows 98 MSConfig значительно отличалась от того инструмента конфигурации, который имеется сейчас в Windows 10. Поскольку в ранних версиях системы еще не было реестра, а настройки хранились в конфигурационных файлах, в MSConfig присутствовали одноименные вкладки, предоставляющие доступ к этим файлам.

System Configuration Utility

MSConfig в Windows 10

Выполнить - msconfig

Из командной строки и PowerShell .

PowerShell - msconfig

Из адресной строки Проводника.

Проводник - Конфигурация системы

Поиск - msconfig

Небольшое по размерам окошко утилиты содержит пять вкладок: Общие, Загрузка, Службы, Автозагрузка и Сервис. Четвертая вкладка Автозагрузка в Windows 10 не содержит никаких опций за исключением ссылки на Диспетчер задач.

Конфигурация системы - Автозагрузка

Это своего рода рудимент и, скорее всего, в следующих версиях вкладка будет удалена.

MSConfig - Общие

Всего режимов три:

• Обычный запуск - Стандартный запуск операционной системы, загружающейся со всеми службами и элементами автозагрузки, в том числе потенциально небезопасными. Активен по умолчанию.

• Выборочный запуск - По сути, то же самое что и диагностический запуск, только с возможностью более гибкой настройки. Так, вы можете выбрать, какой именно набор стартующих вместе с Windows модулей следует отключать, а какой нет. Для выборочного отключения в этом режиме доступны элементы автозагрузки, системные службы и альтернативная конфигурация загрузчика. Последний пункт включен по умолчанию и недоступен для управления. Активируется он только в том случае, если вы измените конфигурацию загрузки на второй вкладке — очень удобно, когда нужно быстро восстановить дефолтные параметры загрузки системы.

MSConfig - Общие

MSConfig - Загрузка

Пожалуй, самая интересная вкладка в оснастке MSConfig. Переключившись на нее, в верхней части окна вы увидите как минимум одну запись, содержащую название установленной системы. Если у вас установлено несколько версий Windows, количество записей будет соответствующим. Вы можете управлять записями загрузчика, выбирая одну из систем в качестве загружаемой по умолчанию. Помимо предоставления списка установленных на одном компьютере ОС Windows, ее инструменты позволяют управлять параметрами загрузки — загружать систему в безопасном режиме.

При этом предлагается на выбор использование четырех параметров.

MSConfig - Загрузка

• Без GUI - Используется при отладке системы. При загрузке Windows не отображается экран приветствия.

• Журнал загрузки - Если задействовать этот параметр, сведения о запущенных вместе с операционной системой драйверах и службах будут записаны в лог ntbtlog.txt , сохраняемый обычно в корневую папку Windows. Используется, когда нужно выяснить, на каком автозагружаемом драйвере или службе произошел сбой.

• Базовое видео - Параметр загружает только стандартный видеодрайвер Microsoft. Пригодится, если по какой-то причине у вас слетел родной драйвер видеокарты.

• Таймаут - Отдельный параметр, позволяющий задать период времени, в течение которого на загрузочном экране будет отображаться список установленных рядом с основной Windows систем.

Дополнительные параметры загрузки

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

MSConfig - Службы

MSConfig - Службы

MSConfig - Сервис

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

MSConfig - Сервис

Итог

Многие пользователи сталкивались с тем, что со временем Windows начинает все дольше и дольше загружаться. В некоторых случаях операционная система может загружаться несколько минут. Не очень приятное явление.

Причин увеличения времени загрузки может быть несколько:

1. Слишком много программ запускается вместе с Windows;

2. Операционная система не может корректно загрузить некоторые драйвера;

3. На жестком диске есть поврежденные сектора, которые тормозят загрузку.

В данном руководстве будет описано как провести диагностику и что делать в каждом из этих случаев. Начнем с первого пункта.

Чистка автозагрузки Windows

Для работы со списком загружаемых вместе с Windows приложений есть очень много утилит. Удобней всего пользоваться встроенными инструментами Windows, а именно msconfig. Для запуска данной утилиты в строке поиска меню Пуск или в Выполнить (вызывается через комбинацию клавиш Win + R) вводим msconfig:

Ускорение загрузки Windows

Ускорение загрузки Windows

Переходим на вкладку Автозагрузка:

Ускорение загрузки Windows

Галочками отмечены приложения, которые загружаются вместе с системой. Отключаем ненужные приложения и смотрим как это влияет на длительность загрузки системы. В общем случае можно все отключить. Система будет работать, но лучше антивирус, Launch Manager, ePower, утилиту тачпада и прочие системные утилиты оставить включенными. Не лишним будет провести дефрагментацию диска.

Более подробно вопрос что лучше включить, а что отключить обсуждается в данной теме форума: Автоазгрузка.

Если чистка автозагрузки не принесла ожидаемого результата, система все равно медленно грузится, то переходим к следующему шагу.

Анализ журнала загрузки Windows

Во время загрузки Windows система загружает различные драйвера. Если некоторые драйвера загрузить не получается, то загрузка операционной системы может довольно существенно замедлиться. Как же можно определить все ли драйвера нормально загружаются?

На самом деле это очень просто сделать. Нужно включить Журнал загрузки. Это можно сделать с помощью упомянутой выше утилиты msconfig. В Windows Vista и Windows 7 достаточно поставить галочку возле Журнал загрузки на вкладке Загрузка:

Ускорение загрузки Windows

В Windows XP нужно перейти на вкладку BOOT.INI и поставить галочку возле /BOOTLOG.

После этого рекомендуется перезагрузить систему:

Ускорение загрузки Windows

Ускорение загрузки Windows

Ускорение загрузки Windows

Включить Журнал загрузки также можно через меню Windows, которое появляется при нажатии на F8 во время загрузки. В Windows XP оно имеет такой вид:

Ускорение загрузки Windows

Выбираете пункт Включить протоколирование загрузки. В Windows Vista и Windows 7 меню похожее. Там выбираете пункт Ведение журнала загрузки.

Выбираете любой из этих двух способов. Если все сделано правильно, то в папке Windows появится файл ntbtlog.txt:

Ускорение загрузки Windows

Это и есть журнал загрузки. Вот его примерное содержание:

Ускорение загрузки Windows

Если системе не удалось загрузить тот или иной драйвер, то в журнале появится запись вроде:

Did not load driver \SystemRoot\System32\DRIVERS\ имя драйвера

Вводите название драйвера в поиск (Google, например) и определяете что это за драйвер, для какого устройства. Потом просто его обновляете или ставите патч на систему.

Также можете обратиться в эту тему форума с указанием имени драйверов и логов: Долгая загрузка или завершение работы Windows.

Если и обновление драйверов и системы не помогло, то можно переходить к винчестеру.

Проверка винчестера на ошибки

Для проверки жесткого диска на ошибки удобно использовать утилиту MHDD . Скачиваем ISO-образ, записываем на диск. Если нет привода, то можно на флешку с DOS скопировать дистрибутив MHDD для DOS. Подробней о флешках тут: Создание загрузочной флешки с DOS.

Загружаемся с диска и флешки:

Ускорение загрузки Windows

Выбираем второй пункт. Дальше появится окошко. Находите ваш жесткий диск в списке и вводите внизу соответствующую цифру:

Ускорение загрузки Windows

Дальше нажимаете F4:

Ускорение загрузки Windows

И еще раз F4 для начала сканирования:

Ускорение загрузки Windows

Ускорение загрузки Windows

Если на жестком диске много оранжевых, розовых и помеченных крестиком секторов, то значит проблема с жестким диском. Стоит задуматься о его замене.

Все вопросы по жестким дискам прошу адресовать сюда: Жесткие диски HDD - Выбор, замена и другие вопросы.

Если с винчестером все хорошо, но Windows все равно долго грузится, то значит у вас медленный винчестер. Чтобы кардинально увеличить скорость загрузки Windows и прочих приложений, нужно установить SSD. У них обычно гораздо выше скорость и ниже время доступа. SSD диски обсуждаются тут: Твердотельные диски SSD - Выбор, установка и другие вопросы

Более серьезно тема ускорения загрузки Windows раскрыта тут: Ускорение загрузки Windows for fun and profit / Windows / Хабрахабр

На этом все. Спасибо за внимание


Вопросы по длительной загрузке Windows прошу задавать исключительно в этой теме форума: Долгая загрузка или завершение работы Windows. Комментарии служат для комментариев!

С уважением, автор материала - Тониевич Андрей. Публикации данного материала на других информационных ресурсах разрешаются исключительно со ссылкой на источник и с указанием автора

  • Facebook
  • Twitter
  • Google+
  • Вконтакте

Информация

Перепечатка материалов и использование их в любой форме, в том числе и в электронных СМИ, возможны только при наличии обратной ссылки.
Поиск по сайтуКарта сайтаОбратная связь



Включение питания


Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.

Если дело не в вилке, то, возможно, в источнике бесперебойного питания — тоже уязвимом аппаратном компоненте системе. Источники бесперебойного питания стоят недорого, но замена аккумуляторов в них — утомительная и трудоемкая задача.

Проверка оборудования и BIOS

Если во время POST обнаруживается ошибка жесткого диска, значит, работа предстоит немалая. Вообще-то я обнаружила, что в половине случаев проблема оказывается в контроллере, а не в самом диске, и замена контроллера позволяет диску нормально выполнять загрузку с сохранением всех данных неповрежденными (все гениальное просто!). Если контроллер жесткого диска первоначальной комплектации выходит из строя, не нужно сразу бежать за новой материнской платой. Достаточно купить новый контроллер. Вместо поиска встроенной микросхемы прочитайте в документации к материнской плате, что необходимо сделать, чтобы BIOS видел новую плату.

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

Управление передается записи Master Boot Record

Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные — не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, — Ntldr и Ntdetect — в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.

Кроме исполняемых команд, MBR содержит таблицу, определяющую расположение главных разделов диска. При установке Windows необязательно делать так, чтобы системный раздел и загрузочный раздел совпадали, хотя это распространенный подход. Загрузочные файлы Windows расположены в системном разделе, а файлы операционной системы — в загрузочном (логика именования отстала от жизни).

Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка \%systemroot%) и файлы поддержки операционной системы (\%systemroot%System).

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

Запуск Ntldr

Запуск Ntdetect

Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE DESCRIPTION.

Запуск Ntoskrnl и загрузка HAL

После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает .dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке \%systemroot%system32.) Ntoskrnl — это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.

Загрузка драйверов и служб

Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются — это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).

При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.

  • (0) означает, что служба загружается во время фазы основной загрузки.
  • (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
  • (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
  • (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
  • (4) означает, что служба отключена.

Загрузка операционной системы

Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.

Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.

Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.

В то время когда загрузка ядра и инициализация драйверов еще не закончилась, компьютер регистрируется в домене. Используя учетную запись компьютера (уникальное имя с собственным паролем), компьютер открывает защищенный канал к контроллеру домена (DC). Все это происходит до того, как на экране появляется диалоговое окно для регистрации пользователя в системе.

В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.

DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.

Загрузка служб регистрации пользователя

Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.

Действительно, сбои во время загрузки мешают всем — и пользователям, и администраторам. Однако, если досконально разобраться в процессе загрузки, проблемы становятся менее устрашающими и администраторам удается без труда решить их.

Реальный режим против защищенного

Тем, кто работает с компьютерами со времен DOS, будет легко понять разницу между реальным и защищенным режимом. Но для тех, чье знакомство с компьютером состоялось после распространения Windows, она может быть не столь очевидной.

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

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

Читайте также: