Fix Windows Server 2019 VM Boot Failure After Update (0xc0000001)

When standard repair tools fail after a Windows update, the solution may be switching to the Last Known Good registry control set.

Published 2026-03-12 by TechNet New England

After a Windows update installed overnight, a Hyper-V Generation 1 VM running Windows Server 2019 failed to boot with error 0xc0000001 and INACCESSIBLE_BOOT_DEVICE. Here's the complete troubleshooting process and the fix that finally worked.

Environment

What We Tried (All Failed)

1. Bootloader Repair

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
bcdboot D:\Windows /s C: /f BIOS

Result: Bootloader rebuilt successfully, but system still failed to start.

2. System File Checker

sfc /scannow /offbootdir=C:\ /offwindir=D:\Windows

Result: Found corrupt files but couldn't fix them due to pending update state.

3. DISM Repair with ISO Source

DISM /Image:D:\ /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:2 /ScratchDir:D:\Scratch /LimitAccess

Result: Completed but didn't resolve boot issue.

4. Pending Update Rollback

DISM /Image:D:\ /Cleanup-Image /RevertPendingActions
del D:\Windows\WinSxS\pending.xml

Result: Cleared pending state but system still failed.

5. Registry Backup Restore (RegBack)

cd /d D:\Windows\System32\config
mkdir backup
copy *.* backup
copy RegBack\*.* .

Result: Restored but no change in boot behavior.

The Actual Fix: Registry Control Sets

Windows maintains multiple "control sets" in the SYSTEM registry hive as fallback configurations:

Step 1: Load the Offline Registry

Boot from Windows Server ISO → Repair your computer → Command Prompt:

reg load HKLM\OFFLINE D:\Windows\System32\Config\SYSTEM

Step 2: Check Which Control Set Is Active

reg query HKLM\OFFLINE\Select

Output showed:

Current        REG_DWORD    0x1
Default        REG_DWORD    0x1
LastKnownGood  REG_DWORD    0x2

Windows was trying to boot from ControlSet001 (corrupted by the update), while a working configuration existed in ControlSet002.

Step 3: Switch to Last Known Good

reg add HKLM\OFFLINE\Select /v Default /t REG_DWORD /d 2 /f

Step 4: Unload and Rebuild

reg unload HKLM\OFFLINE
bcdboot D:\Windows /s C: /f BIOS

Step 5: Reboot

Remove the ISO and restart. The VM booted successfully.

Why This Happened

The Windows update modified or corrupted services within ControlSet001, likely affecting boot-critical storage drivers. Because Windows always loads the control set referenced in the Default value, the system attempted to boot with a broken configuration.

The working configuration remained intact in ControlSet002 (LastKnownGood). Switching the default control set restored the last working driver and service configuration.

Why Standard Repairs Didn't Work

Tools like bootrec, sfc, and DISM repair the bootloader and system files, but they don't check whether the active control set is corrupted. The registry hives load before most repair tools run, so if the SYSTEM hive points to a broken control set, Windows fails before repairs can help.

Key Commands Summary

# Load offline registry
reg load HKLM\OFFLINE D:\Windows\System32\Config\SYSTEM

# Check current control set
reg query HKLM\OFFLINE\Select

# Switch to LastKnownGood (ControlSet002)
reg add HKLM\OFFLINE\Select /v Default /t REG_DWORD /d 2 /f

# Unload and rebuild boot
reg unload HKLM\OFFLINE
bcdboot D:\Windows /s C: /f BIOS

Prevention Tips

When to Call for Help

Registry editing in a recovery environment requires precision. If you're not comfortable with these steps, or if the server contains critical business data, a qualified IT professional can diagnose and repair the system without risking further damage.

Reference: Microsoft Learn - Windows Boot Failure Troubleshooting