Как на windows xp запустить биос: Как войти (зайти) в bios (биос) в Windows XP?

Выживание Windows XP x32 на современных ПК c процессором Intel / Хабр

Речь пойдет про платы периода 2016-2021+, т.е. процессоры Skylake и выше. На платформe AMD почти те-же проблемы, но чуть меньше. Все что относится к Windows XP также применимо к Windows 2003 Server за исключением мелких деталей. C Windows XP/2003 x64 ситуация тоже схожа, но изначально условия несколько благополучнее (нет проблем с драйверами в системах с памятью выше 4Гб). Статья не является «пошаговой инструкцией», в основном теория и способы решения проблем. На вопрос «Да кому сейчас нужен этот XP?» мой персональный ответ — это хобби, протащить алмаз код 2001 года через паутину современного железа…

Если попытаться установить XP c установочного носителя (cdrom/usb/hdd), установщик вывалится в BSOD 0xA5.

Этот код ошибки относится к подсистеме ACPI, которая выбирается установщиком как приоритетная. В установщике можно выбрать режим без использования ACPI, затем это отразится на работе Windows — 1) ограниченное управление питанием процессора/частоты и возможное ограничение на кол-во обнаруженных ядер, 2) часть устройств содержит код инициализации/управления/. .. в ACPI таблицах DSDT/SSDT, этот код никогда не будет задействован. Я режим «без ACPI» никогда не использовал и не тестировал, возможно есть и другие ограничения (самое известное — отсутствие программного способа выключить компьютер).

Вернемся к приоритетному режиму, с активным ACPI. Cтандарт менялся, выходило несколько версий, для нас ключевые версии ACPI 1.0b и ACPI 2.0, разница между ними существенная, а вот разница между ACPI 2.0 и например ACPI 6.1 со стороны Windows я подозреваю отсутствует (imho). Windows XP поддерживает только версию 1.0b, Vista и выше поддерживают обе версии. Производители мат. плат ориентируются на актуальные версии Windows, совместимость с Windows XP больше не требуется, поэтому код bios реализует только версию 2.0(или одну из последующих версий). Основные отличия стандарта 2.0 от 1.0b:

  1. синтаксис ACPI Source Language (ASL) расширен на ~13 новых комманд

  2. появился 64-битный доступ к памяти/полям структур

  3. на хранение/арифметику всех целых чисел выделяется 64 бита вместо 32 бит.

Причина почти всех BSOD 0xA5 это пункт 1. ACPI Source Language (ASL), для решения этой проблемы существует два различных файла ACPI.sys реализующих новый синтаксис. Второй файл взят из бета версии Longhorn и имеет также реализацию пунктов 2. и 3.

Итак, установщик более не радует нас BSOD 0xA5, можно устанавливать Windows c активным ACPI. Для управления используется клавиатура, после первой перезагрузки включается графическая часть установщика и можно использовать еще и мышь. Эти устройства давно с USB интерфейсом и у большинства пользователей с ширпотреб. материнскими платами подключены к портам южного моста. Южный мост у Intel еще с предыдущих платформ переименован в PCH (Platform Controller Hub) и на микросхеме h210(и выше) содержит только USB3 контроллер (в предыдущих платформах Ivy/Sandy/??? был совмещенный USB2/USB3 контроллер). Windows XP имеет встроенные драйвера только на USB1/USB2, для USB3 встроенные драйвера появились только в Windows 8. Так как же управлять USB-клавиатурой подключенной к USB3 контроллеру в установщике без драйверов? Помощь приходит со стороны мат. платы, почти во всех BIOS есть эмулятор PS/2 клавиатуры/мышь. Это программный эмулятор, работающий на уровне SMM (System Management Mode), он преобразует аппаратные события со стороны USB3 контроллера в виртуальный IO порт 0x60-0x64, для Windows и даже DOS это выглядит как аппаратное устройство и они активируют свои PS/2 драйвера. Эмулятор ущербный, с клавиатурой еще как-то можно работать, но мышь эмулируется на уровне «если прицелиться, то можно попасть в нужную точку на экране», но для установщика этого эмулятора хватает.

Управлять установщиком теперь возможно, далее будет BSOD 0x7B, про эту ошибку все и так знают — Windows не может найти ни одного поддерживаемого контроллера дисков(накопителей), решение тоже всем известное — в файлы установщика интегрировать AHCI драйверы производителя, для Intel есть много вариантов:

  1. простой и универсальный iaStor v11. 2.0.1006, работающий на любом Intel контроллере

  2. продвинутые Intel RST/RSTe

  3. StorAHCI из Windows 8 как в виде портированных исходников от минимум двух авторов так и в двоичном виде

  4. MS AHCI из Windows 7

  5. опенсорсный UniATA

Для NVMe накопителей также есть несколько вариантов универсальных драйверов: open source OFA 1.3/1.5, Windows 7 NVMe Driver, Samsung NVMe Driver

В итоге мешающие препятствия преодолены, Windows можно установить и загрузить до состояния графического рабочего стола. Но работать в такой системе некомфортно, решаемые(-частично) проблемы:

1) по прежнему используется неэффективнaй PS/2 эмулятор мыши/клавиатуры

2) некоторые приложения ведут себя странно, рывки анимации или похожие глюки

3) процессор всегда потребляет существенную мощность

4) доступно 1.5-3.2Гб ОЗУ при установленном размере физической памяти 4Гб и выше

5) нет доступа к дополнительным накопителям с GPT разметкой

6) расширенные инструкции AVX/AVX2/AVX-512

По каждому пункту:

1) по прежнему используется неэффективнaй PS/2 эмулятор мыши/клавиатуры

Вместо эмулятора нужен драйвер USB3 контроллера, Intel для XP драйвер не выпускала. После ряда экспериментов выяснилось что для Intel USB3 контроллера подходят три различных драйвера с разной стабильностью и совместимостью, самый лучший это портированный из Windows 8 драйвер от Microsoft. Для активирования более быстрого UASP режима накопителей есть три драйвера почти одинакового качества: а)VIA uas б) Microsoft uaspstor в) Etron uas. USB3 драйвер можно также интегрировать в установщик, но процесс достаточно сложный. Драйвера сторонних производителей USB3 для Windows XP это отдельная тема, «кто у кого что украл и при чем здесь индусы»

2) некоторые приложения ведут себя странно, рывки анимации или похожие глюки

Проблема связана со счетчиком производительности. В разных версиях Windows для этого счетчика разный выбор из доступных аппаратных способов. Даже между Windows XP SP1 и SP2 выбор разный. Для SP3 выбор состоит из двух вариантов: а) ACPI Timer б) TSC процессора. Выбор определяет BIOS. С этим счетчиком актуален вопрос «Кто же напортачил, авторы спецификации ACPI 2. 0, которые сэкономили на одном бите регистра и этим сломали совместимость c пред. стандартом или это авторы современных BIOS, которые своенравно интерпретируют назначение этого бита ?» Мое маленькое расследование почему важен этот бит:

Аппаратный таймер ACPI и предположительно часть других аппаратных ACPI-блоков на современных Intel-мат. платах отключены за ненадобностью (не используются в Windows 7-10, но могут использоваться в Vista или других «не windows» ОС). Этот бит говорит операционной системе можно ли вообще использовать таймер ACPI. Логично не устанавливать этот бит поскольку таймер отключен, но BIOS по прежнему устанавливает этот бит , так как в ACPI 2.0 за ним закрепили еще одну функцию — индикатор наличия рабочего HPET таймера. От таких «оптимизаций» у Windows XP сносит крышу и она использует выключенный ACPI таймер как счетчик производительности(прошедшего времени). Решение проблемы — один из системных файлов патчится чтобы состояние этого бита интерпретировалось всегда как «0» и выбор счетчика был только один — TSC. Еще один камень в сторону авторов BIOS — на плате Gigabyte h210 при отключении HPET в bios этот бит по прежнему равен «1», т.е. явная ошибка

3) процессор всегда потребляет существенную мощность

Проблема снова связана с отключенными аппаратными ACPI блоками. В стандарте ACPI описаны два режима пониженного потребления мощности С2 и С3, для перехода процессор должен записать определенные значения в определенные порты ACPI железа, потом происходит БАХ и наступает мрак, на процессор тактовые импульсы больше не подаются + остальная магия, связанная с состоянием внутреннего кэша и т.д. Поскольку теперь ACPI на плате в урезанном режиме, Windows XP в режимы С2/С3 не переходит, хоть и записывает все что нужно в порты. Мрак не наступает, процессор крутится как ни в чем не бывало. Логично спросить — а как же экономят энергию Windows 7-10? Очень просто — они используют только возможности центрального процессора без задействования подсистемы ACPI.

От центрального процессора можно добиться два варианта:

  • классическая инструкция hlt, можно переключится только в режим С1

  • инструкции monitor/mwait, переключается в С7 или С10.

    Решение для Windows XP — патчим один файлик чтобы вместо ACPI С2/С3 использовались те-же два процессорных способа

4) доступно 1.5-3.2Гб ОЗУ при установленном размере физической памяти 4Гб и выше

Проблема давно известная, это программное ограничение появилось в Windows XP SP2. Для решения существует несколько известных утилит, PatchPae или более поздний комбайн «fix128» (все они некорректно меняют DMA функции, см. далее). Потом выяснилось что проблема зарыта гораздо глубже и виной тому Microsoft — она не смогла сделать удобное API для программирования DMA-передач. Вместо этого был монстр, который состоял из закрытых абстракций, коллбаков и подобных трюков. В теории через такой API все равно можно правильно программировать, но так смогли не только лишь все. Когда у вас менее 4Гбайт памяти, то драйвер какого-то устройства работает нормально, но если память переходит за эту границу, драйвер начинает вести себя по-другому. Вместо того чтобы заменить API и мотивировать сторонних разработчиков исправить существующие драйвера, Microsoft пошла короткой дорогой — в SP2 вырезана поддержка памяти выше 4Гбайт, все DMA-передачи теперь также ограничены максимальным 32-битным адресом, система сертификации драйверов дает добро на драйвера, которые даже не работают с памятью > 4Gb, разрабы больше не парятся на тему «а как наш драйвер поведет себя на >4Гб ?»

Полноценного решения проблемы нет в принципе, если у вас есть некое устройство, но его драйвер некорректно работает с памятью >4GB, то устройство «в пролете», надо возвращать обратно лимиты по памяти. У Microsoft тоже есть такой драйвер — печально известный драйвер USB2. Тот же драйвер для Windows 2003 не имеет подобной проблем, но внутри он «другой», с корректным программированием DMA.

Вместо старых утилит снятия ограничений, обновилась WinXPPAE v3.5 от Daniel K., только она содержит правильный патч DMA-передач, восстанавливающий эквивалентный код из SP1 и при этом не создающий новых проблем.

5) нет доступа к дополнительным накопителям с GPT разметкой

Когда-то Paragon Software выпустил GPT драйвер для Windows XP, с тех пор его и используют. Альтернативный вариант это файлы из Windows 2003 поверх встроенных в XP. Для загрузки с GPT раздела этого недостаточно, так как необходима сквозная поддержка начиная с кода бут сектора, есть удачные эксперименты с использованием сторонних загрузчиков

6) расширенные инструкции AVX/AVX2/AVX-512

AVX и выше требуют поддержки со стороны ОС так как нужно сохранять куда-то новые регистры при переключении контекста. Решение частичное — когда то Microsoft расщедрилась и заранее добавила новые поля как резервные в область сохранения контекста. Этих полей достаточно для сохранения всех AVX регистров в x32 режиме, но уже не хватает для всех AVX-512 регистров. Если речь про Windows XP x64, то места по-моему не хватит даже для всех AVX регистров, их там банально больше в два раза.

А теперь время «печали», список нерешаемых(нерешенных) проблем:

  1. Отcутствие WINE for Windows XP (есть конечно One-Core-API, но у него реализация на мой взгляд бескомпромиссная — заменять существующий код XP на код ReactOS/Wine ). Это самая существенная проблема выживания Windows XP, из-за неё почти все новые версии выпускаемого ПО неработоспособны (функция xxx не найдена в библиотеке yyy)

  2. существующие ACPI.sys не дотягивают до уровня хотя бы vista

  3. загрузка Windows 32бит из современного 64-битного UEFI режима

  4. установка/загрузка с GPT накопителя

  5. нет TRIM «на лету» для SSD, можно только периодически запускать сторонние утилиты для принудительного «маркирования» всех неиспользуемых секторов как свободных

  6. поддержка DirectX 10/11 видео-драйверов с более поздних Windows

P.S. Есть пара законченных проектов для ковыряния в кишках ядра XP и портирования драйверов:

  • Remote kernel debug over LAN or USB3 cable,

  • WinXP/W2003 ntoskrnl. exe Emu_Extender

  • ACPI DSDT/SSDT Patcher at boot time for any windows

Не загружается Windows XP причины и решение

Содержание

  • Проблемы с запуском Windows XP
    • Причина 1: программное обеспечение или драйвера
    • Причина 2: оборудование
    • Причина 3: частный случай с флешкой
    • Причина 4: повреждение загрузочных файлов
  • Вопросы и ответы

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

К невозможности запуска Windows XP могут привести несколько причин, от ошибок в самой системе до неисправности загрузочного носителя. Большинство проблем можно решить непосредственно на том компьютере, на котором они случились, но некоторые сбои требуют уже задействовать другой ПК.

Причина 1: программное обеспечение или драйвера

Симптомами данной проблемы является возможность загрузки Windows только в «Безопасном режиме». В этом случае во время запуска появляется экран выбора параметров загрузки либо его приходится вызывать вручную с помощью клавиши F8.

Такое поведение системы говорит нам о том, что в нормальном режиме ей не дает загрузиться какое-то ПО или драйвер, который Вы установили самостоятельно или получили путем автоматического обновления программ или ОС. В «Безопасном режиме» стартуют только те службы и драйвера, которые минимально необходимы для обслуживания и отображения картинки на экране. Поэтому если у Вас такая ситуация, значит виновато программное обеспечение.

В большинстве случаев, Windows создает точку восстановления при инсталляции важных обновлений или софта, который имеет доступ к системным файлам или разделам реестра. «Безопасный режим» позволяет нам воспользоваться средством восстановления системы. Данное действие откатит ОС к тому состоянию, в котором она находилась до установки проблемной программы.

Подробнее: Способы восстановления Windows XP

Причина 2: оборудование

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

Кроме того, мы можем получить циклическую перезагрузку, при которой появляется (или не появляется) экран загрузки с логотипом Windows XP, а после происходит ребут. И так до бесконечности, пока мы не выключим машину. Такие симптомы говорят о том, что возникла критическая ошибка, называемая «синим экраном смерти» или BSOD. Этот экран мы не видим, так как по умолчанию, при возникновении такой ошибки, система должна перезапуститься.

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

  1. При загрузке, после сигнала БИОС (одиночный «писк»), необходимо быстро нажать клавишу F8 для вызова экрана параметров, о котором мы говорили чуть выше.
  2. Выбрать пункт, который отключает перезагрузку при BSODах, и нажать клавишу ENTER. Система автоматически примет настройки и перезагрузится.

Теперь мы можем лицезреть ошибку, которая мешает нам запустить Windows. О неполадках, связанных с жестким диском, говорит BSOD с кодом 0x000000ED.

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

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

Подробнее: Исправляем ошибку BSOD 0x000000ED в Windows XP

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

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

Подробнее: Восстановление жесткого диска. Пошаговое руководство

Причина 3: частный случай с флешкой

Данная причина весьма неочевидна, но также может вызвать проблемы с загрузкой Windows. Подключенный к системе флеш накопитель, особенно большого объема, может быть расценен операционной системой, как дополнительное дисковое пространство для хранения некоторой информации. В этом случае на флешку может быть записана скрытая папка «System Volume Information» (информация о системном томе).

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

Также, отключение флешки может вызвать сбой в порядке загрузки в БИОС. На первое место может быть помещен CD-ROM, а загрузочный диск вообще убран из списка. В таком случае зайдите в BIOS и поменяйте порядок, либо нажмите при загрузке клавишу F12 или другую, которая открывает список накопителей. Назначение клавиш можно выяснить, внимательно почитав мануал для Вашей материнской платы.

Читайте также: Настраиваем BIOS для загрузки с флешки

Причина 4: повреждение загрузочных файлов

Наиболее распространенная проблема при некорректных действиях пользователя или вирусной атаке – повреждение главной загрузочной записи MBR и файлов, отвечающих за последовательность и параметры запуска операционной системы. В простонародии совокупность этих средств называется просто «загрузчик». Если эти данные повреждены или утеряны (удалены), то загрузка становится невозможной.

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

Подробнее: Ремонтируем загрузчик с помощью консоли восстановления в Windows XP.

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

Обзор файла Boot.ini — драйверы Windows

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья

Важно

В этом разделе описываются параметры загрузки, поддерживаемые в Windows XP и Windows Server 2003. Если вы изменяете параметры загрузки для современных версий Windows, см. раздел Параметры загрузки в Windows Vista и более поздних версиях.

Файл Boot.ini — это текстовый файл, содержащий параметры загрузки для компьютеров с прошивкой BIOS, работающих под управлением операционной системы на основе NT до Windows Vista. Он расположен в корне системного раздела, обычно c:\Boot.ini. В следующем примере показано содержимое типичного файла Boot.ini.

 [загрузчик]
таймаут=30
по умолчанию = мульти (0) диск (0) rdisk (0) раздел (1) \ WINDOWS
[операционные системы]
мульти(0)диск(0)rdisk(0)раздел(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Консоль восстановления Microsoft Windows" /cmdcons
 

Boot.ini состоит из двух основных разделов:

  • Раздел [загрузчик] содержит настройки параметров, которые применяются ко всем загрузочным записям в системе. Параметры включают timeout , значение времени ожидания меню загрузки, и default , расположение операционной системы по умолчанию.

    В следующем примере показан раздел [загрузчика] файла Boot.ini.

     [загрузчик]
    таймаут=30
    по умолчанию = мульти (0) диск (0) rdisk (0) раздел (1) \ WINDOWS
     
  • Раздел [операционные системы] состоит из одной или нескольких загрузочных записей для каждой операционной системы или загружаемой программы, установленных на компьютере.

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

    В следующем примере показан раздел [операционные системы] файла Boot.ini на компьютере с двумя операционными системами, Microsoft Windows XP и Microsoft Windows 2000. Он содержит две загрузочные записи, по одной для каждой операционной системы.

     [операционные системы]
    мульти(0)диск(0)rdisk(0)раздел(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
    мульти(0)диск(0)rdisk(0)раздел(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
     

Каждая загрузочная запись включает следующие элементы:

  • Расположение операционной системы. Boot.ini использует соглашение об именах Advanced RISC Computing (ARC) для отображения пути к разделу диска и каталогу, в котором находится операционная система. Например:

     мульти(0)диск(0)rдиск(0)раздел(1)\WINDOWS
     
  • Понятное имя для загрузочной записи. Понятное имя представляет загрузочную запись в меню загрузки. Понятное имя заключено в кавычки и представляет загрузочную запись в меню загрузки. Например:

     «Майкрософт Windows ХР Профессиональная»
     
  • Параметры записи загрузки , также известные как параметры загрузки или параметры загрузки включают, отключают и настраивают функции операционной системы. Параметры загрузки напоминают параметры командной строки, каждый из которых начинается с косой черты (/), например /debug . Вы можете иметь ноль или более параметров загрузки для каждой записи загрузки.

    Список параметров загрузки, относящихся к тестированию и отладке драйверов, см. в справочнике по параметрам загрузки Boot.ini.

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

Просмотреть все отзывы о странице

Процесс загрузки Windows XP — ITris Academy

Ага, вы справились. Любопытство сгубило кошку 😉

Вот так!…… Шучу 😉

POST — Power On — Self Test

Для запуска машины нужно обработать кнопку питания. Это не шутка 😉
Сначала вы видите какие-то огни, а много лет назад по умолчанию вы видели, как он подсчитывает оперативную память…. Воспоминания… ИЛИ… он издает звуковой сигнал, но ничего не видит на экране. Обычно это означает, что аппаратный компонент неисправен, что не позволяет запустить компьютер.

BIOS

После POST CMOS загружает BIOS. Теперь BIOS является владельцем текущего процесса загрузки. Здесь для нас важен порядок загрузки. Возьмем в качестве примера жесткий диск, который будет первым в списке порядка загрузки. Здесь по умолчанию BIOS будет искать сектор 0 с помощью магического кода BIOS, описанного на странице ОС ITRIS. На жестком диске мы называем это главной загрузочной записью (MBR). Если Magic Code отсутствует, жесткий диск считается незагрузочным устройством и останавливается с эквивалентным сообщением об ошибке. Если он присутствует, BIOS выполняет передачу жесткого диска. С этого момента жесткий диск является владельцем текущего процесса загрузки.

NTLDR

При загрузке Windows XP нам понадобится загрузчик NT (NTLDR), который, в свою очередь, прочитает файл boot.ini. Файл ini представляет собой обычный текстовый файл, который выглядит следующим образом:

[загрузчик]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[операционные системы]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Microsoft Windows XP Professional» /fastdetect

Эту информацию обычно можно найти в msconfig. Он сообщит загрузчику, какая операционная система находится на каком разделе и пути ее установки. При работе с двойной загрузкой вы увидите более одной записи. Знание пути установки имеет решающее значение, потому что нам нужно знать точное местоположение ntoskrnl.exe, более известного как ядро. Вплоть до Windows 8.1 в архитектуре Windows есть пользовательский режим и режим ядра. Пользовательский режим — это место, где мы выполняем наши повседневные задачи, читаем почту, просматриваем Интернет, ведем блоги… вы знаете… Режим ядра — это фактическая операционная система, изолированная от пользовательского режима для защиты от атак. В режиме ядра вы можете найти, например, аппаратный абстрактный уровень (HAL) с установленными нами драйверами, менеджер plug&play, подсистему Windows и т. д.

Если ядро ​​не загружается, вы получаете STOP Code, очень известный как знаменитый BlueScreen of Death (BSoD). Игра окончена…

Итак, как уже упоминалось, NTLDR читает ini-файл, сопоставляет путь и загружает /ntoskrnl.exe и ntdetect.com. Этот последний файл отвечает за сканирование HAL и загрузку драйверов вместе с ядром.

Windows загружается! Ура! Спасибо, Кернел! 🙂

PreSession Init Phase :

Все, что загружается до Smss.exe… Ака процесс загрузки драйверов. Если драйвер не выровнен с ядром, он либо вызывает BSoD, как упоминалось ранее, либо вызывает задержки в фазе инициализации перед сеансом, где задержек быть не должно.

Фаза инициализации сеанса: загрузка подсистемы Windows

Подсистема диспетчера сеансов (Smss.exe) или в Windows с пометкой Windows NT Session Manager отвечает за:

  • Создание/загрузка переменных среды
    ( HKLM\SYSTEM\ CurrentControlSet\Control\Session Manager\Environment)
  • Загрузка подсистемы Win32:
    • Режим пользователя:
      • WinSrv. dll
      • Csrss.exe
    • Режим ядра: Win32k.sys
  • Процессы, ожидающие переименования файлов
    (HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations)
  • загружает pagefile.sys
  • загружает реестр со стороны системы: HKLM, Software, SAM и Security. Их можно найти в папке %Windir%\system32\config
  • .

  • Загружает WinLogon.exe и еще несколько других действий… но пока достаточно подробностей.

Этап Winlogon :

На этом этапе процесса загрузки я обнаружил множество неверных конфигураций. В конце концов, это место, где ИТ-администратор может начать изменять поведение Windows.

Winlogon.exe использует 3 основных компонента.

  • SCM: диспетчер управления службами: отвечает за службы пользовательского режима
  • LSASS: локальный сервер проверки подлинности безопасности: эта служба обрабатывает запросы проверки подлинности.
  • Userenv.dll:
    • Запускает объекты групповой политики
    • Загружает профиль пользователя

Winlogon приходится обрабатывать кучу ошибок, что обычно приводит к различным проблемам. Не удалось загрузить профили, объекты групповой политики не выполнялись и т. д.

Теперь вы видите, службы загружаются или загружаются, например, сетевой стек. сетевой стек, как мы все знаем, отправляет запрос DHCP Discover всем в своей сети. маршрутизатор подбирает его и отправляет своим помощникам по IP-адресам, DHCP-серверу.
Квитирование DHCP занимает около 1,5 с. это крайне важно для получения IP-адреса DNS. Если вы присоединились к домену, вам нужно запросить DNS вашего сайта AD, чтобы получить SRV-запись ближайшего контроллера домена… Не говоря уже о том, что учетная запись «Компьютер» по-прежнему должна инициировать аутентификацию на этом контроллере домена…

Вы можете сказать, что это занимает немного времени. В то же время userenv. dll загружается и работает, как я уже сказал, объекты групповой политики… Так что обычно вы оказываетесь без компьютерных объектов групповой политики именно из-за этой проблемы с синхронизацией.

Честно говоря, из-за этого вы оказались на экране Ctrl+Alt+Del ОЧЕНЬ БЫСТРО.

Не говоря уже о том, что если у вас было включено перенаправление папок в ваших объектах групповой политики, перенаправление папок просто не применялось… и многие другие несоответствия, включая отсутствующую политику домена по умолчанию с настройками пароля…

Вот тут-то и появился объект групповой политики «Всегда ждать сети при запуске компьютера и входе в систему»: чтобы задержать userenv.dll на достаточное время для выполнения этой обработки. Чтобы хорошо понять мою фразу: GPO принудительно работают в синхронном режиме. GPO1 выполняется, завершается, GPO2 выполняется, завершается, GPO3 выполняется, завершается…. Представьте себе время загрузки… оно занимает много времени, а неправильная настройка остальных GPO делает его еще хуже.

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

После объектов групповой политики компьютера мы получаем экран Ctrl+Alt+Del, где вы аутентифицируетесь с помощью своего имени пользователя и пароля. Если все верно, ваш профиль загружен:

  • проверьте куст реестра, если ваш SID (исходящий из мастера RID Active Directory) уже существует. если нет: скопируйте всю структуру в C:\Documents and Settings\All Users, включая куст реестра (C:\Documents and Settings\All Users\ntuser.dat), в новый путь c:\Documents and Settings\ . ntuser.dat — это ваш куст CURRENT_USER.
    • Примечание. Существует также ntuser.man (обязательный профиль), который позволяет кусту читать только
  • , если у вас включены перемещаемые профили, он копирует все файлы по пути, определенному в AD
  • .

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

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