How to Update CPU Microcode in Award or Phoenix BIOS – For LGA 771 & 775

MODs

145 Comments

In this guide, we're going to show you how to update the CPU microcode in an Award or Phoenix BIOS. If you have an AMI BIOS, check out this guide instead.

Note: This information has only been tested with LGA 771 and LGA 775 BIOS files, so if you have a newer motherboard (especially UEFI ones), it probably won't work.

Why would you want to do this?

Updating the microcode is helpful if:

  • You did the LGA 771 to 775 MOD, and your Xeon is not working as expected (or is missing functionality, such as CompareExchange128, Speedstep, SSE 4.1, or VT-X).
  • Your BIOS doesn't support a newer processor that you want to run.
  • The microcode for your processor is old and may be buggy.

Disclaimer

There's an element of risk just flashing a normal BIOS, and especially when you start modifying it, so please attempt this mod at your own risk (and only if you're experiencing some problem). We highly recommend that you don't flash the modified BIOS unless you've verified the microcode was added correctly. If you accidentally remove the microcode that your processor needs, your system may fail to boot. We are not responsible if your system is damaged while attempting this.

Things you'll need

  • The latest BIOS for your motherboard
  • cbrom195.exe - Updates microcode for Award and Phoenix BIOSes

Method 1 (recommended) - Replace all of your existing microcode with the latest microcode from Intel

This method will delete all of your old microcode and replace it with the latest microcode from Intel.

Other programs you'll need

Step 1 - Download the file that contains the microcode for all the processors you want your motherboard to support

The following microcode is only compatible with method 1 of this guide (it's in a combined NCPUCODE.BIN format instead of individual microcode files). This makes it easier to update all of your microcodes at once.

  • Desktop LGA 771 and LGA 775 microcode (76 KB)
    • Use this if you want to run LGA 771 Xeons in an LGA 775 motherboard
    • Supports all Core 2 Duo and later LGA 775 desktop processors (no Pentium 4 or mobile support)
    • Supports all LGA 771 Xeon processors (except older Pentium 4 based 50xx models)
  • Desktop LGA 775 microcode (44 KB)
    • Supports all Core 2 Duo and later desktop processors (no Pentium 4 or mobile support)
  • Mobile LGA 775 microcode (44 KB)
    • Supports all Core 2 Duo and later mobile/laptop processors (no Pentium 4 or desktop support)
  • LGA 771 microcode (32 KB)
    • Supports all the LGA 771 Xeon processors mentioned earlier (no LGA 775 or mobile support)

Alternate microcode (in case the others are too big)

Step 2 - Move all of the files you just downloaded to the same directory (or folder), and open that directory in a DOS command prompt window

How to open a folder in a DOS command prompt window

Step 3 - Rename the microcode file to ncpucode.bin, and make it readonly

You can make it readonly with the following command:

attrib +R ncpucode.bin

This is necessary to stop cbrom from overwriting this file with your old microcode.

Step 4 - Delete the old microcode and replace it with the new code

The following command will delete all of the original microcode and replace it with the new microcode (which is in ncpucode.bin). It will just update YOUR_BIOS.BIN (it won't create a new file).

cbrom195.exe YOUR_BIOS.BIN /nc_cpucode NCPUCODE.BIN
  • YOUR_BIOS.BIN is the name of your BIOS file (it doesn't have to end in .BIN)
  • NCPUCODE.BIN is the name of the microcode file downloaded earlier

Having trouble finding the BIOS file that you need to MOD?

Read this

What to do if you get an error about not enough space

First, try one of the smaller, alternate microcode files mentioned earlier. If that doesn't help, you probably have a BIOS that doesn't support the ncpucode.bin method of updating the microcodes, and you'll need to use the 2nd method instead.

Step 5 - Verify that the microcode was added correctly

The following command will show you a list of all of the microcodes in your BIOS file:

intelmicrocodelist.exe YOUR_BIOS.BIN

You should verify that the microcode for your processor's CPUID is present. If you don't know what your CPUID is, check out the following guide: How to get the CPUID, Stepping, or sSpec for an Intel CPU.

If the dates of the microcodes are from 2010 (which is when Intel last updated them), you should have the newest microcode.

Step 6 - Update your BIOS using the modified BIOS that you just created

You should be able to update it the same way you'd update a normal BIOS.

Step 7 - Do a FULL BIOS reset (use the 3-pin motherboard reset jumper, and then load the default BIOS settings on the first startup)

How to fully reset your BIOS

Method 2 - Only add support for a new processor that isn't currently supported (old microcode will not be updated or removed)

This method is useful if your BIOS doesn't currently support a processor, and you want to add the microcode to support it. It should also work for adding LGA 771 Xeon support to an LGA 775 BIOS. All of your existing microcode will remain untouched and won't be updated or removed.

Note: This method may not work if you're trying to update the microcode for a processor that's already supported by your BIOS (you should use method 1 instead). This is the case because this method doesn't remove the old microcode, so the old microcode may get used instead of the new microcode you're adding (we're not sure which microcode the BIOS will use).

Step 1 - Download the microcode for the type of processor you want to install

The microcode files shown below are NOT the same as the ones referenced in method 1 above (they're in a different format), so you'll need to download these instead.

  • LGA 771 microcode
    • If you're only trying to add LGA 771 Xeon support to an LGA 775 motherboard, this is the only file you need to download
    • Contains microcode for all LGA 771 Xeon processors (except older Pentium 4 based 50xx models).
  • Desktop LGA 775 microcode
    • Contains microcode for all Core 2 Duo and later desktop processors (no Pentium 4 or mobile support)
  • Mobile LGA 775 microcode
    • Contains microcode for all Core 2 Duo and later mobile/laptop processors (no Pentium 4 or desktop support)

Step 2 - Look up the CPUID for your processor

You'll need the CPUID to update the right microcode (how to get the CPUID for an Intel CPU).

Step 3 - Set aside the microcode files for your processor's CPUID

Note: If your CPUID ends in an "h" and you don't see microcode with an "h" on the end, just ignore the "h" because it isn't actually part part of the CPUID. That just means it's a hexadecimal number.

When you unzip the microcodes, you'll see a bunch of individual microcode files that have filenames like this:

cpu0001067a_plat00000044_ver00000a0b_date20100928.bin

Here's what the different parts of the filename mean:

  • cpu0001067a - 1067A is the CPUID that is supported by this microcode
  • plat00000044 - plat is short for platform. This tells which sockets are supported by the microcode.
    • LGA 771 microcodes have a 4, 40, or 44 in this section
    • Desktop LGA 775 has a 1, 10, or 11
    • And for mobile LGA 775 it's a 20, 80, or A0
  • ver00000a0b - a0b is the version number
  • date20100928 - 2010-09-28 is the date the microcode was last updated

Set aside the microcode files for your processor's CPUID (there may be more than one).

Step 4 - Move cbrom195, your BIOS file, and the microcode files you set aside earlier to the same directory, and open that directory in a DOS command prompt window

How to open a folder in a DOS command prompt window

Step 5 - Rename your CPU's microcode file to cpucode.bin (plus what to do if you have multiple microcode files)

If there are multiple microcode files for your CPU, you'll need to combine them into 1 file with the following command:

copy /b file1.bin + file2.bin + file3.bin cpucode.bin

The example shown above will combine file1.bin, file2.bin, and file3.bin into 1 new file called cpucode.bin.

Step 6 - Add the new microcode to your BIOS

The following command will add the new microcode to your YOUR_BIOS.BIN (it won't touch any of the existing microcode).

cbrom195.exe YOUR_BIOS.BIN /cpucode CPUCODE.BIN
  • YOUR_BIOS.BIN is the name of your BIOS file (it doesn't have to end in .BIN)
  • CPUCODE.BIN is the name of the microcode file

Having trouble finding the BIOS file that you need to MOD?

Read this

Step 7 - Verify that the microcode was added correctly

Run the following command to display information about what's stored in your BIOS:

cbrom195.exe YOUR_BIOS.BIN /D

You should see a new module called "CPU micro code" at the end of the numbered list, and its filename should be the same as the microcode file you added in step 6 (cpucode.bin).

Why don't I see the new microcode in the "Micro Code Information" table at the bottom of the screen?

This table is supposed to list all of the microcodes in your BIOS. However, since we added the new microcodes as a compressed module, they won't show up in this list. Additionally, since the microcodes are stored in a compressed form, you also won't see them if you run intelmicrocodelist.exe on your BIOS (this program was mentioned in method 1).

The "Micro Code Information" table may also be empty for some BIOSes

This is normal, and you'll usually see this happen when method 1 failed due to not enough free space. It just means the microcodes are stored in a non-standard way in your BIOS. However, the method we just used for updating the microcodes should still work fine.

Step 8 - Update your BIOS using the modified BIOS that you just created

You should be able to update it the same way you'd update a normal BIOS.

Step 9 - Do a FULL BIOS reset (use the 3-pin motherboard reset jumper, and then load the default BIOS settings on the first startup)

How to fully reset your BIOS

Troubleshooting Problems

I can't find the BIOS file that I need to MOD

If your BIOS is in an .EXE format

You'll need to first extract it with an unzipping program like 7-Zip. Then look for a file that ends in .BIN, .ROM, or possibly something else like a number. LGA 775 BIOSes are usually around 1024 KB in size, so look for a file about that size.

You can also try running the following command on each of the files that could be your BIOS:

cbrom195.exe YOUR_BIOS.BIN /D

If cbrom displays information about your BIOS after running that command, it should be the correct BIOS file. If it hangs or gives you an error, try another file.

How to extract the actual BIOS from a Dell .EXE file

Execute the following command from a DOS command prompt window:

DellBiosFilename.exe /writeromfile

This should extract the actual BIOS file to the same directory.

I'm not sure how to update my BIOS with the modified file I just created

The method for updating your BIOS is different for each motherboard manufacturer.

  • With some, you can simply put the BIOS file on a USB key, reboot and enter the BIOS, and update it from there.
  • Others may have a BIOS updating program that you can run from within Windows.
  • And in some cases, you may need to put the BIOS on a bootable DOS USB key, CD, or DVD and update it from a command prompt.

If there's a Windows or DOS BIOS updating program, it will usually be included with the BIOS or mentioned when you download the BIOS. If you don't see it, check the downloads section, FAQ section, or support section.

If all else fails, try searching Google for your motherboard’s model and update BIOS or something like that.

145 Responses

  • Kas July 12, 20143:27 pm

    Does anyone know how to remove unused Intel microcodes using the CBROM195 tool? I can’t find instructions anywhere. I’m trying to update Xeon microcodes, but there’s only 2KB left on this Asus BIOS. It uses AWARD BIOS so I can only use CBROM195, but CBROM195 /? doesn’t seem to show a command to do this. Gettign error “Not enough space for adding ROM”.

    Reply
    • syn July 12, 20146:22 pm

      If you follow the guide on this page, it will remove all old microcode and update it with all new, so you don’t need to worry about not having enough space.

      Reply
      • Kas July 13, 20145:59 pm

        Thanks syn! That worked. It kept some of the older CPU microcodes but rid of the ones from 2007 / 2008 and replaced those with the 45nm ones. That’s fine for me.

        Reply
  • Vincent July 22, 201411:48 am

    Some Award BIOS don’t have ncpucode.bin file by standard.
    Existing microcodes are stored another place.
    That could be a problem is original BIOS has not enough space for new microdes.
    So in this case it is/would be not possible to delete and replace existing microcodes with new ones by a new ncpucode.bin file with new microcodes

    Mainboards which don’t have an ncpucode.bin entry in Standard BIOS.

    Gigabyte P35-D3
    Gigabyte P35-DS4
    Gigabyte EP35-DS3
    Gigabyte EP35-DS4

    And more probably

    The command “cbrom195.exe YOUR_BIOS.BIN /nc_cpucode NCPUCODE.BIN” does not delete any existing old microcodes from original BIOS file with those models!


    Eg: This mainboard has ncpucode.bin entry by standard, where deleting of microcodes works by replacing them with a newly created ncpucode.bin

    Gigabyte-EP45T-UD3LR

    (And more)

    Reply
    • syn July 27, 201411:51 pm

      Thanks for telling us about this. I hadn’t heard of this before.

      I’ve added a new method for updating the microcodes to this article. It should work even if the BIOS doesn’t use a standard ncpucode.bin file.

      Reply
  • Cory July 29, 20145:53 am

    i am completely lost i got lost at add all files to the same directory. but i really need to do this can someone explain better please!!! i really want my intel core 2 quad up and running but i need the bios to be updated to 45 nm cpu’s. and foxconn and gateways bios update are only for windows vista and i have 7 please help me guys!!!

    Reply
  • Vincent August 1, 20149:43 am

    @Cory

    (Download Intel cpu microcode from here, if not already)
    http://downloadcenter.intel.com/confirm.aspx?httpDown=http://downloadmirror.intel.com/23984/eng/microcode-20140624.tgz&Lang=deu&Dwnldid=23984

    Open the Windows Explorer! (not Internet Explorer!!)
    ->Start ->All Programs ->Accessories ->Windows Explorer

    Navigate to directory where you have stored the Intel microcode file (“microcode-20140624.tgz”)!

    Create a new directory called “microcode” in download folder (where u have “microcode-20140624.tgz”)!

    Create a new folder called “cpu_microcode”

    Extract “microcode.dat” from “microcode-20140624.tgz” with your suitable decompression program like PowerArchiver / 7zip /…
    (Put the extracted “microcode.dat” into “cpu_microcode” folder)

    Donwload the Intel Microcode Decode Tool “microdecode.rar”
    https://www.rapidshare.com/files/163163235/microdecode.rar

    Extract the three files “microdecode.exe”, “microdecode.c” and “gpl3.txt” to cpu_microcode folder where you have also the microcode.dat file.

    Then open a cmd command window!
    ->Start ->All Programs ->Accesories ->Command Prompt
    No administrative privilegies required!

    In cmd window navigate to “cpu_microcode” directory
    Example: It it would be here (E:\Downloads\cpu_microcode)

    Then you would type this in cmd window:
    E:
    cd Downloads\cpu_microcode

    Now you can extract the cpu microcode files from microcode.dat in folder “cpu_microcode”.

    type this in cmd:
    microdecode.exe microcode.dat
    It’s important that “microcode.dat” is in same folder as “microdecode.exe”!!
    Otherwise it won’t work!

    Good luck

    Reply
  • Rob August 6, 20146:55 am

    Would my Gigabyte GA-X38T-DQ6 support the X5470 if all these top cpu’s are supported with the updated the latest BIOS? Would the micro codes be already updated with the F7G BIOS from 2009?

    http://www.gigabyte.com/support-downloads/cpu-support-popup.aspx?pid=2674

    Reply
    • syn August 6, 20141:59 pm

      Since your motherboard has an X38 chipset, it will probably only support 3xxx series Xeons (like the X3363). Other people have tried to update the microcodes on X38 motherboards, and it didn’t allow them to run 5xxx series Xeons.

      The latest LGA 771 and 775 microcodes are from 2010, so your BIOS doesn’t have the latest.

      Reply
  • alex August 16, 20148:49 am

    It doesn’t work with phoneix bios in laptop e.g. thinkpad, dell.

    Reply
    • syn August 16, 20142:43 pm

      Hi, can you please tell me the model numbers of the systems, motherboards, and processors you tried to add support for? You can usually get the motherboard model number with CPU-Z.

      Also.. could you please be a little more specific with what problem you had? Did cbrom195 just hang or not do anything?

      Thanks

      Reply
      • alex August 17, 20145:21 pm

        The cbrom just hang, nothing happens for the laptop. Your method works like a charm on my nvidia 650i ultra desktop. But I just wanna have deeper understanding that if the modding method for phoneix bios for laptop and desktop is different? Do you know how to update microcode to this bios? It is a thinkpad x201 bios(phoenix). The processor is i5 520m C0 (CPU ID: 00020652) microcode was revision D, the latest from intel is E.

        thinkpad x201 bios download:
        http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/6quj19us.exe

        Thank you!

        Reply
        • alex August 17, 20145:22 pm

          mother board is QM57:)

          Reply
        • syn August 17, 20147:29 pm

          The problem is probably that your motherboard is newer than cbrom195 supports. The method I posted is only tested to work with older Core 2 Quad LGA 775 motherboards. I mentioned this at the top of the article, but it’s probably easy to miss if you’re just skimming it.

          A newer version of cbrom may work, but I haven’t tested it with any newer boards, so I’m not sure if the method is different.

          Reply
    • syn August 16, 20143:13 pm

      I just remembered that I didn’t include microcode for laptops (this was mentioned in “Processors supported by this microcode”). I did this to save space because the microcode file was too big for some BIOSes. However, I’ll go ahead and upload separate microcode files for mobile processors.

      Reply
    • syn August 16, 20144:05 pm

      Here’s the ncpucode microcode file for laptops (for use with method 1): http://www.delidded.com/lga-771-775-microcode/ncpucode-mobile-lga-775-microcode.bin

      And here are the individual microcode files for laptops (for use with method 2): http://www.delidded.com/lga-771-775-microcode/mobile-lga-775-microcode.zip

      Reply
  • Reini August 20, 20146:20 am

    Hello guys I need some help!. I have a motherboard with Phoenix bios (Fujitsu Siemens Esprimo P2511). I changed my processor from Intel Pentium Dual Core E2140 1.60 gHz, to a Core 2 Dual E7500 2.93 gHz. No problem with that just the speed is limited to 1.60 gHz, so I need to update my microcode but I’m fully lost.
    Please help me. Sorry for bad english.

    Reply
    • syn August 20, 20145:52 pm

      I would first try fully resetting your BIOS (through the jumper on your motherboard or by removing the CMOS battery), since that may fix your problem. When you boot up for the first time, you should also go into the BIOS and load the default settings.

      If you’re still having issues and want to update the microcode, have you tried both of the methods on this page? If so, what part of the process did you not understand? Please try to be as detailed as possible, and I’ll try to explain it better.

      Thanks

      Reply
  • ym58 August 22, 201410:02 am

    syn,

    Am trying to follow your detailed instructions to update a Dell Vostro 410 microcode.

    Looks like your zip-embedded intelmicrocodelist.exe found here :
    http://www.delidded.com/dl-content/uploads/2014/06/intelmicrocodelist_v04a.zip
    is either corrupt or damaged …

    Could you check on your side ?

    Thanks.

    Reply
    • syn August 22, 201410:10 am

      I just downloaded it, and it uncompressed fine for me (using 7-ZIP). The file also ran fine. Can you try downloading it again?

      Reply
      • ym58 August 22, 201410:34 am

        Nope … doesn’t work, neither from Chrome nor Explorer.

        Reply
        • syn August 22, 201410:56 am

          Weird.. I’m not sure what the deal is. I recompressed the file and uploaded it again. Try it now.

          If it still doesn’t work, there may be some problem with the connection between your house and my web server, or your antivirus may be blocking access to it or something.

          Reply
          • ym58 August 22, 20141:01 pm

            Thanks, syn … working now !

  • Jucelio September 6, 201412:36 am

    Hi, I have a Gigabyte G1-EP43T-S3L (rev. 1.4) but, the process to add the microcode dont work for me.

    The bios is Award, with 1mb (rom file, not bin) http://download.gigabyte.asia/FileList/BIOS/motherboard_bios_ga-ep43t-s3l_f7.exe

    My processor is the X5482 SLANS (tdp 150W fsb 1600) (45Nn)

    First question: Is necessary join the files cpu0001067a – plat00000044 – ver00000a0b ?

    I rename these files for file1, file2 and file3 and join to CPUCODE.BIN (Is correct?)

    After, i start the process.

    C:\lga 771 microcodes\45nm>copy /b file1.bin+file2.bin+file3.bin combined_files.bin
    file1.bin
    file2.bin
    file3.bin
    1 file(s) copy(s).

    After:

    C:\lga 771 microcodes\45nm>cbrom195.exe G1-EP43T-S3L.rom /cpucode cpucode.bin

    cbrom195.exe V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
    Adding cpucode.bin .. 68.9%

    BUT, after the the process, the bios.rom generate have only 12kb!

    The CBROM195.EXE support rom files?

    Reply
    • syn September 6, 20141:19 pm

      Yes, you can rename the microcode files to file1.bin, file2.bin, etc.

      It looks like the process only got to 68.9% for you, so that’s probably why the file is so small.

      I just tried it with your BIOS, and it worked fine for me.

      Here’s what I did:

      • I downloaded and extracted motherboard_bios_ga-ep43t-s3l_f7.exe
      • I then renamed EP43TS3L.f7 to G1-EP43T-S3L.rom
      • cbrom195.exe G1-EP43T-S3L.rom /cpucode cpucode.bin

      I’m not sure what the problem is if you’re doing that. I’d try rebooting to rule that out as a problem.

      Reply
  • Dobre C. September 17, 20141:02 am

    Hi!
    Does anyone know how to add microcodes in a bios.exe, or how to make for a bios.exe a bios.bin or bios.rom?
    Thank you!

    Reply
    • syn September 17, 20143:07 am

      Hey, check to see if they offer a DOS version of the BIOS. You may also be able to extract the contents of the exe using an unzipping program like 7-zip.

      Reply
      • Dobre C. September 19, 20145:57 am

        I have a Gigabyte P43ES3Gi tried to extract the file and i obtain an autoexec.bat, a FLASHSPI.EXE, and a file P43ES3G.F14 (Fn n is the number of bios version). Autoexec bat run flashspi P43ES3G.F14, but i don’t obtain a new file with extension bin or rom. I dont know how to obtain a bios.rom or bios.bin.

        Reply
        • syn September 19, 201411:57 am

          P43ES3G.F14 is your BIOS file. You can rename that to .bin or .rom if you need to, but you probably don’t need to. I recommend renaming it back to .F14 before flashing.

          Reply
        • Catalin September 19, 201412:41 pm

          Thank you syn, i use cbrom95 and i put instead of your_bios.bin my_bios.f14 and it works.

          Reply

Leave a Comment