I think one of my drivers is causing some of my Windows Vista machines to boot extremely slow. Since the perf log is basically no help, I want to try manually unloading/loading drivers to see if any take a considerable amount of time to start up. How can I do this?


Drivers and Services have a very similiar control interface in Windows. You can set the "Start" value on their entry in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services to "Disabled", reboot, and see how the machine does booting w/o that driver loading.

To find out the "Service" name for a given driver examine the "Details" tab of the device in "Device Manager" and look at the "Service" entry. Once you have that, you can record the current startup status of the driver by examining the "Start" value in the driver's key under the "Services" key I mentioned earlier. Change the "Start" value to 4 to disable the driver on the subsequent boot. (And change it back to what you found when you're done testing!)

You could certainly script this change using the command-line REG program. This CMD script below would change the "Start" type for the service name passed on the command-line to disabled after displaying the current start type:

@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

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

echo %0 service_name_to_disable


You might have some luck figuring out what the driver is doing by using the "Process Monitor" boot logging functionality, too.

| improve this answer | |
  • Nice. (Please enter at least 15 characters) – Mathew Jun 29 '09 at 12:05

Pasting my quick&dirty snippet regarding "devcon" utility. I used this with Ultrium drivers, but works with any other. Not sure if it works in 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
| improve this answer | |
  • Oooo! Devcon. I totally didn't think about devcon. I would think it would work with Vista, but I'm not sure. – Evan Anderson Jun 29 '09 at 12:28

Removing driver:

  • Start > Control Panel > System > Device Manager > Locate Device > Right-Click > Un-Install

Loading Driver:

  • Start > Control Panel > System > Device Manager > Locate Device > Right-Click > Update Driver Software
| improve this answer | |
  • Is it possible to script this? – Dane O'Connor Jun 28 '09 at 21:46
  • No idea! I've never thought of scripting it before... – Mark Henderson Jun 28 '09 at 23:54
  • Ah, see Evan's reply. He's a real scripting nut, so I'd take his word for it. – Mark Henderson Jun 28 '09 at 23:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.