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
:no_service
echo The service specified, "%1" was not found!
goto end
:syntax
echo %0 service_name_to_disable
:end
You might have some luck figuring out what the driver is doing by using the "Process Monitor" boot logging functionality, too.
Nice. (Please enter at least 15 characters) – Mathew – 2009-06-29T12:05:55.923