Load driver bat что это
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
start " " " T:\Personal\Visual Studio\CS-GO-Kernel\dsefix.exe " |
timeout /t 2 |
sc create csgo binpath= " T:\Personal\Visual Studio\CS-GO-Kernel\x64\Release\KernelDriver.sys " type=kernel |
sc start csgo |
timeout /t 5 |
start " " " T:\Personal\Visual Studio\CS-GO-Kernel\dsefix.exe " -e |
timeout /t 2 |
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
SB Live! под DOS ? это просто
Уже канули в Лету времена, когда-то давным-давно популярной операционной системы DOS, с которой многие теперешние «ветераны» начинали свое знакомство с ПК. Многие до сих пор помнят огромную массу игровых и развлекательных приложений, написанных под эту ОС. Тем не менее, далеко не все «тогдашние» игры будут работать из-под Windows даже в режиме эмуляции MS-DOS (сеанс MS-DOS). Наверняка найдется немалое количество людей, которые постоянно играют в такие игры и не собираются бросать это занятие.
Особенности настройки и оптимизации
Для начала необходимо отметить, что весь последующий материал касается систем, в которых присутствует как минимум операционная система DOS 6.22 (крайний случай, который рассмотрен не будет) или Windows 9x. Для остальных пользователей ПК, активно использующих все преимущества ОС Windows NT/2000/XP, OS/2, xNIX и т.д. можно порекомендовать создать отдельный раздел, куда установится DOS/Windows 9x с набором игровых приложений и возможностью загрузки (использование специальных менеджеров с поддержкой множества ОС в одной системе). В случае использования Windows 2000/XP на FAT32-разделах трудностей с присутствующей по соседству Windows 9x, думается, возникнуть не должно.
Итак, новое устройство установлено и операционная система Windows 9x загружена. После того, как ОС определила новую звуковую карту по необходимости следует установить драйверы. После проведения инициализации нового оборудования система найдет четыре устройства (например, для обладателей SBLive! Value): в системных свойствах это будут два в разделе «Creative Miscellaneous Devices» (Creative Multimedia Interface и Creative SBLive! SB16 Emulation) и два в разделе «Аудио-, видео- и игровые контроллеры» (Creative Gameport Joystic и Creative SBLive! Value).
Собственно, само программное обеспечение можно устанавливать по минимуму (минимально необходимый пакет для нормальной работы) так: сразу запускается программа установки из директории AUDIO/ENGLISH/SETUP/SETUP.EXE, находящейся все на том же компакт-диске, в результате чего появляется возможность инсталлировать Wave Studio, Soundo'LE, Creative PlayCenter, Creative Launcher, DOS Drivers и SB Live! Tour. Для достижения конечной цели совместимости аудио-карты с DOS рекомендуется отметить только DOS Drivers, если нет возможности где-либо их переписать (или просто отдается предпочтение поддержке «родного» продукта). После этого программа выполняет положенный минимум установки необходимого программного обеспечения для полноценного функционирования и конфигурирования устройства в DOS/Windows, и в правом нижнем углу появляется значок свойств SB Live!, откуда осуществляется полное управление всеми настройками. Кроме этого, в отдельной директории (по умолчанию это C:PROGRAM FILESCREATIVESBLIVEDOSDRV) установятся файлы конфигурации и драйверы под DOS.
Если пользователь придерживается стратегии рекомендаций производителя, обходится лишь обычными стандартными средствами конфигурирования под Windows, и использует для работы с DOS-приложениями вход в режим эмуляции MS-DOS через Windows, то последующая информация будет для него не интересной. Если же есть интерес в более глубоком и гибком конфигурировании системы, то последующая информация будет крайне полезна.
После установки, для удобства, эти файлы можно вынести в отдельную директорию (например, в C:LIVE). Кстати сказать, следующий раз, когда появится необходимость в переустановке Windows, драйверы и ПО для SB Live! уже можно устанавливать не выбирая вообще никакого пункта из перечисляемых ранее в SETUP. Это справедливо, если указываемый выше необходимый минимум файлов был сохранен отдельно и не удален. Однако, с окончательным разнесением драйверов для DOS в случае их установки с инсталляционного диска появляются некоторые трудности: в системном реестре прописывается параметр, который автоматически модернизирует загрузочный файл AUTOEXEC.BAT строкой загрузки модуля инициализации оборудования C:PROGRA
1\CREATIVE\SBLIVE\DOSDRV». Удалив этот раздел и указываемую выше строку в AUTOEXEC.BAT, необходимо перезагрузить компьютер, послу чего модернизации исчезнут. Дополнительно необходимо отметить, что указываемая выше строка загрузки прописывается в DOSSTART.BAT, находящийся в корневой директории Windows, которую для полного решения вопроса рекомендуется удалить из файла.
Для удобства желающих самостоятельно провести модернизацию системы прилагается полный комплект файлов драйверов и утилит работы SBLive! под DOS, список которых приводился ранее, а так же готовые варианты AUTOEXEC.BAT, CONFIG.SYS и CTSYN.INI для SBLive! Value, из инсталляционного диска для SBLive! 1024 и SBLive! 5.1, а также последняя версия комплекта драйверов под DOS для всей серии SBLive!, идущих в составе LiveWare 3.0. Также отдельно предлагается файл DOS4GW и двухмегабайтный банк DEFAULT.ECW с набором инструментов, необходимый для воспроизведения MIDI (2 Megabyte Waveset Version 2, 2MEG_R_2.ECW). Оба этих файла необходимы для работы, однако предлагаются отдельно ввиду экономии объема дистрибутива предлагаемых драйверов, поскольку DOS4GW при наличии в системе DOS-приложений не является большой редкостью, а банк DEFAULT.ECW стандартно поставляется с драйверами под Windows.
Далее производится модификация основных загрузочных файлов системы (на уровне AUTOEXEC.BAT и CONFIG.SYS окончательно разносится загрузка DOS и Windows раз и на всегда) следующим образом:
Начало файла CONFIG.SYS с поддержкой раздельной загрузки DOS и Windows [Menu] MenuItem Win, WINDOWS MenuItem Dos, DOS MenuDefault Win,3 MenuColor 10,0 [Win] NumLock=Off Files=90 Buffers=45 Device=C:WINDOWSHIMEM.SYS /testmem:off Dos=High,Umb Device=C:WINDOWSCOMMANDDISPLAY.SYS con=(ega,,1) Country=007,866,C:WINDOWSCOMMANDCOUNTRY.SYS [Dos] NumLock=Off Files=90 Buffers=45 Device=C:WINDOWSHIMEM.SYS /testmem:off Device=C:WINDOWSEMM386.EXE ram noems novcpi Dos=High,Umb,NoAuto
Конец файла CONFIG.SYS с поддержкой раздельной загрузки DOS и Windows
Строка «MenuDefault Win,3» указывает загружаемый по умолчанию пункт меню (WINDOWS) после 3-секундной паузы ожидания. Значения переменных Files и Buffers задаются сугубо индивидуально, и приведены для примера.
Параметры для EMM386.EXE выбраны из соображения максимального освобождения общей памяти (Conventional Memory, первые 640KB), причем загрузка Extended Memory Manager (менеджер расширенной памяти, следующие 384KB) в случае работы в DOS строго обязательна и требуется драйверами. Особо искушенные пользователи могут попробовать использовать другой драйвер верхней памяти (например, QEMM) для более тонкой настройки разнесения резидентного кода, однако разработчик в этом случае не гарантирует работоспособность и делать этого не рекомендует, настаивая на использовании именно EMM386.EXE. В некоторых материалах, посвященных вопросу работы SBLive! под DOS, встречается прямо-таки утверждение, что параметры NOEMS и NOVCPI в строке инициализации EMM386.EXE ставить крайне не рекомендуется. Необходимо отметить, что эта «проблема» надумана, поскольку на самом деле все прекрасно работает, высвобождая дополнительно хоть и небольшой участок памяти. Кроме чего, некоторые игровые DOS-приложения требуют обязательного присутствия этих ключей.
Конец файла AUTOEXEC.BAT с поддержкой раздельной загрузки DOS и Windows
Значения переменного окружения «SET BLASTER=…» программа установки драйверов (под DOS) сама прописывает в AUTOEXEC.BAT автоматически, и когда будет производиться «разнос» загрузки DOS и Windows, эти параметры рекомендуется сохранить. В силу целого ряда обстоятельств и условий указанные выше значения переменного окружения могут не совпадать с ресурсами, занимаемыми SB Live! на другом конкретном ПК. Если же драйвера ставятся не с инсталляционного диска, а в ручную, то значения параметров данного переменного окружения определяются при помощи конфигурирования, которое производится специальными утилитами и будет рассмотрено подробно ниже. Строго говоря, соблюдение обязательного соответствия параметров, указываемых в переменном окружении BLASTER, действительно занимаемым ресурсам совсем не обязательно.
Участок CONFIG.SYS, определяющий порядок загрузки под DOS с поддержкой CD-ROM и кэшированием [Dos] NumLock=Off Files=90 Buffers=45 Device=C:WINDOWSHIMEM.SYS /testmem:off Device=C:WINDOWSEMM386.EXE ram noems novcpi DEVICEHIGH=C:SSCDROM.SYS /D:SSCD001 Dos=High,Umb,NoAuto
Месторасположение драйвера инициализации CD-ROM и утилиты SMARTDrive, а также используемые при этом ключи необходимо подбирать индивидуально в зависимости от используемого драйвера устройства CD-ROM и опций загрузки. Утилита кэширования дисков может настраиваться особенно тонко.
Начало файла CTSYN.INI с параметрами, используемыми в режиме эмуляции MS-DOS под Windows [ctsyn.drv] SBEnable=true JoyEnable=true Waveset=C:LIVEDEFAULT.ECW PCIPort=e400 PCIIRQ=12 OPLPort=388 MPUPort=330 SBPort=220 SBIRQ=5 SBDMALO=1 SBDMAHI=5 JoyPort=200
Конец файла CTSYN.INI с параметрами, используемыми в режиме эмуляции MS-DOS под Windows
- Задание базового адреса ввода/вывода параметром -Axxx с возможными значениями 220, 240, 260, 280.
- Задание прерывания, использующегося аудио-интерфейсом, параметром -Ix с возможными значениями 5, 7, 9, 10.
- Задание первого канала прямого доступа к памяти (DMA), использующегося аудио-интерфейсом, параметром -Dx с возможными значениями 0, 1, 3.
- Задание второго канала прямого доступа к памяти (DMA), использующегося аудио-интерфейсом, параметром -Hx с возможными значениями 5, 6, 7.
- Определение при помощи параметра -Pxxx адреса ввода/вывода для General MIDI, Roland MT-32/LAPC-1 интерфейсов с возможными значениями 300, 310, 320, 330.
- Конфигурирование базового адреса ввода/вывода интерфейса Gameport/Joystick параметром -Jxxx с возможными значениями 200, 208, 210, 218, …, 800, …
- Управление интерфейсом Gameport/Joystick при помощи параметра -jx с возможными значениями 1 (включен) и 0 (выключен).
- Управление режимом эмуляции при помощи параметра -dx с возможными значениями 1 (включен) и 0 (выключен).
- Управление распределением ресурсов при помощи параметра -wx с возможными значениями 1 (загрузка значений, сконфигурированных в Windows) и 0 (загрузка параметров, сконфигурированных вручную).
- Вывод информации о текущей конфигурации интерфейсов устройства ключом -c.
Например, содержимое раздела [ctsyn.drv] рассматриваемого выше файла CTSYN.INI определяет текущую конфигурацию ресурсов аудио-карты в режиме эмуляции MS-DOS. Если это каким-то образом не устраивает пользователя (или в таком состоянии возможен конфликт аппаратных ресурсов), то, загрузившись в «чистый» DOS, можно переназначить необходимые параметры, полностью или частично перепрограммируя интерфейсы оборудования.
Например командная строка SBESET.EXE -A240 -I7 -D3 -H6 -J218 -w0 определяет установку базового адреса ввода/вывода в значение 240, 7-го прерывание для аудио-интерфейса, 3-го и 6-го адреса для первого и второго канала ПДП соответственно, 218 адрес интерфейса игрового порта и управление распределениями ресурсов в ручную. Отдельно необходимо отметить, что все ключи чувствительны к регистру (т.е. для утилиты очевидна разница, например, между -J и -j), опущенные опции будут адаптированы к ранее заданным значениям, сам ключ и его значение синтаксически должны быть неразрывны, а пробелом разделяются между собой только непосредственно неразрывные пары «ключ-значение».
Отработкой этой командной строки утилита конфигурирования предупредит о необходимости перезагрузки, чтобы новые параметры вступили в силу. После перезагрузки в файле инициализации CTSYN.INI появятся две дополнительные секции [SBEINIT] и [SBESET.CFG] с новыми запрограммированными параметрами, определяющими конфигурацию интерфейсов для работы в DOS. Таким образом, содержимое CTSYN.INI с новыми параметрами теперь будет следующим:
Начало файла CTSYN.INI с перепрограммированным интерфейсом для работы под DOS [ctsyn.drv] SBEnable=true JoyEnable=true Waveset=C:LIVEDEFAULT.ECW PCIPort=e400 PCIIRQ=12 OPLPort=388 MPUPort=330 SBPort=220 SBIRQ=5 SBDMALO=1 SBDMAHI=5 JoyPort=200 [SBEINIT] CONFIG=SBESET.CFG [SBESET.CFG] SBPORT=240 MPUPORT=330 SBIRQ=7 SBDMALO=3 SBDMAHI=6 OPLPORT=388 SBENABLE=TRUE JOYPORT=218 JOYENABLE=TRUE WAVESET=C:LIVEDEFAULT.ECW PCIPORT=E400 PCIIRQ=12
Конец файла CTSYN.INI с перепрограммированным интерфейсом для работы под DOS
Теперь, чтобы в очередной раз перепрограммировать интерфейсы SBLive! для работы под DOS, можно уже не запускать утилиту конфигурирования, а просто редактировать в ручную содержимое секции [SBESET.CFG] файла CTSYN.INI, устанавливая необходимые значения. Более же осторожные пользователи могут продолжать пользоваться модулем SBESET.EXE.
Зачем все это нужно
Пришло время сказать несколько слов о конкретном использовании SBLive! под DOS. Например, для того, чтобы проиграть файлы формата WAV в «чистом» DOS (работа SBLive! в Windows не вызывает абсолютно никаких проблем, например, для DOS-игр), рекомендуется записать программу SEA версии 1.3, поскольку более ранние возможностью проигрывания звуковых форматов не обладают. Минимальный пакет SEA состоит из файлов: SEA.EXE, DOS4GW.EXE и SEA.DAT.
Остальные задачи, решаемые пользователями в DOS с применением звуковой карты, оставим нерассмотренными, поскольку это не так уж и важно, да и стратегия установки, настройки и применения SBLive! под DOS, думается, очерчена с лихвой.
В заключение отмечу, что все описываемые выше варианты настроек в CONFIG.SYS и AUTOEXEC.BAT от самых минимально необходимых до включения поддержки CD-ROM и кэширования дисков (загрузка SMARTDrive) тщательно, долго и кропотливо проверялись на довольно большом количестве распространенных игровых приложений под DOS, среди которых были и оригинальные версии с поддержкой CD-ROM. При этом «произвольно» менялись настройки аудио-параметров как звуковой карты (либо ручной правкой файла CTSYN.INI, либо при помощи утилиты конфигурирования SBESET.EXE), так и непосредственно аудио-интерфейса самого приложения (проверялась совместимость с SBPro/SB16/AWE32 по части эффектов и WaveBlaster/GeneralMIDI/MPU-401/SoundCanvas в плане воспроизведения музыки).
Load driver bat что это
Удаление Microsoft Edge
Получение Dev обновлений БЕЗ Insider
Получение прав NT/SYSTEM без дополнительных файлов и программ (достаточно одного файла).
Быстрая смена пароля для пользователя Windows 11 и ниже
Перенести "C:\Users\Local\Temp" в "C:\Temp"
Переключение между старым и новым проводником
Сделать VScode Portable редактором по умолчанию
Важно: смените путь к редактору на свой! (по умолчанию E:\VScode )
Вернуть ПОЛНОСТЬЮ старую оболочку, плюс избавиться от централизованной панели задач и помещает кнопку запуска обратно влево вместе с закрепленными элементами. Есть баг! Из-за настройки исчезает область времени / даты на панели задач!
Восстановить классические контекстные меню в масштабе всей системы
Принудительное включение и отключение синхронизации в Microsoft Edge
Очистка проводника от пользовательских папок
Изменить расположение панели задач
Изменить размер панели задач
Отключить / включить всплывающую панель языка
Включить новую анимацию загрузки
Как посмотреть все приложения UWP в PowerShell?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Для подробного анализа, введите полную команду:
Как восстановить Microsoft Store?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как восстановить App Installer (winget)
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как восстановить Windows Terminal?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как восстановить Notepad (Блокнот)?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как восстановить Windows Gadgets? (Гаджеты)
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как удалить любое приложение в PowerShell?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
- Для того чтобы приложение удалилось у всех пользователей:
Как удалить все приложения кроме Microsoft Store?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как удалить все встроенные UWP приложения?
Выполните команду в PowerShell (нажмите по команде справа чтобы скопировать):
Как удалить все приложения кроме нескольких N приложений?
Включите русский язык по умолчанию в Параметры -> "Time&Language" -> "Language" -> "Administrative language settings" -> "Язык программ, не поддерживающих Юникод" -> "Изменить язык системы. " -> "Russia"
Как редактировать меню пуск?
Как редактировать панель задач?
Как включить режим бога панель управления (GodMode?)
Создайте папку с именем:
Как сменить диск MBR в GPT (или наоборот) без потери данных?
- Запишите ISO образ на флешку
- Загрузитесь с неё и выберите нужные диски
Как быстро создать локального пользователя с правами администратора?
ПАТЧ 2 ОТ АМЕРИКАНСКИХ, ЗАМЕНЁН ТОЛЬКО WIM ОБРАЗ - ГРУЗИТСЯ НА РЕАЛЬНЫЙ ПК
ПАТЧ 3 ОТ РУССКИХ, ЗАМЕНЁН ТОЛЬКО ОДИН ФАЙЛ appraiserres.dll - ОБРАЗ ИСКЛЮЧИТЕЛЬНО ДЛЯ ЧИСТОЙ УСТАНОВКИ
Для установки Windows 11 нужно чтобы в UEFI материнской плате было включено две эти опции. Кроме того у вас должен быть режим UEFI, а не Legacy (как по мне все современные платы уже на УЕФИ).
На момент написания статьи использовалась плата Gigabyte Technology Co. Ltd. Z390 GAMING X-CF выпущенная в 2019 году, которая поддерживает все эти функции
TPM 2.0 как включить?
Эта опция может быть во вкладке UEFI Security, но у нас эта опция оказалась во вкладке System Info.:
Тоже название опции, но только на русском языке:
Поставьте настройку в режим Enabled и сохраните изменения в UEFI.
Иногда можно встретить такой расклад:
Тогда поставьте напротив значение PTT
После установки TPM 2.0 комп перезагружается два раза, а не один. Не пугайтесь, это естественная реакция. Причина правда нам неизвестна.
Иногда UEFI включён в режим "Easy Mode", и некоторые настройки могут не появиться. Тогда переключите его в режим "Advanced Mode" (у нас это была клавиша F9, иногда F7) и поищите настройки снова.
Нет Security Boost, что делать?
Отключите настройку CSM
После этого перезагрузите ПК, настройка должна появиться ниже:
Иногда возникает ошибка, тогда в настройке Security Mode поставьте Стандарт
А если у меня нет функции TPM?
Для использования Windows 11 TPM 2.0 НЕ является обязательной. Ограничение идёт только на УСТАНОВКУ Windows 11. Значит ограничение находится в установщике.
Если взять установленную Windows 11 на компьютере, сжать её в WIM образ, и попытаться её установить на компьютер который не поддерживает TPM 2.0 напрямую (не используя установщик Windows 11), она чудом заработает.
Вывод: достаточно обойти ограничение установщика, и тогда Windows 11 сможет запустить даже старый ПК
Как проверить свою версию TPM?
Нажмите win + r и запустите в окошке команду tpm.msc
Если у вас присутствует TPM, то его версию вы сможете посмотреть здесь:
Если у вас нет TPM, то программа выдаст ошибку:
В AAct все операции с активацией, с лицензиями, выполняются с помощью стандартных скриптов slmgr.vbs и ospp.vbs, уж их то даже самый ненормальный антивирусник не заподозрит в "троянстве".
С другой стороны KMSAuto Net имеет намного больше возможностей по настройке процесса активации, чем AAct и иногда позволяет решить проблемы с KMS-активацией там, где AAct не справляется. Или, если использовать автомобильную терминологию, первая программа является высокоэффективной ручной коробкой передач, позволяющей опытному водителю использовать ее возможности по максимуму, в то время как вторая программа является "автоматом", более подходящим для новичков и домохозяек.
Windows Порядок загрузки драйверов и сервисов в Windows
Тем, кому интересно внутреннее устойство операционной системы Windows, предлагаю небольшое исследование. Мы попробуем выяснить, что отвечает за порядок загрузки драйверов и сервисов в Windows и можно ли этот порядок изменить.
Прежде всего посмотрим текущий порядок запуска системы с помощью программы LoadOrder от Sysinternals. Программа покажет нам, что и в каком порядке загружается при запуске операционной системы.
Как видно из рисунка, сначала загружаются драйверы устройств, необходимые для запуска системы, а потом различные Windows-сервисы. Поскольку между загрузкой сервисов и загрузкой драйверов есть некоторые различия, рассматривать их будем по отдельности.
В качестве подопытного возьмем драйвер Microsoft ACPI (Advanced Configuration and Power Interface), который отвечает за обнаружение аппаратного обеспечения и управление питанием. Задача ACPI — обеспечить взаимодействие между операционной системой и аппаратным обеспечением, поэтому драйвер ACPI загружается в самом начале.
Программа Loadorder предоставляет довольно ограниченную информацию о порядке загрузки, поэтому за более точными данными идем в реестр. У каждого драйвера и Windows-сервиса есть свой раздел в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services. Названы разделы по имени драйвера\сервиса, соответственно нам нужен раздел ACPI.
За порядок загрузки драйвера отвечают три параметра реестра. Основной параметр Start — определяет тип запуска драйвера. Вот правила, по которым драйверы устанавливают значение своего параметра Start:
• Драйверы, которые должны загружаться системным загрузчиком при запуске операционной системы, указывают значение Start равное 0 ( запуск при загрузке системы ). Пример — драйверы системных шин и драйвер файловой системы, используемый при загрузке системы;
• Драйвер, который не требуется непосредственно для загрузки системы, указывает в Start значение, равное 1 ( запуск системой ). Пример — стандартный драйвер видеокарты (VgaSave);
• Драйвер, не обязательный для загрузки системы, устанавливает значение Start равным 2 ( автозапуск ). Пример — драйвер многосетевого UNC-npoвайдера (Multiple UNC Provider, MUP), поддерживающий UNC-имена удаленных ресурсов (типа \\Computer\Share);
• Драйверы, не обязательные для работы операционной системы (например, драйверы сетевых адаптеров), указывают значение Start равным 3 ( запуск по требованию ).
Также драйверы устройств могут использовать параметры Group и Tag для контроля порядка своей загрузки при запуске системы. Параметр Group драйверы\сервисы используют, чтобы указать группу, к которой они принадлежат, а порядок загрузки групп определяется параметром List, находящимся в разделе HKLM\SYSTEM\ CurrentControlSet\Control\ServiceGroupOrder\.
Кстати, параметр Group указывать не обязательно. Если драйвер\сервис не входит в какую либо группу, то он загружается в самом конце очереди.
Драйвер может еще больше детализировать порядок своей загрузки с помощью параметра Tag, который указывает конкретную позицию драйвера в группе. Диспетчер ввода-вывода сортирует драйверы в группе по значениям этого параметра, а драйверы, не имеющие параметра Tag, перемещаются в конец списка драйверов группы.
Посмотрев на порядок загрузки, можно подумать что сначала загружаются драйверы с меньшими значениями Tag, потом — с большими, но это не совсем так. Приоритет значений параметров Tag в рамках группы определяется в разделе HKLM\SYSTEM\CurrentControlSet\Control\GroupOrderList.
Для примера откроем двоичный параметр Boot Bus Extender, который соответствует одноименной группе, к которой относится и драйвер ACPI. Параметр представляет из себя набор двойных слов (по 4 байта каждое). Первое слово (выделено красным) задает общую длину переменной (количество двойных слов), в нашем примере 06. Остальные двойные слова как раз и являются тэгами. Драйверу ACPI соответствует тэг, равный 01 (выделен зеленым).
Приоритетность тега определяется не значением тега, а его положением: чем выше расположен тэг, тем выше его приоритет в группе, и тем выше приоритет драйвера, которому этот тэг соответствует. А поскольку 01 выше остальных тегов, то и драйвер ACPI загружается первым в группе.
Порядок загрузки Windows-сервисов несколько отличается от порядка загрузки драйверов. В качестве примера возьмем сервис aвтоматического обновления (wuauserv). Он не особо критичен для работы системы и поэтому грузится в последнюю очередь.
Опять идем в реестр. Параметры запуска сервиса находятся в разделе HKLM\SYSTEM\CurrentControlSet\Services\wuauserv. Я выделил два основных параметра, отвечающих за порядок загрузки данного сервиса.
Windows-сервисы запускаются диспетчером управления сервисами (Service Control Manager, SCM) в соответствии со значением параметра Start. Параметр этот для сервисов может принимать следующие значения:
• Авто запуск (2) — сервис запускается автоматически, сразу после запуска основного SCM-процесса Services.exe;
• Запуск по требованию (3) — сервис запускается при необходимости, по требованию какого либо сервиса или программы;
• Отключено (4) - сервис отключен и не запускается ни при каких условиях.
Значения 0 (запуск при загрузке системы) и 1 (запуск системой) для сервисов не могут быть указаны, только для драйверов устройств.
Кроме того, начиная с Windows Vista\Server 2008 для сервисов появился еще один режим запуска — отложенный автозапуск. Отвечает за него параметр DelayedAutoStart = 1, который который указывает SCM произвести автоматический старт данного сервиса с задержкой. SCM запускает службы, для которых выбран отложенный запуск, после загрузки сервисов, отмеченных для автозапуска.
Режимом запуска сервисов можно управлять не только из реестра, но и в графическом режиме, из консоли Службы (Services).
Так же как и драйверы, Windows-сервисы могут использовать параметр Group в своем разделе реестра, чтобы указать группу, к которой они принадлежат. Сейчас, для наглядности, возьмем наш сервис wuauserv, находящийся в самом конце списка загрузки. С помощью ключа Group поместим его в группу Event Log, перезагрузимся и посмотрим порядок загрузки в Loadorder. Как видите, порядок изменился и wuauserv поднялся с последнего места, загрузившись сразу после своего одногруппника — службы eventlog. Правда порядок размещения внутри группы изменить уже не получится, т.к. Tag для сервисов не используется.
И еще один параметр, который косвенно влияет на порядок загрузки сервисов — DependOnService. Он указывает, от каких сервисов зависит данный сервис. Соответственно сервис не загружается, пока не будут загружены сервисы, перечисленные в DependOnService.
Зависимости работают следующим образом — если сервисы находятся в одной группе, то зависимый сервис перемещается в конец списка и запускается после сервисов, от которых зависит. Если же группы разные, то сервис просто не запустится, а SCM выдаст ошибку.
Более наглядно это показано в оснастке Службы, где на вкладке Зависимости (Dependency) указаны как сервисы, от которых зависит данный сервис, так и сервисы, зависящие от него.
Читайте также: