Установка устройств и управление драйверами. Windows Порядок загрузки драйверов и сервисов в 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-имена удаленных ресурсов (типа );
Драйверы, не обязательные для работы операционной системы (например, драйверы сетевых адаптеров), указывают значение 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) указаны как сервисы, от которых зависит данный сервис, так и сервисы, зависящие от него.

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

Для управления устройствами и связанными с ними драйверами существует несколько инструментов: "Диспетчер устройств", "Устройства и принтеры", " Device Stage™" и инструмент Pnputil, который запускается из командной строки с повышенными привилегиями.

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

  • Просмотреть список установленных устройств
  • Удалить устройство
  • Включить и отключить устройство
  • Устранить неполадки устройства
  • Обновить драйвер устройства
  • Откатить драйвер.

Состояние устройства показывает, имеет ли оно установленные драйверы и может ли Windows взаимодействовать с этим устройством. Чтобы просмотреть состояние устройства:

  1. Щелкните правой кнопкой мыши на устройстве и выберите команду "Свойства".
  2. Перейдите на вкладку "Общие" и в области состояния, просмотрите описание текущего состояния устройства.

С помощью "Диспетчера устройств" можно управлять устройствами только на локальном компьютере.

Устройства и принтеры.

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

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

В разделе "Устройства и принтеры", отображается многофункциональный принтер, который вместо индивидуального принтера может управляться как одно устройство, сканер или Факс-устройство. Каждый отдельный компонент многофункционального принтера в диспетчере устройств отображается и управляется отдельно.

Device Stage

Device Stage предоставляет пользователям новый способ для доступа к устройствам и дополнительные опции для управления ими. Устройства отображаются на панели задач как фото-иконка. Этот значок на панели задач может предоставить быстрый доступ к общим задачам устройства; Индикаторы состояния, которые позволяют пользователям быстро понять состояние батареи, состояние синхронизации устройства, оставшиеся емкость, ссылки на руководство пользователя, дополнительные приложения, информационное сообщество и помощь, или дополнительные продукты и услуги.

Устройства и драйверы для них делятся на две категории: с поддержкой PnP и без. Для большинства PnP-устройств драйвер есть на CD с Windows Server 2003. При установке нового устройства система автоматически находит для него драйвер и выделяет для него ресурсы (запросы на прерывание IRQ и каналы прямого доступа к памяти DNA). В случае если системе не удается найти подходящий драйве, она запросит его у пользователя, а устройство в консоли Диспетчер задач будет помечено восклицательным знаком в желтом треугольнике. Если системе вообще не удается определить тип устройства, тогда запрос на драйвер не выдается, а устройство помечается знаком вопроса в желтом треугольнике как неизвестное.

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

Администраторы компьютера могут устанавливать любые устройства и драйверы. Обычные пользователи могут устанавливать драйвера в следующих случаях: драйвер имеет цифровую подпись, файлы драйвера уже есть на компьютере и для дальнейшей установки не требуется дополнительного вмешательства пользователя, причем необходимо соблюдение всех трех условий одновременно (эти условия, как правило, справедливы для принтеров, USB-устройств и для шины IEE1394).

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

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

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

В предыдущей части этого цикла мы рассмотрели два подхода ("let Windows decide" и "let me decide"), которые можно использовать для управления внештатными драйверами при выполнении установки Lite Touch с помощью MDT 2010. В этой части мы завершим разговор о проблеме управления драйверами, здесь будут даны некоторые советы, хитрости и одна история. Первая история предоставлена мне одним из читателей, Тимом Лорсом (Tim Lors) и она является отличным наглядным примером тех проблем, с которыми вы можете столкнуться при попытках управления драйверами во время установки:

"Более года назад я написал программный сценарий, который устанавливает все драйверы на ПК WinXP. Проблема, с которой я столкнулся при выборе драйверов, не была связана с ОС. Это была неспособность производителя должным образом реализовать PnP между inf файлами их драйверов и самим аппаратным оборудованием. Если говорить точнее, inf файл указывал на то, что он является лучшим драйвером для определенного аппаратного устройства, когда, на самом деле, он не работает с таким устройством. Единственным способом подбора подходящего драйвера в такой непростой ситуации оказалось сравнение идентификационных номеров PnP аппаратного оборудования со списком известных проблемных драйверов, и если я находил совпадения, я вручную выбирал подходящий драйвер на основе дополнительных критериев " обычно номер модели ПК. Самым распространенным дополнительным критерием, необходимым для "let me decide" выбора, был номер модели ПК, но иногда включал версию BIOS и PnP subset ID, а в некоторых редких случаях это был способ проб и ошибок. Конечно, способ проб и ошибок довольно сложный, поскольку, когда Windows устанавливала тот драйвер, который считала самым подходящим, приходилось изолировать нерабочий драйвер от Windows, или система просто переустанавливала его. Обратите внимание, что такая ситуация возникала в среде, содержащей почти 10 000 ПК более чем 25 различных моделей".

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

Поиск драйверов

Первой трудностью является поиск внештатных драйверов, которые могут потребоваться вашим системам. Некоторые производители облегчают эту задачу, другие – нет, и компания Dell является представителем первой группы, поскольку предоставляет драйверы для каждой настольной системы в виде.cab файла под каждую операционную систему. Для загрузки этих.cab файлов перейдите на сайт http://www.delltechcenter.com/ и в прокручивающемся меню слева выберите Home, Microsoft, Microsoft System Center, SCCM " System Center Configuration Manager, Dell Business Client Operating System Deployment, Dell Business Client Operating System Deployment " The .CAB Files и вы увидите страницу, показанную на рисунке 1:

Рисунок 1: Загрузка драйверов для клиентских систем Dell в виде.cab файлов

После загрузки.cab файла вы можете извлечь его в папку, затем сослаться на эту папку при импорте драйверов в свой установочный ресурс.

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

Извлечение INF файлов из EXE

Иногда производители систем поставляют драйверы устройств в форме.exe файлов, а не.cab файлов. В этом случае, отличным набором инструментов является WinRAR , который позволяет вам извлекать файлы драйверов из.exe файла в папку. Помните, для того чтобы импортировать драйвер, MDT требуется.inf файл и соответствующие файлы драйвера " невозможно импортировать.exe файл, как драйвер.

Предотвращение включения драйверов

Чтобы не позволить включение импортированного вами драйвера (например, если ваши проверки показали, что драйвер после установки вызывает проблемы), просто откройте свойства драйвера и очистите поле Enable This Driver (рисунок 2):

Рисунок 2: Можно запрещать или разрешать включение драйвера

Обратите внимание, что вышеуказанный драйвер был предназначен для 32- и 64-битной версии Windows. Если вы обнаружили, что он не работает под 64-bit Windows, вы можете оставить драйвер включенным, но убрать флажок с x64, что не позволит включить его во время установки 64-bit Windows.

При желании вы даже можете отключать все драйверы в папке путем отключения папки (рисунок 3):

Рисунок 3: Можно отключать пользовательскую папку в установочном ресурсе

Управление загрузочными драйверами с помощью профилей выбора

Также можно использовать профили выбора для управления драйверами во время стадии загрузки Windows PE в установке LTI. Для этого откройте свойства вашего установочного ресурса и выберите закладку Windows PE x64 Components или Windows PE x86 Components для управления драйверами архитектуры той ОС, которую вы устанавливаете (рисунок 4):

По умолчанию выбран All Drivers And Packages профиль выбора, но только сетевые драйверы и драйверы устройств хранения из этого профиля выбора включены в образ загрузки Windows PE. При необходимости можно создавать собственный профиль выбора, который будет включать специфичные для аппаратных средств WinPE драйверы для ваших целевых систем.

Использование нескольких групп драйверов для установки по марке и модели

В предыдущей части мы посмотрели, как определять одну группу драйверов под названием DriverGroup001 и использовать ее для управления драйверами во время установки на основе марки и модели целевых компьютеров. Кит Гарнер (Keith Garner), специалист по развертыванию систем в Xtreme Consulting Group, выложил отличный пост , который дает дополнительную информацию по этой теме, и показывает вам, как можно организовать драйверы более эффективно, а затем использовать несколько групп драйверов для управления тем, как они включаются во время установки.

Еще одним полезным постом является этот пост об использовании псевдонимов моделей , написанный Майклом Мерголо, старшим консультантом в Microsoft Consulting Services.

Добавление драйверов в образ

Можно использовать DISM.exe команду для добавления драйверов в автономные образы, просто смонтируйте образ и используйте команду DISM с /add-driver опцией (смотрите для дополнительной информации об использовании DISM.exe).

Для добавления драйверов в хранилище драйверов (то есть, предварительное представление драйверов, чтобы они были доступны, когда Windows определяет устройства, нуждающиеся в драйверах), можно использовать PnPutil.exe команду. Эта команда может быть полезной, если вы, например, использовали Microsoft Update Catalog для загрузки.cab файла драйверов для принтера и хотите предварительно представить эти драйверы на своем эталонном компьютере, чтобы во время установки эти драйверы были доступны. Дополнительную информацию об этой команде можно найти и .

Обслуживание конфигурации драйверов во время создания образа Windows

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

В спецификациях технологии PnP определено, как компьютер обнаруживает и настраивает подключаемое оборудование, а также автоматически устанавливает драйверы. Технология PnP поддерживается в Windows 7, поэтому после подключения устройства автоматически выполняются поиск подходящего пакета драйверов и настройка устройства. Это существенно упрощает установку.

Тем не менее, не следует разрешать пользователям подключать к рабочим компьютерам любые устройства. Программа драйвера работает как часть ОС, имея неограниченный доступ ко всему компьютеру, поэтому следует разрешать установку только проверенного оборудования. Когда пользователь Windows 7 присоединяет устройство, происходит его обнаружение. Служба Plug and Play идентифицирует устройство и ищет в хранилище нужный драйвер. Если он найден, устройство считается авторизованным, и файлы драйвера при помощи службы Plug and Play копируются из хранилища драйверов в системное расположение, как правило, в папку С:\Windows\System32\Drivers . При помощи службы Plug and Play выполняется настройка реестра и запуск установленного драйвера.

Установка драйверов устройств из Центра обновления Windows

По умолчанию обновленные драйверы устройств, выгруженные в Центр обновления Windows (Windows Update ), загружаются и устанавливаются на клиентских компьютерах автоматически. Изменить такое поведение можно в диалоговом окне Параметры установки устройств (Device Installation Settings ). Самый простой способ его открыть - ввести в поле поиска меню Пуск (Start ) фразу установка устройства (device installation ) и щелкнуть вариант Изменение параметров установки устройства (Change Device Installation Settings ).

По умолчанию установлено значение Да, делать это автоматически (рекомендуется) (Yes, Do This Automatically (Recommended) ). Чтобы запретить установку на компьютеры с Windows 7 непроверенных драйверов, установите переключатель Никогда не устанавливать драйверы из Центра обновления Windows (Never Install Driver Software From Windows Update ).

Если выбран вариант Всегда устанавливать наиболее подходящие драйверы из Центра обновления Windows (Always Install The Best Driver Software From Windows Update ), целесообразность замены уже установленного драйвера определяется автоматически. При этом у вас не будет возможности протестировать новый драйвер перед установкой. Выбрав вариант Устанавливать драйверы из Центра обновления Windows , если они не найдены на компьютере (Only Install Driver Software From Windows Update If It Is Not Found On My Computer ), вы также не сможете протестировать новый драйвер перед установкой. В среде предприятия, особенно, когда ПО распространяется через службы обновления Windows (WSUS ), возможность обновления драйверов с сайта Центра обновления Windows (Windows Update) следует отключить, а сайт исключить из пути поиска.

Размещение драйвера устройства

Если нужного драйвера нет в хранилище, администратор должен одобрить это устройство. Этот процесс называется размещением (staging).

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

В Windows 7 процесс размещения начинается с поиска подходящего пакета драйвера в папках, указанных в записи реестра DevicePath . Как настроить дополнительные папки поиска драйверов устройств в Windows 7, вы узнаете на практикуме данного занятия. Если подходящий драйвер не найден, выполняется поиск в Центре обновления Windows (Windows Update). Затем пользователю предлагается вставить установочный диск. Если драйвер найден, система проверяет, есть ли у пользователя право размещать пакет драйвера в хранилище. Для этого у пользователя должны быть учетные данные администратора или политика компьютера должна допускать установку драйверов известных устройств обычным пользователям. Затем выполняется проверка цифровой подписи пакета. Если пакет драйвера не подписан или подписан при помощи сертификата, не найденного в хранилище надежных издателей, пользователю будет предложено подтвердить действие. Если драйвер утвержден полномочным пользователем, копия пакета драйвера размещается в хранилище драйверов и установка продолжается.

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

Установка устройства, не поддерживающего Plug and Play

Если устройство не поддерживает PnP (например, старое устройство), для его установки вам понадобится учетная запись с административными полномочиями. Если у вас есть установочный диск устройства, Майкрософт рекомендует воспользоваться записанной на нем программой установки. Обычно это делается перед подключением устройства. В противном случае откройте Диспетчер устройств (Device Manager ), щелкните правой кнопкой имя компьютера в дереве консоли и выберите команду Установить старое устройство (Add Legacy Hardware ). Откроется Мастер установки оборудования (Add Hardware Wizard ).

Выполняя инструкции мастера, вы сможете выполнить поиск оборудования или установить оборудование, выбранное вручную из списка. В первом случае устройство необходимо подключить к компьютеру. Процедура установки такая же, что и при установке PnP-оборудования, не прошедшего предварительную авторизацию. Если вы решите выбрать оборудование самостоятельно, вам будет предложен список типов устройств. Если вы выделите вариант Показать все устройства (All Devices ), выберите устройство из списка производителей. Если у вас есть драйвер (не обязательно пакет установки драйвера) на съемном диске или в папке на жестком диске, щелкните кнопку Установить с диска (Have Disk ). После выбора драйвера мастер установит оборудование. При наличии неполадок (например, ошибки с кодом 10 - не удается запустить устройство) они будут перечислены на последней странице мастера.

Настройки политик установки устройств

На практикуме этого занятия вам предстоит разрешить пользователям, не являющимся администраторами, устанавливать устройства заданного класса установки в Редакторе локальной групповой политики (Local Group Policy Editor ). С его помощью можно настроить и политики установки устройств. Последовательно разверните узлы: Конфигурация компьютера (Computer Configuration ), Административные шаблоны (Administrative Templates ), Система (System ), Установка устройства (Device Installation ) и щелкните элемент Ограничения на установку устройств (). Перейдите на вкладку Стандартный (Standard ) со списком политик.

Чтобы открыть Редактор локальной групповой политики (Local Group Policy Editor ), введите gpedit.msc в поле поиска меню Пуск (Start ). Обязательно просмотрите сведения о каждой политике в разделе Ограничения на установку устройств (Device Installation Restrictions ) и в разделе Установка устройства (Device Installation ), дважды щелкнув политику.

Работа с драйверами устройств

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

Если обновленный драйвер распространяется через Центр обновления Windows (Windows Update ), как правило, он устанавливается автоматически после загрузки. В Диспетчере устройств (Device manager ) также есть возможность обновления драйвера. Обычно ею пользуются для установки нового или обновленного драйвера от поставщика оборудования до публикации драйвера в Центре обновления Windows (Windows Update). Чтобы получить последнюю версию драйвера и протестировать его на компьютере-образце под управлением Windows 7, загрузите файлы драйвера с веб-сайта поставщика и выполните обновление драйвера вручную.

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

Существует два способа начать процесс обновления драйвера в Диспетчере устройств (Device Manager ):

  • щелкните устройство правой кнопкой и выберите команду Обновить драйверы (Update Driver Software );
  • дважды щелкните устройство и щелкните Обновить (Update Driver ) на вкладке Драйвер (Driver ).

Иногда проблему можно решить не удалением и повторной установкой драйвера, а его отключением.

При наличии конфликта драйверов, если речь идет не о PnP-устройстве, попробуйте отключить один из драйверов или остановить его. Чтобы откатить драйвер, откройте вкладку Драйвер (Driver ) окна свойств устройства. Если установлен только один драйвер, кнопка Откатить (Roll Back Driver ) недоступна. Откат драйвера выполняют, если обновленный драйвер устройства работает хуже предыдущего или конфликтует с другими драйверами. При этом предыдущий драйвер остается в хранилище, а процесс происходит без вмешательства пользователя (за исключением подтверждения действия в окне UAC).

Чтобы собрать сведения о неполадках драйвера или просто получить дополнительные сведения о драйвере, щелкните кнопку Сведения (Driver Details ) на вкладке Драйвер (Driver ). На экране отобразится информация о месте хранения файлов драйвера. Обратите внимание, что это не хранилище драйверов (оно является защищенной областью). Файлы работающего драйвера, как правило, имеют расширение SYS и действуют как часть ОС. Файлы установки драйвера имеют расширение INF . В сведениях о драйвере содержится информация о поставщике (обычно, стороннем производителе), версии файла, цифровой подписи (как правило, Майкрософт) и авторских правах. Версия файла пригодится для поиска сведений о проблемном драйвере в Интернете, например, в блогах Майкрософт.

Разрешение конфликтов драйверов

В наши дни конфликты драйверов встречаются куда реже, чем раньше. А ведь еще лет 15 назад при подключении принтера могла перестать работать мышь! Почти все современное оборудование поддерживает технологию PnP. Установка происходит под управлением ОС, и конфликтов, как правило, удается избежать. Однако система неидеальна, и возможность возникновения конфликтов есть. Обычно, конфликт возникает, когда двум устройствам требуются одни и те же ресурсы, особенно при пересечении прерываний или диапазонов ввода-вывода. Задать использование ресурсов можно в диалоговом окне Свойства (Properties ) на вкладке Ресурсы (Resources ). Для большинства драйверов установлен флажок Автоматическая настройка (Use Automatic Settings ), а кнопка Изменить (Change Settings ) недоступна.

Конфликты между устройствами PnP возникают редко. Для их разрешения достаточно на время отключить одно из устройств. Иногда разрешить конфликт можно, обновив драйвер (если обновление имеется) или удалив и повторно установив оборудование. Если в конфликте участвует устройство, не поддерживающее PnP, для решения проблемы может понадобиться его остановка. Чтобы остановить устройство, не поддерживающее PnP, выполните следующие действия:

  1. Откройте Диспетчер устройств (Device Manager ).
  2. В меню Вид (View ) выберите команду Показать скрытые устройства (Show Hidden Devices ).
  3. Дважды щелкните элемент Драйверы несамонастраиваемых устройств (Non-Plug and Play Drivers ), щелкните правой кнопкой устройство, которое нужно остановить, и выберите Свойства (Properties ).
  4. На вкладке Драйвер (Driver ) щелкните кнопку Остановить (Stop ), затем Ok .

Почти так же осуществляется и повторный запуск устройства. Только вместо кнопки Остановить (Stop ) нужно щелкнуть кнопку Запустить (Start ). Кроме того, на данной вкладке можно изменить тип запуска. Обратите внимание: если кнопка Запустить (Start ) на вкладке Драйвер (Driver ) недоступна, драйвер уже загружен.

Поиск конфликтов в программе Сведения о системе (System Information)

Если вы предполагаете, что драйвер устройства работает неправильно из-за конфликта ресурсов, откройте утилиту Сведения о системе (System Information ) и просмотрите требования, предъявляемые всеми устройствами к параметрам ввода-вывода и IRQ . Это удобнее, чем открывать вкладку Ресурсы (Resources ) для каждого устройства в отдельности. Чтобы запустить утилиту, введите msinfo32 в строке поиска меню Пуск (Start ), в окне Выполнить (Run ) или в командной строке. Для запуска Msinfo32 не требуется командная строка с повышенными полномочиями. В программе приводятся общие сведения о системе.

В узле Аппаратные ресурсы (Hardware Resources ) вы найдете сведения о ресурсах памяти, ввода-вывода и прерывания IRQ для каждого из устройств компьютера. Наиболее полезные сведения для разрешения конфликтов содержит узел Конфликты и совместное использование (Conflicts/Sharing ). При возникновении проблем с конкретным устройством введите его имя в поле Искать (Find What ).

Сведения о конкретных устройствах (CD-ROM, звуковое устройство, дисплей и т.д.) находятся в узле Компоненты (Components ). При диагностике самый полезный раздел - Устройства с неполадками (Problem Devices ). В нем перечислены неработающие устройства, устройства, для которых не установлены драйверы, и пр. В узле Программная среда (Software Environment ) имеется раздел Системные драйверы (System Drivers ), в котором перечислены драйверы ядра. Здесь можно узнать, работает драйвер или нет. Вы можете найти драйвер по имени или описанию при помощи поля Искать (Find What ).

Диспетчер проверки драйверов

Не всегда неполадки драйверов вызваны конфликтами. Бывает, что устройства работают неправильно или возникают STOP-ошибки, а сведений о конфликтах нет, и отключение других драйверов ничего не дает. В комплект Windows 7 входит инструмент Диспетчер проверки драйверов (Driver Verifier Monitor ), позволяющий вести наблюдение за драйверами устройств и выявлять недопустимые вызовы процедур или действия, способные нанести вред системе. Он позволяет ставить драйверы «под нагрузку» и тестировать их на предмет некорректного поведения.

Диспетчер проверки драйверов (Driver Verifier Monitor ), вызываемый командой verifier . Флаг /volatile позволяет запустить проверку любого драйвера без перезагрузки, даже если Диспетчер проверки драйверов (Driver Verifier Monitor ) уже не работает, а также запустить проверку уже загруженного драйвера. Подобное нововведение, впервые представленное в Windows Vista, значительно сокращает число перезапусков. Это экономит время и позволяет вести наблюдение за драйвером во время подключения или удаления устройства.

С помощью диспетчера вы можете запрашивать параметры, добавлять и удалять устройства, но наибольшей функциональностью обладает параметр /faults , позволяющий вводить нагрузочные тесты заданного уровня сложности для определения способности драйвера корректно работать в любых ситуациях. Например, можно имитировать недостаток ресурсов или режим ожидания, возвращающий неожиданный результат. Вы можете наблюдать за использованием ресурсов (распределением пула) и следить за количеством посланных в систему ошибок. Диспетчер проверки драйверов (Driver Verifier Monitor ) - это главным образом инструмент для создания нагрузки, который проинформирует вас, например, о возможности сбоя драйвера, если использование диска или памяти превысит определенный порог. Наблюдать за использованием ресурсов и диагностировать причины нехватки ресурсов можно при помощи более общих средств, например Системного монитора (Performance Monitor ) или Диспетчера задач (Task Manager ).

Подписи драйверов и цифровые сертификаты

Цифровые подписи позволяют администраторам и пользователям, устанавливающим ПО для Windows, получать сведения о подлинности издателя, предоставившего программный пакет. Для установки неподписанных компонентов, работающих в режиме ядра, требуются административные полномочия. Драйверы должны быть подписаны при помощи сертификатов, являющихся доверенными в Windows 7. Сертификаты с подписями надежных издателей хранятся в хранилище сертификатов Доверенные издатели (Trusted Publishers ).

Администратор волен утвердить установку неподписанного драйвера или драйвера с подписью, которой нет в хранилище сертификатов от доверенных издателей. Это допустимо, при условии что драйвер устанавливается на тестовый компьютер в ознакомительных целях, а не в целях массового распространения на клиентские компьютеры. Многие драйверы приходят из надежных источников (например, от производителей оборудования), но еще не прошли процесс проверки, результатом которого является цифровая подпись. Не имеют подписи даже некоторые драйверы Майкрософт. Когда вы или другие администраторы устанавливаете драйверы, авторизация - не проблема. Другое дело, когда вам нужно, чтобы драйвер установили обычные пользователи. Даже после размещения драйвера пользователи не смогут установить его, поскольку утвердить установку драйвера без действительной подписи может только администратор.

Получить самозаверяющий (self-signed) сертификат, действительный в пределах организации, можно только от сервера ЦС под управлением Windows Server с работающими службами сертификации (Certificate Services ). Такой сертификат не действителен в другой организации, если между организациями нет доверительных отношений. Даже внутри организации Майкрософт рекомендует применять эту процедуру только в тестовой сети, а в производственной среде устанавливать исключительно драйверы с действительной подписью.

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

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

Наличие цифровой подписи - гарантия того, что пакет пришел из заявленного источника (подлинность) без повреждений и изменений (целостность). Цифровой сертификат служит удостоверением организации. Он заслуживает доверия, так как подвергается электронной проверке в центре сертификации.

Общая процедура подписи драйвера устройства такова:

  1. Создайте цифровой сертификат в консоли Сертификаты (Certificates ) на сервере сертификатов. Кроме того, можете воспользоваться утилитой MakeCert .
  2. Добавьте сертификат в хранилище Доверенные корневые центры сертификации (Trusted Root Certification Authorities ). Эта операция выполняется в консоли Сертификаты (Certificates ) путем копирования и вставки.
  3. Добавьте сертификат в хранилище Доверенные издатели (Trusted Publishers ). Это также делается в оснастке Сертификаты (Certificates ).
  4. Подпишите пакет драйвера устройства при помощи сертификата. Для этого подготовьте INF-файл пакета драйвера, создайте файл каталога для пакета драйвера и подпишите файл каталога с помощью утилиты Signtool .
Рассказать друзьям