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

А вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!

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

Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае - Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.

Mining and crafting

Настройка отладки хорошо гуглится, поэтому описывать подробно этот процесс я не буду. Поскольку нас интересует все происходящее с момента старта системы, нам нужно отметить пункт «Cycle Initial Break», с помощью чего отладчик остановится, как только в отлаживаемой системе будет загружена подсистема отладки ядра. Дублирование вывода в файл можно осуществить при помощи команд ".logopen" и ".logclose", это просто. Другая полезная команда - ".cls". Она очищает экран команд, и да, только экран команд.

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

Если у вас достаточно маны, вводите следующую команду:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
Магическая строчка буквально означает следующее:

  • bu (Set Unresolved Breakpoint) - установить неразрешенную точку останова. Не то чтобы кто-то или что-то не разрешал, просто для ее установки необходимо определиться, по какому адресу ее ставить. Дело в том, что заранее не известно, по какому адресу она должна располагаться. При загрузке любого модуля проверяется присутствие в нем необходимой функции, и если такая функция найдена, точка останова устанавливается автоматически. Такой способ установки незаменим при включенном ASLR - рандомизации адресного пространства, поскольку модули будут загружаться каждый раз по разным адресам, и точка останова, установленная по фиксированному адресу, с большой вероятностью окажется не у дел.
  • nt!MiCreateImageFileMap - символ, на котором нужно останавливаться. В WinDbg принята запись в форме "module_name!function_name". В данном случае nt является предопределенным псевдонимом для ntoskrnl.exe.
  • далее следует часть WinDbg-скрипта, которая будет выполняться каждый раз при остановке на этой функции. «dt nt!_EPROCESS -d ImageFileName @$proc» по-русски означает «отобразить поле ImageFileName структуры _EPROCESS из модуля nt при условии ее отображения по адресу, определенному в псевдорегистре «текущий процесс»». Следующая после разделителя ";" команда означает примерно то же самое, только адрес структуры берется из регистра rcx, в котором в Microsoft x64 ABI передается первый параметр функции. «g» означает «go», т.е. продолжить исполнение.

Небольшая рекомендация по использованию логирующих точек останова: старайтесь не использовать расширения отладчика (команды, начинающиеся с "!"), поскольку в таком случае логирование будет выполняться на порядок медленнее.

Поехали! Отжимаем тормоз точки останова и ждем. Я ждал, пока не прогрузится рабочий стол, т.е. я залогинился. Полученный «урожай» немного редактируется, обрезается все лишнее для удобства дальнейшей обработки и скармливается дружище питону. Не будем заострять внимание на парсинге лога. Отметим только, что граф укладывался в форму спирали Архимеда с дальнейшей коррекцией вручную, поскольку происходило наложение узлов друг на друга. В полученном графе учитывается порядок загрузки библиотек. К сожалению, пришлось пожертвовать учетом порядка загрузки исполняемых файлов относительно библиотек в угоду удобочитаемости графа.

Карта звездного неба


Условно выделим несколько групп загрузки.

Начинается работа OC в модуле ntoskrnl.exe, являющимся ядром ОС. А если еще конкретнее - с функции KiSystemStartup(). Вместе с загружаемыми системными компонентами она формирует фундамент ОС: разделение режимов работы, базовые сервисы для пользовательских приложений и т.п. В эту же группу входят драйверы, отмеченные для загрузки во время старта системы. В двух словах, в этой ракушке зарождается ОС Windows.

Следующий узел - менеджер сессий (session manager). Его представляет первый после системного процесс, стартующий в Windows - smss.exe. Процесс примечателен тем, что является родным (native) процессом Windows, то есть он не использует подсистему Win32, которая в общем-то еще не загружена. Этот процесс использует только нативные сервисы операционной системы посредством ntdll.dll, представляющей собой интерфейс режима пользователя для сервисов ОС. Также этот процесс является доверенным компонентом операционной системы и обладает исключительными правами, например, он может создавать маркеры безопасности (security tokens). Но главное его предназначение - создание сеансов и инициализация подсистем, как графической, так и различных исполняемых (Windows, POSIX). Эта ракушка воздает каждому по потребностям.

Группа входа в систему (logon) состоит из нескольких процессов. В целом они отвечают за инициализацию сеансов. Это включает в себя отображение экрана приветствия, создание рабочих столов, запуск процессов автозагрузки и инициализацию подсистемы безопасности и т.п. Этот веник отметает всех посторонних.

Самой массивной оказалась группа сервисов. Во многом она обязана своим объемом службе SuperFetch. Эта та самая, про которую говорят, что она по выходным заранее прогружает офисный пакет, а в начале рабочей недели - Steam с игрушками. Superfetch прогружает огромное количество модулей при старте системы, чтобы потом «все быстрее работало». Да и кроме него в системе хватает сервисных приложений и автозапускающихся драйверов. Думаю, все видели оснастку «Службы и приложения». Эта звезда жизни заводит в системе все, что нужно и не очень.

Последним отмечу любимый всеми explorer.exe. Примечательно, что к моменту его запуска все используемые им модули уже загружены в память. В скриншот также попал некий vcredist_x64.exe - бедолага лежал на рабочем столе подопытной виртуальной машины и был прогружен в память проводником.

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

Лично я держу получившуюся картинку под боком. По ней хорошо прослеживаются зависимости, например, драйверов. Также в паре с утилитой Sysinternals Autoruns можно увидеть, на каком этапе загрузки подтягиваются те или иные модули.

Граф загрузки был построен для ОС Windows 7 Enterprise x64, установленной на виртуальной машине VMware. Ниже приведены векторное изображение графа и непосредственно файл в формате gml, с которым можно поиграться в любом редакторе графов.

Привет друзья! Увидел у в комментариях вопрос, о том, как убрать выбор ОС при включении компьютера , и решил об этом написать.

Один косвенный вопрос - можно ли как-то избавиться от выбора системы при загрузке? Можно конечно снять галочку «выбор системы», но как-то не фэн-шуй. А как в ХП поправить тут что-то на подобии ВООТ.INI (чтоб удалить строку) я не знаю(((

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

Кстати работаю не со своего компьютера. Работаю сегодня на Windows XP и слабеньком железе, еще и через 3G интернет. Так что извините если что не так:).

От чего появляется окно с выбором операционной системы при загрузке компьютера? А от того, что вы невнимательно читаете мой блог, в частности статьи о том и . В процессе установки появляются разные сбои и ошибки, вы устанавливаете Windows сначала, или устанавливаете в не отформатированный раздел. У меня раньше такое было, и я не мог понять от чего это.

Убираем окно с выбором Windows. Простой способ.

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

Значит нажимаем правой кнопкой мыши на “Мой компьютер” и выбираем “Свойства” . Переходим на вкладку “Дополнительно” и в разделе нажимаем параметры.

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

Затем снимаем галочку с пункта “Отображать список операционных систем и нажмите “Ок” .

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

Убираем выбор ОС с помощью файла boot.ini. Сложный способ.

Как я и обещал, второй способ. Помните, что редактирование файла boot.ini может привести к отказу системы.

Заходим туда же, как и в первом способе, только ничего не меняем, а нажимаем на “Правка” (скриншот выше).

Откроется окно, с редактированием файла boot.ini.

Правильное содержание файла boot.ini для Windows XP Professional выглядит вот так:

timeout=30

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /fastdetect

Если установлено две системы и появляется выбор, то он выглядит вот так:

timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Windows XP Professional” /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Windows 2000 Professional” /fastdetect

Подробнее о редактировании boot.ini можно почитать на сайте Microsoft http://support.microsoft.com/kb/289022/ru.

Но снова же я не советую вам лесть в эти дебри. Лучше воспользуйтесь первым способом, и окно с выбором ОС у вас пропадет.

Ещё на сайте:

Как убрать выбор операционной системы при включении компьютера обновлено: Январь 12, 2015 автором: admin

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

Как убрать при загрузке выбор системы

В этом случае можно пойти двумя путями, первый - , которое используется в операционных системах Windows Vista, и , и он описан в другой статье. Второй путь намного легче и с ним справится любой пользователь, даже начинающий, вот его и предлагаю рассмотреть здесь.
В нашей статье я расскажу как убрать выбор системы при загрузке Windows 7, Windows 8 и .

Как убрать при загрузке выбор системы в меню загрузки Windows 7

Пуск - Выполнить

Ещё один способ убрать при загрузке Windows 7 выбор операционных систем

Пуск-->Панель управления-->щёлкаем правой мышью на "Компьютер" и выбираем "Свойства",

затем "Дополнительные параметры системы",

Снимаем галочку с пункта "Отображать список операционных систем", нажимаем ОК. Применить. ОК.

Как убрать при загрузке выбор системы в меню загрузки Windows 8

Щёлкаем правой мышью на меню Пуск и Выполнить

Вводим в поле ввода команду msconfig

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

Всё, теперь при загрузке Windows 8 не будет выбора операционных систем.

Ещё один способ убрать при загрузке Windows 8 выбор операционных систем

Щёлкаем правой мышью в левом углу рабочего стола и выбираем "Панель управления",

Затем Система и безопасность.

Система,

Снимаем галочку с пункта "Отображать список операционных систем", нажимаем ОК.

Применить. ОК.

Как убрать при загрузке выбор системы в меню загрузки Windows XP Пуск-->Панель управления-->щёлчок правой мышью на значке "Мой компьютер" и выбираем "Свойства",

Снимите галочку с пункта "Отображать список операционных систем" и "Отображать варианты восстановления", нажимаем ОК.

Применить. ОК.

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

Вкратце процесс загрузки компьютера описан в статье "Включение ПК" раздела BIOS. Рассмотрим этот процесс более подробно.

Инициализация системы средствами BIOS

  1. Нажатие кнопки включения питания. При включении кнопки Power на элементы материнской платы поступают питающие напряжения; по сигналу Power Good запускается тактовый генератор; на процессор подается сигнал сброса, который устанавливает его в исходное состояние. Начинают работать программы системного BIOS.
  2. Проверка BIOS. Контрольная сумма системных программ, находящихся в ПЗУ, находится в одной из ячеек. После запуска контрольная сумма пересчитывается и сравнивается с эталонным значением.
  3. Идентификация процессора. Материнская плата предусматривает возможность установки различных моделей процессора. БИОС подает запрос на идентификацию процессора и по полученному ответу определяет тип процессора, частоту, напряжения и проч.
  4. Настройка базовых элементов. Инициализируются и тестируются базовые компоненты системной платы: блок прямого доступа к памяти, таймер, блок аппаратных прерываний.
  5. Тестирование ОЗУ. Определяется тип модулей памяти, их объем, организация; тестируются первые 64 Кб оперативной памяти.
  6. Организация рабочих структур ОЗУ. Выделяется область под БИОС, настраиваются прерывания.
  7. Проверка CMOS-памяти и батарейки. При неисправной батарейке CMOS все данные настройки БИОС, находящиеся в памяти теряются. Загрузка последней конфигурации становится невозможной, о чем сообщается на экране монитора. Есть возможность осуществить загрузку стандартных заводских значений БИОС.
  8. Инициализация устройств материнской платы. Производится поиск и настройка загрузочных устройств (жесткий диск, привод CD, FDD), средств управления процессом загрузки (клавиатура, мышь), устройств ввода-вывода (COM, LPT). Устройствам выделяются соответствующие линии прерывания .
  9. PnP. Идентифицируются устройства, подключенные через системные разъемы. Устройствам выделяются ресурсы и прерывания.
  10. Включение видеосистемы. Запускается Video BIOS, который настраивает видеоконтроллер на режим VGA или EGA, которые поддерживают все видеоконтроллеры. После этого видеоконтроллер готов к работе.
  11. Выдача сообщения на экран монитора. На экране монитора появляется первое сообщение: фирма-производитель BIOS, тип и частота процессора, тип и объем ОЗУ.
  12. Тестирование ОЗУ. Производится выборочная проверка незадействованной оперативной памяти.
  13. Инициализация контроллера дисководов.
  14. Инициализация контроллера жестких дисков.
  15. Инициализация клавиатуры. Включается контроллер клавиатуры, производится тест матрицы контактов, устанавливаются временные параметры опроса клавиш и режим NumLock. Клавиатура готова к работе. На экран выводится сообщение о возможности использования программы BIOS Setup (обычно для этого используется клавиша Del).
  16. Поиск устройств с собственным BIOS. Если таковые устройства найдены, то управление передается BIOS-программам этих устройств и происходит их инициализация.
  17. Передача управления загрузчику ОС. По программному прерыванию Int 19h на дисковых накопителях ищется загрузчик ОС (Boot Record). Он должен находиться на одном из устройств (HDD, CD, FDD, SCSI). Местоположение загрузчика везде одинаково. После того, как загрузчик ОС найден, управление передается ему.

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

Ядро операционной системы (ОС) загружается в ОЗУ, после чего в памяти системы размещается основная часть ОС.


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


На заре развития персоналок конфигурирование системы требовало от пользователей соответствующей квалификации. Наверняка, пользователи со стажем еще помнят такие файлы, как config.exe и autoexec.bat , которые надо было правильно настроить, чтобы "телега" нормально поехала.


Что поделать, - это была обратная сторона медали открытой архитектуры IBM. За удобство получения компьютера нужной конфигурации надо было платить знаниями по его правильной настройке. Такие неудобства отпугивали неподготовленных пользователей, поэтому, фирмы-производители ПК не могли долго мириться с подобным положением вещей. Производители компьютерной техники и разработчики программного обеспечения постарались максимально снять с потребителя необходимость конфигурирования своего компьютера. Впервые новая процедура настройки системы была применена в ОС Windows - операционная система сама "опрашивала" подключенные устройства и правильно настраивала их:

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

Задача, в общем-то, довольно сложная. Для облегчения ее выполнения производители чипсетов и разработчики ПО согласовали и установили определенные правила механизма начальной загрузки. Теперь компоненты компьютерной системы, требующие инициализации и настройки комплектовались соответствующим программным обеспечением (инициализирующими программами, драйверами, INF-файлами):

  • Инициализирующие программы заносят управляющие коды по конкретным адресам (разовая процедура);
  • Драйверы - это программы, управляющие работой контроллера соответствующего устройства;
  • INF-файл - командный файл, помогающий ОС организовать процедуру настройки конкретного компьютерного блока.

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


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

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

Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master Boot .

Master Boot ищет на диске основной загрузчик Boot Sector , загружает его в память и передает ему управление. Boot sector (сектор начальной загрузки) – часть диска, зарезервированная для программы самозагрузки ОС. В этом секторе обычно содержится короткая программа на машинном языке, которая загружает ОС.
Далее основной загрузчик ищет остальные модули операционной системы и загружает их в оперативную память.
После окончания загрузки ОС управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы, в противном случае загружается графический интерфейс.
В зависимости от вида ОС, процесс ее загрузки будет отличаться. В состав ОС обязательно входят файлы, отвечающие за процесс загрузки. Рассмотрим «работу» файлов в процессе загрузки Windows XP .

  1. Начальная фаза загрузки.
  2. Выбор системы.
  3. Определение «железа».
  4. Выбор конфигурации.

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

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

Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP , то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

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

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

NTOSKRNL в процессе загрузки проходит через две фазы — так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 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 стартует сетевую службу.

Статьи по теме: