Determining what device installation required a reboot

Determining what device installation required a reboot

book

Article ID: CTX221746

calendar_today

Updated On:

Description

 

Determining what device installation required a reboot

Resolution

 

 

Whenever your machine prompts for a restart because of new hardware detected, the details are recorded in C:\Windows\inf\setupapi.dev.log (not setupapi.app.log, you want the dev file right below it). This file has a lot of information that is irrelevant to this matter, but it identifies the device in a specific and predictable way. So when you get that reboot prompt, go take a look at: setupapi.dev.log.

To read it, jump down to the bottom and read back until you find the word "reboot" on a line that starts with a ! -- the organization of the file is pretty clear. No logs are written on any boot that does not detect a new device. But when one does, you'll see the beginning of that specific boot marked with a line like this:

[Boot Session: 2014/09/27 21:23:54.368]

Each device detection starts with a line like this, and all the rest of that specific device is indented below it.

>>> [Device Install (Install Windows Update driver) - PCI\VEN_8086&DEV_0166]
>>> Section start 2014/09/27 22:05:33.528

The block ends like this:

<<< Section end 2014/09/27 22:06:07.193
<<< [Exit status: SUCCESS]

And a directive to reboot, in the middle of that block, looks like this:

! dvi: Query-removal vetoed by 'PCI\VEN_8086&DEV_0166&SUBSYS_058F1028&REV_09\3&11583659&0&10' (veto type 6: PNP_VetoDevice).
! dvi: Device required reboot: Query remove failed : 0x17: CR_REMOVE_VETOED.

See the ! as the first character, the word VETOED, and the word "reboot". A more salient example is for a CPU.

[Boot Session: 2014/09/27 19:47:52.453]

>>> [Setup online Device Install (Hardware initiated) - acpi\genuineintel_-_intel64_family_6_model_58_-________intel(r)_core(tm)_i7-3537u_cpu_@_2.00ghz\_4]
>>> Section start 2014/09/27 20:49:02.466

! dvi: Query-removal during install of 'ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_58_-________INTEL(R)_CORE(TM)_I7-3537U_CPU_@_2.00GHZ\_4' was vetoed by 'ACPI\GenuineIntel_-_Intel64_Family_6_Model_58_-________Intel(R)_Core(TM)_i7-3537U_CPU_@_2.00GHz\_4' (veto type 6: PNP_VetoDevice).
! dvi: Device required reboot: Query remove failed (install) 0x17: CR_REMOVE_VETOED.

<<< Section end 2014/09/27 20:49:07.052

>>> [Setup online Device Install (Hardware initiated) - acpi\genuineintel_-_intel64_family_6_model_58_-________intel(r)_core(tm)_i7-3537u_cpu_@_2.00ghz\_4]
>>> Section start 2014/09/27 20:49:02.466

! dvi: Query-removal during install of 'ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_58_-________INTEL(R)_CORE(TM)_I7-3537U_CPU_@_2.00GHZ\_4' was vetoed by 'ACPI\GenuineIntel_-_Intel64_Family_6_Model_58_-________Intel(R)_Core(TM)_i7-3537U_CPU_@_2.00GHz\_4' (veto type 6: PNP_VetoDevice).
! dvi: Device required reboot: Query remove failed (install) 0x17: CR_REMOVE_VETOED.

<<< Section end 2014/09/27 20:49:07.052
<<< [Exit status: SUCCESS]
 

If you're trying to determine, for instance, if a CPU changed, you can look further back in the file to see previous CPU detections. However, it's not possible to determine what lines came from your desktop and what lines came from your OS layer (or Gold), and the file doesn't always go far enough back.

One note:  Using the "Reinstall" checkbox on a layer edit can cause this file to be replaced by one from your layers, throwing away the early desktop creation events.