5

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

3 ответа3

4

Драйверы и службы имеют очень похожий интерфейс управления в Windows. Вы можете установить значение "Пуск" для их записи в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services как "Отключено", перезагрузиться и посмотреть, как машина загружается без загрузки этого драйвера.

Чтобы узнать имя "Сервис" для данного драйвера, откройте вкладку "Сведения" об устройстве в "Диспетчере устройств" и найдите запись "Сервис". Как только вы это сделаете, вы можете записать текущее состояние запуска драйвера, проверив значение "Пуск" в ключе драйвера под ключом "Службы", который я упоминал ранее. Измените значение "Пуск" на 4, чтобы отключить драйвер при последующей загрузке. (И измените его обратно на то, что вы нашли, когда закончили тестирование!)

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

@echo off
if "%1"=="" goto syntax

reg query "HKLM\System\CurrentControlSet\Services\%1" /v Start > NUL 2>NUL
if errorlevel 1 goto no_service

echo Current Start setting for service "%1":
reg query "HKLM\System\CurrentControlSet\Services\%1" /v Start | find /i "Start"

reg add "HKLM\System\CurrentControlSet\Services\%1" /v Start /t REG_DWORD /d 4 /f > NUL 2> NUL
echo Service "%1" set to Disbled.
goto end

:no_service
echo The service specified, "%1" was not found!
goto end

:syntax
echo %0 service_name_to_disable

:end

Возможно, вам посчастливится выяснить, что делает драйвер, с помощью функции ведения журнала загрузки "Process Monitor".

1

Вставка моего быстрого и грязного фрагмента относительно утилиты "devcon". Я использовал это с драйверами Ultrium, но работает с любыми другими. Не уверен, что это работает в Vista:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q311272     # download devcon

# For device (status)
devcon driverfiles *Ultrium*
devcon drivernodes *Ultrium*
devcon find *Ultrium*           # also remote -m:\\machine
devcon findall *Ultrium*        # w/removed     # also remote -m:\\machine
devcon hwids *Ultrium*          # also remote -m:\\machine
devcon resources *Ultrium*      # also remote -m:\\machine
devcon stack *Ultrium*          # also remote -m:\\machine
devcon status *Ultrium*

# For device (disruptive):
devcon help disable *Ultrium*
devcon help enable *Ultrium*
devcon help restart *Ultrium*
devcon help sethwid *Ultrium*       # also remote -m:\\machine
devcon help rescan

# For device (disruptive)
devcon help install <file.inf> <hwid>   # give it *exact* hwid as in inf file; if failed will install NULL driver, remove it
                    # *DEFUNCT* for tape: becomes ROOT\TAPEDRIVE\0000 instead SCSI\VENDOR_MODEL
devcon help update          # forces use of driver, even if better is already on the system (4 unsigned drivers).
devcon help updateni
devcon help remove          # this will remove device (DevMgmt->Uninstall), not uninstall driver!


# For classes
devcon help classes         # also remote -m:\\machine
devcon help listclass           # also remote -m:\\machine


# For machine
devcon reboot               # also remote -m:\\machine
-1

Удаление драйвера:

  • Пуск> Панель управления> Система> Диспетчер устройств> Найдите устройство> Щелкните правой кнопкой мыши> Удалить

Загрузка драйвера:

  • Пуск> Панель управления> Система> Диспетчер устройств> Найдите устройство> Щелкните правой кнопкой мыши> Обновить программное обеспечение драйвера

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .