Last weekend I had to update my girlfriends laptop from Windows 8.1 to Windows 10. Some might say, an easy task. Well, it wasn't. After downloading the Windows 10 update through Windows Update, Windows Update returned errors 0xc1420127
and 0xc190010b
, even after using the Windows 10 media creation tool. And as always there are many reasons for these errors. In this short post, I'll provide some possible solutions and tips.
Fixing Windows Update errors 0xc1420127 and 0xc190010b
TL;DR, in my specific case, a WIMMount mounted image was the wrongdoer, and I had to delete that faulty mount point:
Delete sub keys of Mounted Images and check.
- press Windows key and R key together
- type in
regedit
and press enter - Go to the following registry location and delete sub keys of Mounted Images:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images"
After deleting the sub key of Mounted Images in the Windows registry, the Windows 10 setup worked perfectly for me. There may be other issues involved as well when you're facing these 0xc1420127
and 0xc190010b
Windows Update errors.
Therefore, here's some more general Windows maintenance advice for you:
Clean-up your Windows system
Lack of disk space may cause various Windows Update errors. Always keep your disk clean, regularly clean up your temporary directories and unneeded download files.
Clear all your temp directories:
- press Windows key and R key together
- type in
%temp%
and press enter - delete the all files and folders
Clear all downloaded Windows Update files:
- press Windows key and E key together
- go to
C:\Windows\SoftwareDistribution\Download
- delete all files and folders
Clean up Windows Temp folder:
- press Windows key and E key together
- go to
C:\Windows\Temp
- delete all files and folders
Disk Clean-up
- To open Disk Cleanup from the desktop, swipe in from the right edge of the screen, tap Settings (or if you're using a mouse, point to the lower-right corner of the screen, move the mouse pointer up, and then click Settings), tap or click Control Panel, type Admin in the Search box, tap or click Administrative Tools, and then double-tap or double-click Disk Cleanup.
- In the Drives list, choose the drive you want to clean, and then tap or click OK.
- In the Disk Cleanup dialog, select the checkboxes for the file types that you want to delete, tap or click OK, and then tap or click Delete files.
- There are more Windows locations to clean up and regain extra disk space in Windows.
- Uninstall unnecessary programs through Control Panel > Programs > Uninstall a program
Talking about Windows disk clean-up, I have a post summing up 5 extra ways to clean up disk space in Windows Server!
Deactivate anti-virus programs
An activated anti-virus program may interfere with the Windows 10 update, so temporarily disable your AV software. Usually there is an icon at the lower-right corner of your screen, use the left or right mouse button to pull up its menu and choose disable.
Install all available & pending Windows updates first
It's possible you haven't installed all available Windows updates yet, and one of them is needed for the Windows 10 update to install successfully. Always install all available and pending updates, it keeps your computer more secure - as vulnerabilities are fixed - often makes your computer run faster as an update is more optimized.
See Install Windows Updates using PowerShell for more information.
Check for corrupted Windows files with SFC.exe
The System File Check utility, or sfc.exe
is used to verify the integrity of important Windows files. When used properly, sfc.exe
repairs corrupted system files.
- press Windows key and type
cmd
- when CMD is displayed in the search results, click on it with the right mouse button and choose Run as administrator
- type
sfc /?
to review its help and options, andsfc /scannow
to scan your system
Delete $Windows~BT directory
When a Windows 10 update has failed, you'll find (some of) its files in a directory C:\$Windows~BT
. The $WINDOWS.~BT and $WINDOWS.~WS folders are associated with the Windows 10 upgrade process. Automatically downloaded Windows 10 installation files are in the $WINDOWS.~BT folder. On Windows 10, the $WINDOWS.~BT folder contains your previous Windows installation.
Before trying the update again, the directory needs to be deleted - or if all else fails, renamed. Open up a CMD command line prompt as administrator, and execute:
cd \
rd /s /q \$Windows~BT
If you're an advanced Windows power user, you could try changing file- and directory permissions and ownership if the command should fail. Otherwise, just rename the directory:
ren \$Windows~BT \$Windows~BT.old
Fix Microsoft Windows Update Issues
And last but not least: Learn how to keep Windows up to date, fix errors and other issues with Windows Update. Fix the problem yourself or get help from the community:
Microsoft Support website.
And that's it. After all this, your Windows 8.1 to Windows 10 update should work just fine.
Using WSUS? Fix WsusPool keeps crashing: stops again and again.
How to look up Windows error codes with Err.exe
What's the meaning of 0xc1420127 and 0xc190010b? Just look it up with err.exe
, Err.exe is a great command-line utility for looking up error codes. Get Err.exe at https://www.microsoft.com/en-us/download/details.aspx?id=100432 (MSDN says it’s for Exchange error codes but it works for Win32 error codes and many more).
For example 0xc190010b
C:\temp\Err>Err.EXE c190010b
# as an HRESULT: Severity: FAILURE (1), Facility: 0x190, Code 0x10b
# for hex 0x10b / decimal 267 :
MMIOERR_PATHNOTFOUND mmsystem.h
MCIERR_MISSING_COMMAND_STRING mmsystem.h
STATUS_NOTIFY_CLEANUP ntstatus.h
# This indicates that a notify change request has been
# completed due to closing the handle which made the notify
# change request.
SQL_267_severity_16 sql_err
# Object '%.*ls' cannot be found.
ERROR_DIRECTORY winerror.h
# The directory name is invalid.
# 5 matches found for "c190010b"
0xc1420127
C:\temp\Err>Err.EXE c1420127
# as an HRESULT: Severity: FAILURE (1), Facility: 0x142, Code 0x127
# for hex 0x127 / decimal 295 :
MCIERR_DUPLICATE_FLAGS mmsystem.h
STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED ntstatus.h
# The specified interrupt vector was already connected.
SQL_295_severity_16 sql_err
# Syntax error converting character string to smalldatetime
# data type.
# 3 matches found for "c1420127"