If you have certain processors, especially the Intel G3258, and try to install or upgrade to Windows 10 it may fail with the error code 0xC1900101-0x20017. This can be caused by a faulty CPU microcode update embedded in the Windows 10 installation image preventing a successful boot into Win10. Hopefully, Microsoft will correct this in the near future.
Actually, it seems that Win10 installs fine but it fails on its first boot into Win10 so it automatically reverts to the previous OS. If you watch carefully when Win10 boots the first time after installation you will hear a boot beep and a boot screen momentarily flash on the screen, then immediately another beep as Windows reboots into the old OS and displays a Win10 installation failure message. If you're connected to the Internet and select the "download updates" during Win10 installation, it's possible that Microsoft will already have posted a corrected microcode DLL to replace the faulty file during installation -- so this fix may soon be unnecessary.
In this fix we will reduce the processor to a single core and slow it to stock core speed which allows Win10 to install and boot properly with the faulty microcode update. Since you wouldn't want to continue to run your computer in this crippled processor state, after Win10 is installed we will disable the faulty processor update so you can return the processor to full performance. After the faulty microcode update is disabled, Win10 will then boot and operate properly at full processor performance.
Follow these steps to install Win10 and disable the faulty microcode update:
- Make sure you are running Windows 7 SP1 or Windows 8.1 Update, and it is properly activated.
- Prepare for the upgrade by downloading the correct image file using the Microsoft Download Tool on the Windows 10 Upgrade page, either as an ISO or to a USB. If you're running Win8.1, it's easiest to just save the ISO to your desktop and double-click it to mount (but don't mount it yet).
- After having your update file ready, this is Critical-- Boot into BIOS, disable all but one CPU core and disable any overclocking.
- Reboot
- If Win8.1, just double-click on the ISO to mount it. If Win7, burn the ISO to a blank DVD (or use your favorite mounting utility), then open the DVD in Windows Explorer (for an upgrade, do not boot to the DVD or USB).
- Run Setup.exe from the root of the ISO or USB to install the Win10 upgrade.
- After the update to Windows 10 has fully completed and is stable:
- Using Windows Explorer, go to the folder: c:/windows/system32
- Right-click on the file: mcupdate_GenuineIntel.dll
- Select Properties
- Select the Security tab
- Click Advanced button (near bottom)
- Advanced Security Settings should appear
- Click on Change (next to Owner)
- Select User or Group window should appear
- Type your user name in the Enter the Object Name box
- Click the Check Names box to select the corrected user name
- Click OK all the way out
- Right-click on mcupdate_GenuineIntel.dll again
- Select Properties
- Select the Security tab
- Click Advanced button
- Click Add button
- Permission Entry window should appear
- Click Select a Principal
- Type your user name in the Enter the Object name box
- Click the Check Names box to select the corrected user name
- Click OK
- In Permissions Entry window, select Full Control
- Click OK all the way out
- Rename mcupdate_GenuineIntel.dll to mcupdate_GenuineIntel.dll.BAK
- Reboot the computer to verify it is working okay.
- Reboot into BIOS and re-enable all CPU cores.
- Reboot into Win10 and verify it is working okay.
- Optional -- Reboot into BIOS and overclock the CPU as desired.
- Reboot and enjoy Win10 and your full processor's power!
In response to the concerns that this fix might break Win10 in some way, the microcode update affects only the processor. You have only one model of processor, so if the microcode update for your processor is defective and disabling the defective update solves the problem, then this is the probably the best and only solution until Microsoft corrects the microcode update file. This should be easy for MS to do by installing a corrected microcode update file with a simple KB update pushed through online as they would any other regular weekly OS update.
BTW, my system has UEFI BIOS and my drive is formatted NTFS so conversion to GPT is not required for the Win10 update as some have suggested. NTFS vs GPT does not appear to be an issue.
Some motherboard manufacturers have posted a BIOS update which allows Win10 to be installed on processors with the faulty microcode update issue, but many users report that the BIOS update breaks the ability to overclock. In this case you might need to revert to the previous BIOS version and apply the steps of this fix.
After spending many hours trying to figure out this problem, I finally called Microsoft Partner Support for help. During the hour I waited on the callback, I tried downgrading the processor to its most basic level by disabling all but one core and slowing it to default -- the install completed successfully. Then during another hour on the phone with the technician, during the times I was put on hold while he could research the issue, and going by the clue that the processor was somehow involved in the failure to boot, I found the microcode update file and tried disabling it -- and it worked! When the MS technician returned I told him that I had figured out what appeared to be a fix. He took some notes and asked me to please post this fix on the Community Forum so it might help others. So, I returned the system to the starting point (all cores active and Win10 would not load), then wrote down the steps above as I performed them ... and it worked again without a hitch!
Edit: I hear that others have also figured out and posted a similar fix in around the same time-frame, and this is only natural -- it is Scientific Determinism in action. I'm not looking for credit, I'm just trying to help others avoid pulling out their hair as I had done.
If this fix solves your problem, please click on the recommend ("Me Too") button below to bump this discussion up in the search results so more people with this problem can find it. Thanks.