KB4058258 Inaccessible boot device on Intel CPU

i7-8700k, Windows 10 Pro, build 16299.214, after installing KB4058258 I'm getting blue screen with Inaccessible boot device error.

I was able to narrow it down to this servicing stack:

C:\windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.16299.212_none_17098c7c31fd065f

It was installed by KB4058258

When it executes the TIWorker.exe removes several device drivers, most notably acpi.sys and disk.sys, but doesn't install anything in their place loading NULL driver for devices that were using those drivers. So no wonder the boot up fails, the machine stays up after this servicing stack executes but only because the disks are in use and can't be unmounted while system is running. The process get completed when the machine is shut down. If deletes the acpi.inf, disk.inf and related driver files from disk for those and some 10 other drivers.

Entries from setupapi.dev.log are below, for acpi.inf only. There are 10+ other drivers being removed also. Is there any way to stop this service stack from executing, or to prevent KB4058258 from loading at all?

[Boot Session: 2018/02/12 16:11:41.499]

>>>  [Uninstall Driver Updates]
>>>  Section start 2018/02/12 17:49:21.823
      cmd: C:\windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.16299.212_none_17098c7c31fd065f\TiWorker.exe -Embedding
     sto: Image State        = Specialized
     sto: Image Architecture = amd64
     sto: Driver Updates     = 1
     sto: {Unpublish Driver Package: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7\acpi.inf} 17:49:22.058
     sto:      Driver Package = acpi.inf_amd64_191f1aa4a5c000b7
     idb:      {Unpublish Driver Package: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7\acpi.inf} 17:49:22.084
     idb:           Clearing active driver package 'acpi.inf_amd64_191f1aa4a5c000b7'.
     cpy:           Unpublished 'acpi.inf'.
     idb:           Deindexed 1 driver file for 'acpi.inf_amd64_191f1aa4a5c000b7'.
     idb:           Deindexed 3 device IDs for 'acpi.inf_amd64_191f1aa4a5c000b7'.
     sto:           Flushed driver database node 'SYSTEM'. Time = 16 ms
     idb:      {Unpublish Driver Package: exit(0x00000000)} 17:49:23.605
     sto: {Unpublish Driver Package: exit(0x00000000)} 17:49:23.607
     sto: Last 'acpi.inf' driver package removed.
     sto: {Unreflect Driver Package: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7\acpi.inf}
     inf:      Class GUID     = {4d36e97d-e325-11ce-bfc1-08002be10318}
     inf:      Class Options  = Configurable BootCritical
     idb:      Driver packages:
     idb:           acpi.inf_amd64_63ec3382c9e54d87
     idb:           acpi.inf_amd64_191f1aa4a5c000b7 (active)
     inf:      {Unconfigure Driver: Microsoft ACPI-Compliant System}
     inf:           Section Name = ACPI_Inst.NT
     inf:           {Add Service: ACPI}
     inf:                Deleted 'ACPI' entry from 'System' service event log.
     inf:                Deleted service 'ACPI'.
     inf:           {Add Service: exit(0x00000000)}
     inf:      {Unconfigure Driver: exit(0x00000000)}
     inf:      {Unconfigure Driver: Microsoft ACPI-Compliant System}
     inf:           Section Name = ACPI_Inst.NT
     inf:      {Unconfigure Driver: exit(0x00000000)}
     flq:      DeleteFile: 'C:\windows\System32\drivers\acpi.sys'
     flq:      DeleteFile: 'C:\windows\System32\drivers\acpi.sys'
     flq:      DeleteFile: success
     sto: {Unreflect Driver Package: exit(0x00000000)}
     sto: {Update Device Drivers: acpi.inf} 17:49:23.706
     sto:      Removing driver 'acpi.inf' from device nodes.
     sto:      {Cache Device Nodes} 17:49:23.707
!    sto:           Found invalid compatible IDs for 'HID\VID_046D&PID_C07D&MI_01&Col04\8&340e6e5d&0&0003'.
!    sto:           Found invalid compatible IDs for 'UMB\UMB\1&841921d&0&TERMINPUT_BUS'.
!    sto:           Found invalid compatible IDs for 'HID\VID_046D&PID_C32B&MI_01&Col02\8&216efb0b&0&0001'.
!    sto:           Found invalid compatible IDs for 'BTH\MS_BTHLE\6&2d15258e&0&0'.
!    sto:           Found invalid compatible IDs for 'HID\VID_046D&PID_C32B&MI_01&Col03\8&216efb0b&0&0002'.
!    sto:           Found invalid compatible IDs for 'HID\VID_046D&PID_C07D&MI_01&Col01\8&340e6e5d&0&0000'.
!    sto:           Found invalid compatible IDs for 'UMB\UMB\1&841921d&0&TSBUS'.
!    sto:           Found invalid compatible IDs for 'TS_USB_HUB_Enumerator\UMB\2&30d3618&0&TS_USB_HUB'.
!    sto:           Found invalid compatible IDs for 'USB\ROOT_HUB30\4&1dc5b97&0&0'.
!    sto:           Found invalid compatible IDs for 'HID\VID_046D&PID_C07D&MI_01&Col02\8&340e6e5d&0&0001'.
     sto:           Cached 342 device nodes. Time = 250ms
     sto:      {Cache Device Nodes: exit(0x00000000)} 17:49:23.955
     sto:      {Update Device: ACPI_HAL\PNP0C08\0}
     sto:           Marking device node for re-install:
     sto:                Config Flags  = 0x00000020
     sto:                Install Flags = 0x00000005
     sto:      {Update Device: exit(0x00000000)}
     sto:      Updated drivers for 1 device node.
     sto: {Update Device Drivers: exit(0x00000000)} 17:49:23.960
<<<  Section end 2018/02/12 17:49:23.960
<<<  [Exit status: SUCCESS (REBOOT_REQUIRED)]


>>>  [Unstage Driver Updates]
>>>  Section start 2018/02/12 17:49:23.962
      cmd: C:\windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.16299.212_none_17098c7c31fd065f\TiWorker.exe -Embedding
     sto: Image State        = Specialized
     sto: Image Architecture = amd64
     sto: Driver Updates     = 1
     sto: {Unstage Driver Package: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7\acpi.inf} 17:49:23.967
     sto:      {DRIVERSTORE DELETE BEGIN} 17:49:23.968
     sto:      {DRIVERSTORE DELETE BEGIN: exit(0x00000000)} 17:49:23.968
     idb:      {Unregister Driver Package: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7\acpi.inf} 17:49:23.969
     idb:           Unregistered driver package 'acpi.inf_amd64_191f1aa4a5c000b7' from 'acpi.inf'.
     idb:           Deleted driver package object 'acpi.inf_amd64_191f1aa4a5c000b7' from SYSTEM database node.
     idb:           Driver packages registered to 'acpi.inf':
     idb:                acpi.inf_amd64_63ec3382c9e54d87
     idb:      {Unregister Driver Package: exit(0x00000000)} 17:49:23.973
     cpy:      {Delete Directory: C:\windows\System32\DriverStore\FileRepository\acpi.inf_amd64_191f1aa4a5c000b7} 17:49:23.974
     cpy:      {Delete Directory: exit(0x00000000)} 17:49:23.976
     sto:      {DRIVERSTORE DELETE END} 17:49:23.977
     sto:      {DRIVERSTORE DELETE END: exit(0x00000000)} 17:49:23.977
     sto: {Unstage Driver Package: exit(0x00000000)} 17:49:23.977
<<<  Section end 2018/02/12 17:49:23.978
<<<  [Exit status: SUCCESS]

 

Question Info


Last updated July 12, 2018 Views 832 Applies to:
Power on and off your computer three times
On the third time, your computer will boot into the Advanced Recovery environment
Click Advanced Options
Click Troubleshoot
Click Advanced Options

Click Command Prompt (Admin)

Confirm the drive letter for the Windows image. Usually D: –> dir d:

Run the following to view the installed packages which will also show a date of install.

Dism /Image:D:\ /Get-Packages

Find the package(s) that were just installed by date. Run the following command on the last installed package:

example: dism.exe /image:d:\ /remove-package /packagename:Package_for_KB4014329~31bf3856ad364e35~amd64~~10.0.1.0

Reboot.
Best,
Andre
Windows Insider MVP
MVP-Windows and Devices for IT
twitter/adacosta
groovypost.com

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

This does not work, uninstalling the KB after the servicing stack executed doesn't recover the deleted device driver files. 


Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I did a system restore, to a point where the KB was installed but before the servicing stack run. Uninstalled the KB, but the same service stack remained, and after it was executed (with KB removed) I lost again all my devices and got unbootable system. So it looks like I need to restore to an earlier point, before this KB was installed initially.

Is there any way to make this thread public? I can see it only when logged in, but not when just browsing without logging.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Power on and off your computer three times
On the third time, your computer will boot into the Advanced Recovery environment
Click Advanced Options
Click Troubleshoot
Click Advanced Options

Click System Restore, see if you can go back to an earlier time.

If not, boot into the recovery environment again, then try performing a startup repair.

If that does not work, boot into the recovery environment, then click 'Go back to previous version of Windows'

The thread should be publicly available, even when not signed in. Because it has been submitted to experts for review, it might be temporarily unavailable.
Best,
Andre
Windows Insider MVP
MVP-Windows and Devices for IT
twitter/adacosta
groovypost.com

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

My last restore point already has it, it is easy to spot by just looking at the list of affected programs.

I did however disable the Scheduled Task \Microsoft\Windows\Servicing\StartComponentCleanup, left my computer overnight and the servicing stack didn't run, still have my acpi and disk.inf files.

I guess I'll wait until after another update something else will be shown in registry under Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version and then let it run.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I loaded KB4074588, and while the name of the servicing stack got changed the result was still the same. So it looks like it is the scheduled task StartComponentCleanup that is the culprit and right now I can't pinpoint when it got corrupted, can't say it was any particular patch.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I've been seeing a bit of what I'm guessing is this problem: the system spontaneously starts throwing an INACCESSIBLE_BOOT_DEVICE blue screen on startup because of a missing acpi.sys. I haven't tried looking for an underlying cause on my own, but I do have a fix to get things to boot:

(No guarantees. This may make things even worse. The following steps are for people who know what they're doing.)

(Windows 10 installation media is freely available from Microsoft.)

1. Get to a Windows 10 recovery environment: Boot from a Windows disc or recovery partition; either works.

2. Bring up a command prompt. (Choose an option -> Troubleshoot -> Advanced options -> Command Prompt)

3. Restore acpi.sys to (probably C, D, or E):\Windows\System32\drivers either from a working machine, Windows disc, or the recovery environment itself. The last one is easiest if it works.

Make sure acpi.sys has a matching CPU architecture (i.e. 32-bit vs. 64-bit), or your system won't boot. For Windows 10.0.16299.15, 32-bit acpi.sys is 496 KB, 64-bit acpi.sys is 716 KB. These figures will change somewhat for earlier or later builds of Windows 10.

It's probably a good idea to make sure acpi.sys comes from a computer running the same build of Windows 10. I haven't tried otherwise. "dism /Image:(probably C, D, or E):\ /?" will give you an "Image Version" (look for that specific text) of the broken Windows installation if you don't know that off-hand. Build numbers are four numbers separated by periods, i.e. "10.0.16299.15"; the first three numbers are generally what matters (i.e. "10.0.16299").

The recovery environment has its own copy of acpi.sys in X:\Windows\System32\drivers.

4. Load the SYSTEM hive from the broken Windows installation: At the command prompt, run "regedit", select Computer\HKEY_LOCAL_MACHINE, go to File -> Load Hive, and select (probably C, D, or E):\Windows\System32\config\SYSTEM. You will be asked for a key name; type "fuzzy-lumpkins", and select OK.

5. Go to HKLM\fuzzy-lumpkins\ControlSet001\Services\ACPI, and:

5a. Delete the "DeleteFlags" value.

5b. Change the "Start" value to 0.

6. Go to HKLM\fuzzy-lumpkins\ControlSet001\Enum\ACPI_HAL\PNP0C08\0, and:

6a. Delete the "InstallFlags" value.

6b. Change the "ConfigFlags" value from 0x00000020 (32) to 0.

7. Go to HKLM\fuzzy-lumpkins\ControlSet001\Enum, and search (Ctrl+F) for InstallFlags anywhere under HKLM\fuzzy-lumpkins\ControlSet001\Enum. If you find any, delete "InstallFlags" and change "ConfigFlags" to 0, like in steps 6a/6b.

This is likely to find your hard drive (something like SCSI\Disk&Ven_VBOX&Prod_HARDDISK\4&2345abcd&0&000000, which varies depending on the model of your drive), as well as the Microsoft Virtual Drive Enumerator (ROOT\vdrvroot\0000).

8. Optional: Search HKLM\fuzzy-lumpkins\ControlSet001\Services for anything containing DeleteFlags. Repeat steps 5a and 5b for each disabled service, and copy in matching drivers like step 3.

9. Exit the command prompt, then "Continue -- Exit and continue to Windows 10" (i.e. reboot). Ideally, the system will boot normally.

10. If the system instead boots back into the recovery environment, go back to the command prompt, and do "bcdedit /set {default} recoveryenabled no". Then reboot again.

...And that's it. Note that there's nothing in here to prevent Windows from doing this to you again. And nothing in here restores missing .inf files, etc./so on/so forth.

Good luck to anybody who tries this. And remember: this is your fault for trying to use a computer.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

FIXED FIXED FIXED FIXED FIXED FIXED FIXED FIXED FIXED FIXED

Method 1:
Crash the computer a few times on purpose (This will trigger a Windows 10 Automatic Repair)
Get to the Windows Automatic Repair screen
Advanced options
Run a System Restore
Restore to a time before the crash
Reboot
You may only get one shot at this
Start
cmd (Right Click Command Prompt and Run As Administrator)
Command Prompt
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~16299.214.1.17
Press Enter (Return)

This is the same fix for INACCESSIBLE BOOT DEVICE from another older package name Package_for_RollupFix~31bf3856ad364e35~amd64~~16299.192.1.9 and substitute this package name for the one listed in the Method 1 above.

In January, computers received INACCESSIBLE BOOT DEVICE from the January roll up called 16299.192.1.9  

In February, other computers received INACCESSIBLE BOOT DEVICE from the February roll up called 16299.214.1.17 

If you already ran a DISM to remove the package during an Windows Automatic System Repair, there have been instances that the package is no longer valid to remove and you are hosed plenty. Attempt to repeat the multiple crashes, run another system restore and then attempt an in-place upgrade or boot to a fresh Windows Media Toolkit for Windows 10 and be sure to choose the option to KEEP MY FILES AND APPS and not the KEEP MY FILES. The difference is KEEP MY FILES AND APPS is the option that keeps all of your programs installed without having to reinstall everything! The package will install itself quickly after reboot and force pending operations that make the next boot a complete start over. If you have to start over, because of the BIOS you are using and the Spectre/Meltdown update provided from Microsoft, disable this update by using the Microsoft Catalog Update to stop it, or get into Windows 10 Settings and change the optional updates to 365 days(that's the max), the security updates to 30 days (that's the max) and Pause the updates (1 month max). There is not platform that is immune to this bug. We have seen it on DELL, HP, LENOVO, Toshiba, Surface. We have also seen the USB ports not working out there too. There has been mention of SSD and firmware for some SSD drives causing this too. Also, a simple corrupted bcdedit/bootrec cure for this error as well. Easy rule: If it happened after a Windows Update, it was likely a Windows Update. If it happened after a hard lockup and the computer was forced off, the hard disk should be the focus for a chkdsk.

None of this is recommended by Microsoft for Security purposes
All of it is recommended by MILE Technologies (us) for functionality and business continuity.

-miletx.com

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.