Skip to content
June 11, 2026 Senior (5+ years) Error Reference

Fix Windows 11 24H2 Intune Feature Update Error 0xC1900101

Troubleshoot Windows 11 24H2 feature update rollbacks from Intune when devices fail with 0xC1900101 or phase-specific driver rollback codes.

Fix Windows 11 24H2 Intune Feature Update Error 0xC1900101

0xC1900101 is one of the most common Windows 11 24H2 feature update failures admins see after targeting devices with an Intune Feature Update policy. The Intune report may only show the high-level failure, while the device rolls back during reboot and returns to the previous Windows build.

Treat 0xC1900101 as a driver or setup rollback until proven otherwise. Microsoft documents it as a generic rollback code that can happen at almost any upgrade phase and usually points to an incompatible driver. The exact fix depends on the second code, such as 0xC1900101 - 0x20017, 0xC1900101 - 0x30018, 0xC1900101 - 0x3000D, or 0xC1900101 - 0x40017.

Quick Fix Checklist

Start here before rebuilding the Intune policy:

  • Export the failed device row from Reports > Windows Updates > Feature Updates report.
  • Confirm whether the device reached OfferReady or actually attempted the 24H2 install.
  • Run SetupDiag and collect SetupDiagResults.log.
  • Check rollback logs under C:\$WINDOWS.~BT\Sources\Rollback.
  • Update BIOS, firmware, storage, display, audio, VPN, dock, and security agent drivers.
  • Disconnect unnecessary peripherals and docking hardware for the pilot group.
  • Remove stale driver packages from the driver store if SetupDiag or setupapi.dev.log names them.
  • Run DISM and SFC if logs show component store or servicing corruption.
  • Verify free disk space; low space codes often appear alongside rollback symptoms.
  • Keep Intune update ring feature update deferrals at 0 when a Feature Update policy controls the target version.

Root Cause

0xC1900101 means Windows Setup started the upgrade and then rolled back. It is not usually an Intune assignment problem. Intune delivered the targeting, Windows Update offered the feature update, and Windows Setup failed on the device.

Microsoft’s upgrade troubleshooting guidance says 0xC1900101 is frequently observed and usually indicates an incompatible driver. Supplemental logs are often required, especially:

  • C:\$WINDOWS.~BT\Sources\Rollback\setupmem.dmp
  • C:\$WINDOWS.~BT\Sources\Rollback\*.evtx
  • C:\$WINDOWS.~BT\Sources\Rollback\setupapi\setupapi.dev.log

Common phase codes help narrow the work:

ErrorWhat it usually meansFirst action
0xC1900101 - 0x20004SAFE_OS failure, often old driversUpdate BIOS and storage drivers
0xC1900101 - 0x2000CWinPE/WIM apply issueRemove peripherals, update drivers, check disk
0xC1900101 - 0x20017Driver illegal operationReview Panther logs and update or remove named driver
0xC1900101 - 0x30018Driver stopped responding during upgradeCheck setupapi.dev.log and vendor drivers
0xC1900101 - 0x3000DFIRST_BOOT/MIGRATE_DATA failureFocus on display, storage, and migration-blocking drivers
0xC1900101 - 0x4000DSECOND_BOOT rollbackReview rollback dump and event logs
0xC1900101 - 0x40017SECOND_BOOT/PRE_OOBE failureClean boot, remove security/VPN agents, retry pilot

Logs and Where to Check

Intune admin center

Use Intune to confirm scope and timing, not just the final code:

  1. Go to Reports > Windows Updates > Reports tab > Feature Updates report.
  2. Select the Windows 11 24H2 policy.
  3. Export the affected device row.
  4. Check whether the device is blocked, waiting, offered, installed, or failed.
  5. Confirm no overlapping update ring has feature update deferrals or pause settings.

If the device never reaches the offer stage, troubleshoot policy targeting, prerequisites, safeguards, licensing, and Windows diagnostic data. If the device attempted the upgrade and rolled back, move to setup logs.

Device setup logs

Collect these after the rollback:

C:\$WINDOWS.~BT\Sources\Panther\setupact.log
C:\$WINDOWS.~BT\Sources\Panther\setuperr.log
C:\$WINDOWS.~BT\Sources\Rollback\setupapi\setupapi.dev.log
C:\$WINDOWS.~BT\Sources\Rollback\setupmem.dmp
C:\$WINDOWS.~BT\Sources\Rollback\*.evtx
C:\Windows\Panther\SetupDiagResults.log
C:\Windows\Logs\CBS\CBS.log
C:\Windows\Logs\DISM\dism.log

Event logs

Run this on the failed endpoint:

$logs = @(
  'Microsoft-Windows-WindowsUpdateClient/Operational',
  'Microsoft-Windows-UpdateOrchestrator/Operational',
  'Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin'
)

foreach ($log in $logs) {
  Write-Host "`n=== $log ==="
  Get-WinEvent -LogName $log -MaxEvents 100 |
    Where-Object { $_.Message -match '0xC1900101|24H2|rollback|driver|failed|safeguard' -or $_.LevelDisplayName -in @('Error','Warning') } |
    Select-Object -First 20 TimeCreated, Id, LevelDisplayName, Message
}

PowerShell Driver Triage

Use this to capture the likely driver suspects before retrying the update:

$Out = 'C:\Temp\24H2-rollback-triage'
New-Item -ItemType Directory -Path $Out -Force | Out-Null

# Driver inventory
pnputil /enum-drivers > "$Out\pnputil-enum-drivers.txt"
driverquery /v /fo csv > "$Out\driverquery.csv"

# Rollback logs if present
$rollback = 'C:\$WINDOWS.~BT\Sources\Rollback'
if (Test-Path $rollback) {
  Copy-Item "$rollback\setupapi" -Destination "$Out\setupapi" -Recurse -Force -ErrorAction SilentlyContinue
  Copy-Item "$rollback\*.evtx" -Destination $Out -Force -ErrorAction SilentlyContinue
  Copy-Item "$rollback\setupmem.dmp" -Destination $Out -Force -ErrorAction SilentlyContinue
}

# Panther logs
$panther = 'C:\$WINDOWS.~BT\Sources\Panther'
if (Test-Path $panther) {
  Copy-Item "$panther\setupact.log" -Destination $Out -Force -ErrorAction SilentlyContinue
  Copy-Item "$panther\setuperr.log" -Destination $Out -Force -ErrorAction SilentlyContinue
}

Compress-Archive -Path "$Out\*" -DestinationPath "$Out.zip" -Force
Write-Host "Created $Out.zip"

Remediation Workflow

Step 1: Identify the phase code

Do not stop at 0xC1900101. Find the full pair:

  • Intune Feature Updates report export
  • Windows Update history on the device
  • SetupDiagResults.log
  • setuperr.log
  • setupact.log

The phase code tells you where setup died. For example, 0x30018 points toward a driver that stopped responding during upgrade, while 0x3000D often points at migration data and display/storage driver problems.

Step 2: Run SetupDiag

Run SetupDiag on the affected device after rollback:

New-Item -ItemType Directory -Path C:\Temp\SetupDiag -Force | Out-Null
Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/?linkid=870142' -OutFile 'C:\Temp\SetupDiag\SetupDiag.exe'
Start-Process 'C:\Temp\SetupDiag\SetupDiag.exe' -ArgumentList '/Output:C:\Temp\SetupDiag\SetupDiagResults.log' -Wait
Get-Content 'C:\Temp\SetupDiag\SetupDiagResults.log'

If the device has no internet access, copy SetupDiag.exe from an admin workstation and run it locally against the saved setup logs.

Step 3: Update or remove the named driver

If SetupDiag or setupapi.dev.log names a driver, remediate that exact package:

# List third-party drivers and published names
pnputil /enum-drivers

# Remove a problematic driver package only after confirming replacement coverage
pnputil /delete-driver oem42.inf /uninstall /force

Be careful with storage, network, VPN, disk encryption, and security drivers. Removing the wrong package can break boot, remote access, or encryption workflows.

Step 4: Repair servicing health

If CBS or DISM logs show corruption, run:

DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow

If the device cannot use Windows Update as a repair source, point DISM to a known-good source that matches the current OS build:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:\\fileserver\repair-source\windows /LimitAccess

Step 5: Retry with a clean pilot condition

For repeat failures:

  1. Update BIOS and firmware.
  2. Update OEM driver packs for the exact model.
  3. Temporarily remove nonessential peripherals and docks.
  4. Disable or remove problematic VPN/security agents only in a controlled pilot.
  5. Trigger a Windows Update scan and monitor the next reboot.
UsoClient StartScan
UsoClient StartDownload
UsoClient StartInstall

UsoClient may not print output. Confirm from event logs and Intune reporting.

Prevention

  • Pilot Windows 11 24H2 by hardware model, not by department.
  • Keep OEM BIOS, firmware, storage, and display drivers current before targeting feature updates.
  • Maintain a known-bad driver list from SetupDiag results and block those packages in driver rings.
  • Use Intune driver update policies or Autopatch driver management before broad 24H2 rollout.
  • Keep feature update deferrals at 0 when using Intune Feature Update policies for target version control.
  • Enable Windows diagnostic data features required for update reporting where your privacy policy allows it.
  • Treat safeguard holds as protection, not noise. Investigate before bypassing.

Sources

  • Microsoft Learn: Windows upgrade resolution procedures for 0xC1900101
  • Microsoft Learn: Resolve Windows upgrade errors and use SetupDiag
  • Microsoft Learn: Configure Windows Feature Update Policies in Microsoft Intune
  • Microsoft Learn: Manage Windows Feature Updates in Microsoft Intune
  • Microsoft Learn: Enable Windows diagnostic data and license verification in Intune

Need more help with Intune? Check our other troubleshooting guides at zakitpro.com/troubleshooting.

Was this helpful?

Comments

Comments are coming soon. Have feedback? Reach out via the About page.