A way to update your microcode from Windows should you be stuck waiting for an updated BIOS from the manufacturer and Windows only has old patches. Note that this is a software solution and does not modify the BIOS in anyway.
Download the VMware CPU Microcode Update Driver from here. For those interested have a read at the linked page also. Extract the contents into a folder of your choice, for this demo we'll call it uCode.
This driver has been written to use the updates provided by Intel and AMD.
Intel's microcode update can be got from here. Please check down left column for latest version. Unpack and extract microcode.dat into the uCode folder.
AMD's microcode update can be got from here. Again unpack and extract files to the uCode folder.
The installer expects the microcode files to be present even if the CPU it's running on does not need them, ie both Intel and AMD files. Run install.bat from the uCode folder and the microcode files and driver will be copied to the Windows\System32\Drivers folder, the driver executed and micro code updated if the microcode files contain a newer version. If successful you should see the following
![]()
The installed driver should have updated the microcode and will now automatically update with reboots. The "uninstall.bat" can be run to uninstall it if not needed.
Intel may only update the microcode.dat file once every 3 months or so, so what to do if a new critical patch is available but not included in microcode.dat.
Well we can add for ourselves as long as it's in the same ascii format so that might mean having to convert a binary patch into an ascii patch.
I've attached a patch for Skylake (SkyLake74) as an example for version 0x74. While the normal microcode.dat file is for many CPU's this one I've converted is only for Skylake and might be useful for those experiencing the freezing / lockup bug. Skylake micrcode is huge compared to previous generations!
There's a number of utilities that can display microcode version in Windows, my favorite RWEverything, here it shows microcode version 0x1A
![]()
Or HWiNFO, be aware though that it only reads the microcode version once during start up so for instance if you have it running then run the VMware utility you will not see it update in HWiNFO unless you close HWiNFO and restart it. Example showing 0x1A again.
![]()
So thanks to VWware for providing an elegant solution and signed driver, I use my own driver but unfortunately it's self-signed.![]()
Just a little tidbit, Intel microcode is not an executable, is encrypted so any tampering will lead to rejection and one of Intel's most guarded secrets with supposedly just a handful of people inside Intel knowing how it works. Considering how powerful it is it should be of no surprise.
-
Interesting.
I see there are three newer microcode files available, is there a reason for why you linked to an older one?
https://downloadcenter.intel.com/pr...e-i7-2600K-Processor-8M-Cache-up-to-3-80-GHz- -
doesn't work on my system, tells me "microcode _amd.bin was not found".
It's Intel system with 4710, microcode.dat file is in the same directory.
Maybe it's already up to date, my revision is 1c and bios dated 4/13/15, intel microcode file is from 9/15/14 ????
Actually latest is from 1/21/15 but also doesn't work.Last edited: Jan 23, 2016 -
Last edited: Jan 23, 2016 -
Hi, thanks for the write up.
The listed mirror for AMD microcode is not available, so I downloaded that file from webarchive:
https://web.archive.org/web/20160726141516/http://www.amd64.org/microcode/amd-ucode-latest.tar.bz2
Everything works like a charm and my Skylake system is now running the latest microcode from May 2017:
https://downloadcenter.intel.com/download/26798/Linux-Processor-Microcode-Data-File
Regards,
Jorge Manuel SilvaRobbo99999 and hmscott like this. -
Robbo99999 Notebook Prophet
hmscott and tilleroftheearth like this. -
tilleroftheearth Wisdom listens quietly...
I recently used this guide to update to the latest microcode on a couple of low end office platforms... to μCU level 1C as verified by HWinFO. (Sorry; didn't check what version it was before).
Can't believe the difference it's made so far. No issues to mention before the update - except the usual - reboots needed for programs to work correctly (after running up to a month or more without one) - lagging and pauses - even with an SSD installed - little glitches (like needing to click or double click things more than once to make the work...) that after 3 days still haven't manifested themselves (yet).
These systems are now obviously snappier and more responsive. I'll update this thread if the stability/reliability of them is also better too.ChanceJackson, Vasudev, Papusan and 3 others like this. -
Robbo99999 Notebook Prophet
-
tilleroftheearth Wisdom listens quietly...
I wasn't expecting anything either. But do note I am very sensitive to lagginess and stutters - even when just browsing the O/S.
Note that there wasn't any more 'performance' - just a noticeable snap to the way it responded to my input...
It actually took a few hours to notice how much more smooth those systems were... but going to any other (identical) platform is obvious which has more 'snap' to me. I'll be updating those systems soon...
I actually just finished updating to μCU level 1C from 1B on an old notebook with an i7-3612QM, 16GB RAM and 1TB SSD. I thought I would need to reboot to 'feel' any difference, but no; that slightly more 'instant-ness' is there no matter what I do with that old system right now.
To give some examples: right clicking on the desktop to get the 'context' menu, right clicking on Computer to go into the Manage menu (Computer Management), bringing up Task Manager with CTRL+SHFT+ESC all happen in real time - including opening up file explorer and/or especially network shares are also demonstrably faster to populate - where there could be up to a second or more of lag before.
I also tried doing so on a small 2-1 (SoC based) system - but I guess there were no updates for that (yet)...
I can't see a downside to doing this to all my platforms going forward? I'll certainly monitor how those are affected and report back.
6.|THE|1|BOSS|.9, Vasudev, Papusan and 1 other person like this. -
Robbo99999 Notebook Prophet
tilleroftheearth likes this. -
Intel has released a new update for the following platforms:
Code:KBL H0 (06-8e-09:c0) 62 KBL Y0 (06-8e-0a:c0) 66 KBL B0 (06-9e-09:2a) 5e SKX H0 (06-55-04:97) 2000022
Link:
https://downloadcenter.intel.com/download/26925/Linux-Processor-Microcode-Data-File -
-
Is it possible to use older microcode (haswell CPU overclocking bug) by editing in HEX its version and date? Or it is exactly what was mentioned about no tempering allowed into Intel's microcode because it won't work?
TNX. -
Starlight5 Yes, I'm a cat. What else is there to say, really?
Does anybody use this to mitigate Spectre on laptops that did not yet received updates from manufacturers?
-
I will see if I can incorporate these patches into the various Alienware and thinkpad BIOS files. I'm assuming the fact it says linux microcode doesn't meant it's not compatible with windows, right?
Vasudev, tiliarou and Starlight5 like this. -
I tried on my GT72 2QE but it's partly passing the microsoft powershell test since the driver with new microcode is loaded after windows kernel.
Only proper way is to mod the bios and flash it.
Yes, in principle the "linux" can be used to mod bios, so updating microcode for any OS running on the PC... -
I applied the January 8, 2018 microcode to all my systems, and they are all still vulnerable to Spectre. tested on Penryn, Nehalem, SNB, IVB, and Haswell systems which were all updated to January 8, 2018 Intel microcode update.
Vasudev likes this. -
-
MahmoudDewy Gaming Laptops Master Race!
I followed the instructions and the update was successful. I had a question though, using this method do I need to run the update every time I reinstall the OS or is it updated on hardware level?
Vasudev likes this. -
-
MahmoudDewy Gaming Laptops Master Race!
EDIT: nvm I checked online and now I understand that it has to be done for every OS reinstallation. -
Heads up, build 17074 (current slow/fast ring) breaks support.
edit: hmm, actually it's working on one of my machines, but not another. Both on the same build...
"The cpumcupdate service failed to start due to the following error:
cpumcupdate is not a valid Win32 application." -
Hi
The Intel Linux microcode file (microcode-20180703.tgz) isn't as updated as a GitHub repository here and my own latest microcode (306D4 rev 0x2B) was added from r72 onwards.
However, the microcode updates are already .bin with a different set of filenames to the unzipped Linux ones, therefore I can't seem to make the .dat Extractor tool work.
Anyone know how?
Edit: Never mind, I renamed the 0x2B .bin to the 06-3d-04 filename, recompiled the microcode.dat and it works!
Now I just need to workout how to validate the get-SpeculationControlSettings output.Last edited: Jul 30, 2018Starlight5 and Vasudev like this. -
For everyone stumbling across this thread and wondering:
- yes, the latest Intel updates lack the consolidated microcode.dat
- yes, there is a workaround to get the microcode.dat from the single files - thanks to Jakob Klein who developed this nifty tool https://1drv.ms/f/s!AgP0NBEuAPQRpdoWT_3G3XCdotPmWQ
And in general: if you use an Intel based system, feel free ot just create empty text files and name them like the AMD's microcode files (microcode_amd.bin and microcode_amd_fam15h.bin), since the AMD files won't be used on an Intel system ;-)
Thank you very much to http://wp.xin.at/archives/tag/intel-microcode-dat-converter for pointing out this solution! -
Already added Ryzen and Amd ucodes till May 05 2018.
Used the same tool by Mr. Klein.Papusan likes this.
[How to] Update microcode from Windows.
Discussion in 'Hardware Components and Aftermarket Upgrades' started by Dufus, Jan 21, 2016.