The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    [How to] Update microcode from Windows.

    Discussion in 'Hardware Components and Aftermarket Upgrades' started by Dufus, Jan 21, 2016.

  1. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    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
    [​IMG]
    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
    [​IMG]

    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.
    [​IMG]


    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.
     

    Attached Files:

    Last edited: Jan 23, 2016
  2. SL2

    SL2 Notebook Deity

    Reputations:
    829
    Messages:
    1,340
    Likes Received:
    266
    Trophy Points:
    101
  3. pete962

    pete962 Notebook Evangelist

    Reputations:
    126
    Messages:
    500
    Likes Received:
    223
    Trophy Points:
    56
    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
  4. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    No reason, sorry if it's confusing. Those files are going to be updated from time to time, just scroll down the left hand side of the page to find the latest one.

    [​IMG]



    You need all the microcode updates, Intel and AMD. Extract the files from the AMD link in the first post "amd-ucode-latest.tar.bz2" which contain the binary files microcode_amd.bin, microcode_amd_fam15h.bin and microcode_amd_fam16h.bin. Latest Intel microcode.dat to date is Nov 2015 as available via the link in the first post and has rev 1E.
     
    Last edited: Jan 23, 2016
  5. JorgeManuelSilva91

    JorgeManuelSilva91 Newbie

    Reputations:
    5
    Messages:
    9
    Likes Received:
    12
    Trophy Points:
    6
    Robbo99999 and hmscott like this.
  6. Robbo99999

    Robbo99999 Notebook Prophet

    Reputations:
    4,346
    Messages:
    6,824
    Likes Received:
    6,112
    Trophy Points:
    681
    Thanks Both, I used your information here to update my desktop to the latest CPU microcode (BA) in light of the recent Intel bugs uncovered by Debian. I wasn't having issues with my CPU before, but figured I may as well update the microcode in the meantime! If MSI release an updated BIOS that includes the latest microcode in the BIOS, then I'll uninstall the driver that I'm currently using (as described in first post), and then update my BIOS - that way it just feels like a more permanent solution rather than loading a driver (albeit automatically) at each boot.
     
    hmscott and tilleroftheearth like this.
  7. tilleroftheearth

    tilleroftheearth Wisdom listens quietly...

    Reputations:
    5,398
    Messages:
    12,692
    Likes Received:
    2,717
    Trophy Points:
    631
    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. ;)
     
  8. Robbo99999

    Robbo99999 Notebook Prophet

    Reputations:
    4,346
    Messages:
    6,824
    Likes Received:
    6,112
    Trophy Points:
    681
    Wow, that's surprising (but good) that an updated microcode has made such a difference in performance! My limited experience with microcode (only since the latest Skylake bug was uncovered) led me to believe that microcode was probably just there to solve bugs rather than increase some performance aspects.
     
    Vasudev and hmscott like this.
  9. tilleroftheearth

    tilleroftheearth Wisdom listens quietly...

    Reputations:
    5,398
    Messages:
    12,692
    Likes Received:
    2,717
    Trophy Points:
    631
    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. ;)


     
  10. Robbo99999

    Robbo99999 Notebook Prophet

    Reputations:
    4,346
    Messages:
    6,824
    Likes Received:
    6,112
    Trophy Points:
    681
    Ah, good stuff, I was gonna say what about placebo, but then I read your paragraph about the "right clicking for context menu", so that's a pretty definitive measure.
     
    tilleroftheearth likes this.
  11. JorgeManuelSilva91

    JorgeManuelSilva91 Newbie

    Reputations:
    5
    Messages:
    9
    Likes Received:
    12
    Trophy Points:
    6
  12. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    12,050
    Messages:
    11,278
    Likes Received:
    8,816
    Trophy Points:
    931
    See this, simply unzip it then run install.bat and you're done. Please reboot after applying Skylake / Kaby Lake Hyper-threading bug
     
  13. James D

    James D Notebook Prophet

    Reputations:
    2,314
    Messages:
    4,901
    Likes Received:
    1,132
    Trophy Points:
    231
    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.
     
  14. Starlight5

    Starlight5 Yes, I'm a cat. What else is there to say, really?

    Reputations:
    826
    Messages:
    3,230
    Likes Received:
    1,643
    Trophy Points:
    231
    Does anybody use this to mitigate Spectre on laptops that did not yet received updates from manufacturers?
     
    Vasudev and tiliarou like this.
  15. Raidriar

    Raidriar ლ(ಠ益ಠლ)

    Reputations:
    1,708
    Messages:
    5,820
    Likes Received:
    4,311
    Trophy Points:
    431
    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.
  16. tiliarou

    tiliarou Notebook Consultant

    Reputations:
    16
    Messages:
    147
    Likes Received:
    173
    Trophy Points:
    56
    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...
     
  17. Raidriar

    Raidriar ლ(ಠ益ಠლ)

    Reputations:
    1,708
    Messages:
    5,820
    Likes Received:
    4,311
    Trophy Points:
    431
    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.

    Vulnerable.png
     
    Vasudev likes this.
  18. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    12,050
    Messages:
    11,278
    Likes Received:
    8,816
    Trophy Points:
    931
    Starlight5 likes this.
  19. MahmoudDewy

    MahmoudDewy Gaming Laptops Master Race!

    Reputations:
    474
    Messages:
    1,654
    Likes Received:
    744
    Trophy Points:
    131
    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.
  20. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    12,050
    Messages:
    11,278
    Likes Received:
    8,816
    Trophy Points:
    931
    Yes.
     
    MahmoudDewy likes this.
  21. MahmoudDewy

    MahmoudDewy Gaming Laptops Master Race!

    Reputations:
    474
    Messages:
    1,654
    Likes Received:
    744
    Trophy Points:
    131
    Should I take that as a "Yes" to the 1st question?

    EDIT: nvm I checked online and now I understand that it has to be done for every OS reinstallation.
     
    Papusan and Vasudev like this.
  22. ziddey

    ziddey Notebook Enthusiast

    Reputations:
    0
    Messages:
    35
    Likes Received:
    1
    Trophy Points:
    16
    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."
     
  23. winactive

    winactive Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    2
    Trophy Points:
    5
    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, 2018
    Starlight5 and Vasudev like this.
  24. FrozenLord

    FrozenLord Notebook Consultant

    Reputations:
    69
    Messages:
    202
    Likes Received:
    101
    Trophy Points:
    56
    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!
     
  25. Vasudev

    Vasudev Notebook Nobel Laureate

    Reputations:
    12,050
    Messages:
    11,278
    Likes Received:
    8,816
    Trophy Points:
    931
    See here Intel/AMD uCode fix for Spectre, HT bug fix and Meltdown.
    Already added Ryzen and Amd ucodes till May 05 2018.
    Used the same tool by Mr. Klein.
     
    Papusan likes this.