В реестре драйвера

Настройка, защита и оптимизация Windows XP изменением реестра

Настройка и оптимизация Windows XP изменением параметров реестра. Описание параметров реестра, советы по оптимизации, ответы на часто задаваемые вопросы о реестре, reg-файлы для быстрой оптимизации Windows.

Сведения об оборудовании в реестре

SYSTEM\CurrentControlSet\ENUM
SYSTEM\CurrentControlSet\Control\Class

Информация обо всём установленном оборудовании и его драйверах

Принцип хранения этой информации:
Все ключи в ключе ENUM — это перечислители. Всё, что находится в этих ключах (перечеслителях) — ID устройств. Ключи, которые находятся в ключах устройств — это коды ParentId, по которым определяется, к какому устройству подключено данное устройство:

Обратите внимание на ID PCI устройств: он «построен» так: VEN_Код производителя&DEV_Код устройства&Подсистемный идентификатор&REV_Номер ревизии

Параметры, находящиеся в ключе с кодом ParentId:

Пример: «DISPLAY\SAM021E\5&1cc2f65d&0&11335587&01&00» — монитор SAMSUNG SM206BW

5&1cc2f65d&0&11335587&01&00 — Это код ParentId

SAM021E — идентификатор устройства (считывается с самого устройства)
DISPLAY — Перечеслитель
Видеокарта (nVidia GeForce 7600):
«PCI\VEN_10DE&DEV_0391&SUBSYS_00000000&REV_A1\4&29dc82a&0&0008»

В ключе видеокарты есть параметр ParentIdPrefix со значением 5&1cc2f65d&0. Это значит, что все устройства, у которых ключ ParentId начинается на 5&1cc2f65d&0, считаются подключенными к этой видеокарте. Это правило распространяется на все устройства.

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

Однако, если монитор после этих манипуляций физически подключить к другой видеокарте (после того, как попытались «убедить» Windows в этом), то не будет никаких попыток поиска драйверов для этого устройства, поскольку вся информация о них в реестре уже есть. Именно поэтому поиск драйверов для флешки производится только при первом её подключении к одному из разъёмов и более не повторяется, если её подключать только к этому разъёму USB.

Для ограничения разрешения и частоты обновления монитора в ключе MODES, который расположен по адресу HKLM\System\CurrentControlSet\Control\Class\**** ( **** — четырехзначный порядковый номер драйвера, например, 0002) необходимо создать ключ, в имени которого указать разрешение (пример имени ключа: 1600,1200). Если таких ключей несколько, то в качестве верхнего предела разрешения монитора будет выбрано максимальное из них. Чтобы ограничить частоту обновления, следует создать ключ Mode1 с параметрами минимальной и максимальной частот обновления экрана. Если таких диапазонов несколько, можно создать дополнительные ключи ( Mode2 , Mode3 и т.д., до 9).
Пример значения такого ключа:: 31.0-60.0,55.0-90.0,+,+

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

Обычно наличие этих параметров не требуются, поскольку монитор может сообщить видеокарте список поддерживаемых режимов. В таких случаях в диспетчере устройств он отображается как «Модуль подключения монитора», если не установлены драйвера от производителя. Однако, иногда (например, при использовании переходников из DVI в VGA) эти ограничения нужно устанавливать только с помощью этих ключей реестра, поскольку автоматически они не определяются (монитор отображается в диспетчере устройств как «Монитор по умолчанию«, а при выборе частоты обновления экрана неактивен флажок «Скрыть режимы, которые монитор не может использовать«)

Если вы используете переходник из DVI в VGA и вам нужно скрыть в списке выбора частоты обновления экрана так, чтобы эти ограничения применялись для всех мониторов, подключенных через переходник, тогда требуется изменить секцию Unknown.AddReg файла %SystemRoot%\monitor.inf. Необходимо заменить строку
HKR,»MODES\640,480″
на строку с наиболее универсальными ограничениями для большинства современных мониторов. Например, такая строка
HKR,»MODES\1280,1024″, Mode1 ,,»30.0-60.0,60.0-75.0,+,+»
при установке драйвера «Монитор по умолчанию» приведёт к внесению изменений в реестр, которые ограничат частоту кадров до 75 Гц и частоту строчной развертки от 30 до 60 кГц.

Параметры дисковых устройств:

в реестре неполна или повреждена. (Код 19 когда вставляю флешку!

Код 19
Windows не может запустить данное устройство, поскольку сведения о его настройках (в реестре) неполны или повреждены. Для устранения этой проблемы сначала попробуйте запустить Мастер устранения неполадок. Если это не помогает, следует удалить, а затем переустановить устройство. (Код 19)
Рекомендуемые решения

Была обнаружена проблема с реестром.

Это может произойти, когда для устройства определена более чем одна служба, произошла ошибка при открытии раздела реестра службы или не удается получить имя драйвера из раздела реестра службы. Здесь приводятся несколько способов, которые могут помочь решить проблему.

Удаление и переустановка драйвера

Удалите драйвер в диспетчере устройств и выполните поиск нового оборудования для переустановки драйвера.

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

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

Дополнительные сведения об использовании последней удачной конфигурации см. в следующей статье базы знаний Майкрософт:
307852 Как загрузить компьютер с Microsoft Windows XP, используя последнюю удачную конфигурацию
Внесение изменений в реестр

Это содержимое предназначено для продвинутых пользователей.

В качестве последнего средства вы можете отредактировать реестр вручную. Дополнительные сведения см. в справочнике по реестру в наборе ресурсов Microsoft Windows 2000 Server Resource Kit на веб-сайте корпорации Майкрософт по следующему адресу:
http://technet.microsoft.com/ru-ru/library/cc984339.aspx
Сведения о реестре относятся к системе Windows XP.

1. Нажмите кнопку “Пуск“, и выберите пункт “Все программы“. Выберите пункт “Стандартные“, затем пункт “Выполнить“. Введите команду “regedit” (без кавычек) и нажмите кнопку “ОК“.
Если появится запрос вести пароль администратора, введите его и нажмите “Разрешить“.

2. Откройте очень хитрый ключ реестра – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\

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

Кстати этим же способом можно решить аналогичные проблемы с другими устройствами, например с CD/DVD-ROM, только ключ реестра будет другой – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\

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

otvet.mail.ru

Порядок загрузки драйверов и сервисов в Windows

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

Прежде всего посмотрим текущий порядок запуска системы с помощью программы LoadOrder от Sysinternals. Программа покажет нам, что и в каком порядке загружается при запуске операционной системы.

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

В качестве подопытного возьмем драйвер Microsoft ACPI (Advanced Configuration and Power Interface), который отвечает за обнаружение аппаратного обеспечения и управление питанием. Задача ACPI — обеспечить взаимодействие между операционной системой и аппаратным обеспечением, поэтому драйвер ACPI загружается в самом начале.

Программа Loadorder предоставляет довольно ограниченную информацию о порядке загрузки, поэтому за более точными данными идем в реестр. У каждого драйвера и Windows-сервиса есть свой раздел в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services. Названы разделы по имени драйвера\сервиса, соответственно нам нужен раздел ACPI.

За порядок загрузки драйвера отвечают три параметра реестра. Основной параметр Start — определяет тип запуска драйвера. Вот правила, по которым драйверы устанавливают значение своего параметра Start:

Также драйверы устройств могут использовать параметры Group и Tag для контроля порядка своей загрузки при запуске системы. Параметр Group драйверы\сервисы используют, чтобы указать группу, к которой они принадлежат, а порядок загрузки групп определяется параметром List, находящимся в разделе HKLM\SYSTEM\ CurrentControlSet\Control\ServiceGroupOrder\.

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

Посмотрев на порядок загрузки, можно подумать что сначала загружаются драйверы с меньшими значениями Tag, потом — с большими, но это не совсем так. Приоритет значений параметров Tag в рамках группы определяется в разделе HKLM\SYSTEM\CurrentControlSet\Control\GroupOrderList.

Приоритетность тега определяется не значением тега, а его положением: чем выше расположен тэг, тем выше его приоритет в группе, и тем выше приоритет драйвера, которому этот тэг соответствует. А поскольку 01 выше остальных тегов, то и драйвер ACPI загружается первым в группе.

Опять идем в реестр. Параметры запуска сервиса находятся в разделе HKLM\SYSTEM\CurrentControlSet\Services\wuauserv. Я выделил два основных параметра, отвечающих за порядок загрузки данного сервиса.

Windows-сервисы запускаются диспетчером управления сервисами (Service Control Manager, SCM) в соответствии со значением параметра Start. Параметр этот для сервисов может принимать следующие значения:

Значения 0 (запуск при загрузке системы) и 1 (запуск системой) для сервисов не могут быть указаны, только для драйверов устройств.

Кроме того, начиная с Windows Vista\Server 2008 для сервисов появился еще один режим запуска — отложенный автозапуск. Отвечает за него параметр DelayedAutoStart = 1, который который указывает SCM произвести автоматический старт данного сервиса с задержкой. SCM запускает службы, для которых выбран отложенный запуск, после загрузки сервисов, отмеченных для автозапуска.

Так же как и драйверы, Windows-сервисы могут использовать параметр Group в своем разделе реестра, чтобы указать группу, к которой они принадлежат. Сейчас, для наглядности, возьмем наш сервис wuauserv, находящийся в самом конце списка загрузки. С помощью ключа Group поместим его в группу Event Log, перезагрузимся и посмотрим порядок загрузки в Loadorder. Как видите, порядок изменился и wuauserv поднялся с последнего места, загрузившись сразу после своего одногруппника — службы eventlog. Правда порядок размещения внутри группы изменить уже не получится, т.к. Tag для сервисов не используется.

И еще один параметр, который косвенно влияет на порядок загрузки сервисов — DependOnService. Он указывает, от каких сервисов зависит данный сервис. Соответственно сервис не загружается, пока не будут загружены сервисы, перечисленные в DependOnService.

webcache.googleusercontent.com

Программа 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, который указывает конкретную позицию драйвера в группе. Диспетчер ввода-вывода сортирует драйверы в группе по значениям этого параметра, а драйверы, не имеющие параметра Tag, перемещаются в конец списка драйверов группы.

Для примера откроем двоичный параметр Boot Bus Extender, который соответствует одноименной группе, к которой относится и драйвер ACPI. Параметр представляет из себя набор двойных слов (по 4 байта каждое). Первое слово (выделено красным) задает общую длину переменной (количество двойных слов), в нашем примере 06. Остальные двойные слова как раз и являются тэгами. Драйверу ACPI соответствует тэг, равный 01 (выделен зеленым).

Приоритетность тега определяется не значением тега, а его положением: чем выше расположен тэг, тем выше его приоритет в группе, и тем выше приоритет драйвера, которому этот тэг соответствует. А поскольку 01 выше остальных тегов, то и драйвер ACPI загружается первым в группе.

Порядок загрузки Windows-сервисов несколько отличается от порядка загрузки драйверов. В качестве примера возьмем сервис aвтоматического обновления (wuauserv). Он не особо критичен для работы системы и поэтому грузится в последнюю очередь.

• Авто запуск (2) — сервис запускается автоматически, сразу после запуска основного SCM-процесса Services.exe;
• Запуск по требованию (3) — сервис запускается при необходимости, по требованию какого либо сервиса или программы;
• Отключено (4) — сервис отключен и не запускается ни при каких условиях.

Режимом запуска сервисов можно управлять не только из реестра, но и в графическом режиме, из консоли Службы (Services).

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

Более наглядно это показано в оснастке Службы, где на вкладке Зависимости (Dependency) указаны как сервисы, от которых зависит данный сервис, так и сервисы, зависящие от него.

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

windowsnotes.ru

Как проще всего удалить драйвер принтера в Windows 7?

Удалить драйвер принтера в Windows 7 может понадобиться в тех случаях, когда по какой-то причине было ошибочно установлено неправильное программное обеспечение или найдено более подходящее для вашего устройства.

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

При этом драйвер печатающего устройства отличается от других аналогичных управляющих программ – в его удалении нужно учитывать определённые нюансы.

Содержание:

Удаление вручную

Для того чтобы удалить драйвер принтера вручную следует выполнить ряд действий:

  • Зайти в панель управления операционной системы;
  • Выбрать пункт «Устройства и принтеры», после чего на экране появится список установленных на вашем компьютере устройств;
  • Удалить нужный принтер, кликнув правой кнопкой мыши по его изображению с названием.
  • Рис.1. Меню устройств и принтеров в Windows 7.

    Для продолжения удаления остатков программного обеспечения для принтера стоит перейти к меню служб, введя команду Services.msc в меню «Выполнить» ( Win + R ) или через командную строку («Пуск» ⇒ «Программы» ⇒ «Стандартные»);

    Рис.2. Вход в сервисы системы с помощью командной строки.

    В открывшемся меню следует найти «Диспетчер печати», кликнуть правой кнопкой мыши и выбрать перезапуск службы;

    Рис.3. Перезапуск диспетчера печати.

    В меню «Выполнить» ввести команду printui /s /t2 , необходимую для перехода к окну сервера печати;

    Рис.4. Удаление принтера из списка в сервере.

    Удалить из списка все драйвера с названием вашего принтера.

    Рис.5. Сообщение об удалении драйверов и пакетов.

    1. Опять вернуться к меню выполнения и ввести «printmanagement.msc»;
    2. Найти пункт «сервера печати», выбрать подпункт «Принтеры» и удалить все драйвера.

    Рис.6. Окончательное удаление драйверов через окно управления печатью.

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

    При этом Windows оставит несколько универсальных управляющих программ, входящих в состав ОС.

    Использование специальных утилит

    Для облегчения задачи по удалению драйверов печатающего устройства стоит пользоваться специальными программами.

    Это позволит вам не запускать системные утилиты и сэкономить время.

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

    Для работы с ней потребуется:

    • запустить утилиту, выбрав русский язык интерфейса;
    • перейти к очистке системы, нажав кнопку «Анализ» (в некоторых версиях – «Анализировать»);
    • после сбора утилитой сведений о драйверах и ошибках в системе, убедиться в том, какие из них следует удалить и провести удаление;
    • удалить ненужные управляющие программы (в данном случае – для принтера).

    Рис.7. Работа с утилитой Driver Sweeper.

    Некоторые производители принтеров записывают приложения для упрощения удаления драйверов на диски, идущие в комплекте с техникой.

    Пользоваться ими ещё проще – при автозапуске носителя на экране обычно появляется меню с предложением установки или удаления драйверов.

    Но даже при отсутствии такого окна удалить драйвера будет несложно.

    Рис.8. Диски с набором управляющих программ для принтера Epson и HP.

    Очистка мусора

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

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

    открыть окно выполнения ( Win + R ) и ввести команду regedit

    Рис.9. Поиск остатков драйверов в редакторе реестра.

  • когда программа откроется, следует выбрать в верхнем меню пункт «Правка» и подпункт «Найти»;
  • ввести в поле модель принтера (или её часть), например, DCP-130C или просто DCP-130;
  • выбрать «Найти далее», после чего в реестре будут по очереди найдены все файлы, библиотеки и драйвера, название параметров которых совпадает с указанной «маской».
  • Скорее всего, поиск придётся повторить неоднократно. После этого компьютер перезагружают, и теперь испорченные или неработающие драйвера принтера можно устанавливать заново.

    Решение сопутствующих проблем

    Иногда в процессе удаления драйверов возникают различные неполадки и появляются сообщения типа «драйвер используется» или «драйвер занят».

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

  • Снова попытаться проделать все те же действия, что и при ручном удалении драйверов (убрать принтер из списка устройств, удалить драйвера и пакеты, перезапустить диспетчер печати);
  • Открыть редактор реестра и найти пункт HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\
  • Рис.10. Переход к драйверам принтера в редакторе реестра.

    • Выбрать название принтера, драйвер которого система по какой-то причине не даёт удалить, и переименовать (например, из DCP-130C в DCP-130C1). Теперь Windows не распознаёт программу в качестве управляющей для данного устройства;
    • Продолжить попытки удаления драйверов. В большинстве случаев это получается. Если нет, в той же ветке редактора реестра открывают не Print, а Print Processors и выполняют переименование драйверов и здесь.
    • Рис.11. Дополнительное решение проблем с помощью редактора реестра.

      Ещё один вариант устранения неполадок с драйверами принтера подходит для устройств известных брендов типа Canon и HP. Для этого потребуется:

    • Открыть командную строку (обязательно от имени администратора);
    • Ввести команду «net stop spooler», остановив диспетчер печати;
    • Зайти на системный диск в папку Windows\System32\spool\;
    • Найти папку Printers и очистить её содержимое (не удаляя самой директорией);
    • Для принтеров HP также следует полностью очистить содержимое находящейся там же папки drivers\w32×86;
    • Рис.12. Папки, требующие очищения.

      1. Ввести команду net start spooler для запуска Диспетчера печати;
      2. Снова провести удаление драйверов уже известными способами;
      3. Перезагрузить компьютер.
      4. вернуться к меню ↑

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

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

        В результате принтер снова восстанавливает свою работоспособность. Если этого не происходит, возможно, проблема с самим устройством.

        Видео: