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

MODs

178 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
    • MD5 checksum for cbrom195.exe is BC46E0752BC1387C0012173DC8AC8F5C

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.

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.

178 Responses

  • didus69 June 15, 201711:37 am

    Hello,
    Thank you for your Help on a Gigabyte G41M combo rev2 the upgrade of the bios with process number one has worked well, just DDR 3 barettes of type 4Go server that I was able to install, surely of the parameters or due to compatibility.
    Great thank you from France

    Reply
  • dpast76 June 26, 20171:13 pm

    I am trying to remove old CPUID.bin files from within the >bin bios from the pc vendor. All instructions point to using cbrom for this process but none work. Adding new CPUID’s using this method also increase the bios file to over 2gb. Is there a simpler way to remove / delete an old CPUID.bin when it is already combined. EX: copy /b file1.bin + file2.bin + file3.bin cpucode.bin IS there a file.bin – file.bin option of you have a copy of the old CPUID file you are needin to remove??

    Reply
  • Rexnon July 14, 20172:46 pm

    Actually I have acquired an Intel Xeon x5460 (SLBBA, E0) processor and wanted to install it on an older Motherboard: Albatron PXP965 v2.0 (it works normally with an Intel Core 2 Duo e6300 processor, but I wanted to give a try to make it a bit faster). Having the latest BIOS I modded it very easily and my x5460’s CPUID appeared in the updated *.bin file.
    I flashed the BIOS using MS-DOS bootable USB flash drive and the native awdflash.exe utility… All passed normally without any issues. Installed the CPU, reset the BIOS and pushed the “power” button.
    The result: all the coolers are turned on and nothing appears on the display… just a black screen and even not an opportunity to enter the BIOS settings… With its native e6300 it turned on normally (sure with BIOS default settings).
    What possibly could go wrong in this story?
    Please, let me know you comments and if there’s a possibility, a little help to solve the problem would be much appreciated.

    The hardware details are the following:

    1) Motherboard: Albatron PXP965 v2.0
    2) RAM: Samsung DDR2 800MHZ, 8Gb (4x2Gb, all the slots are used)
    3) Graphics: ASUS, NVIDIA GeForce 9600 GT

    *BIOS version: the latest R1.05 *.bin (updated with extra 771 microcodes)

    Thanks in advance for consideration.

    Reply
    • Stepa July 29, 20178:28 pm

      Maybe the BIOS does not support E0 revision processors (CPUID 1076A). Also possible problems due to FSB overclocking to 1333MHz.
      Perhaps the motherboard will work with Xeon L5408 rev.C0 or Xeon X3220.

      Reply
  • Noba July 16, 20171:26 pm

    Hi,
    first of all: thanks for the tutorial
    but: could you please reupload the cbrom195.exe, it seems to be offline and via google i found a dozen other pages who were offline -.-

    thanks in advance

    Reply
    • syn July 16, 20173:25 pm

      Thanks. I updated the cbrom link.

      Reply
      • Noba July 16, 20174:41 pm

        Wow thanks, that was fast.
        Everything worked fine, X5450 is recognised correctly now and works superb :-)

        Reply
        • Noba July 17, 20171:49 pm

          dammit i was happy too soon, opensuse worked just fine.
          but i couldn’t get windows 7 to start.
          installation worked just fine, but as soon as the windows boot logo appears i get a bluescreen with the following message:

          “Multicoreprocessor configuration not supported”

          with the default BIOS it works, but C1E doesn’t work properly and EIST is not even available, so my x5450 idles at 42°C… (and its slightly unstable in prime95)
          any thoughts what i can do now? (i tried both methods and with 2 older bios)
          my Mainboard is an ABIT IP35-e btw.

          Reply
  • Billyboy July 25, 20171:45 am

    Could someone PLEASE tell me where the modified bios file ends up after we create it? I am following method 2 of this forum for microcodes and I cant for the life of me figure out what the modified bios is called or where to locate it.

    THANK YOU

    Reply
    • Stepa July 25, 20178:03 pm

      The microcode is replaced in the current BIOS file. You can check the file using intelmicrocodelist.exe, if everything is done correctly, then there should be such lines:
      CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A243 Off=5F000 Size=1000 Plat=2
      CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A207 Off=60000 Size=1000 Plat=6
      CPUID=1067A Rev=A0B 2010/09/28 CRC=B007E7B0 Off=61000 Size=2000 Plat=2,6

      Reply
      • Billyboy July 25, 20178:12 pm

        Thank you for your reply. For some reason I can’t get intelmicrocodelist to see my bios even before I try and mod it. I tried a different bios and it worked as far as identifying it. I was try to mod a 945GCT-M3 and it didn’t work for me. It is a ECS Motherboard. Are there certain boards that the intelmicrocodelist won’t identify? Once again thank you for your response

        Reply
        • Stepa July 25, 20178:43 pm

          Intelmicrocodelist simply looks for Intel’s microcode in a file and shows its version.
          The motherboard 945GCT-M3 does not support quad-core CPUs. And unfortunately adding microcode is not enough to support these processors.

          Reply
          • Billyboy August 9, 20171:26 am

            First off. Thanks for all your help. Does the bios file increase in size after adding the microcode?? My file size stayed the same. I have a different MOBO this time. P35DS3L is my current one…

            Here is a look at what I ended up with..

            CPUID=F37 Rev=02 2003/12/09 CRC=2B57BD9E Off=C6FE0 Size=800 Plat=0,2,3
            CPUID=F34 Rev=17 2005/04/21 CRC=2CBD6146 Off=C77E0 Size=1C00 Plat=0,2,3,4
            CPUID=F41 Rev=17 2005/04/22 CRC=326135C1 Off=C93E0 Size=1400 Plat=0,2,3,4,5,7
            CPUID=F43 Rev=05 2005/04/21 CRC=77812C17 Off=CA7E0 Size=800 Plat=0,2,3,4,7
            CPUID=F49 Rev=03 2005/04/21 CRC=F85D53B8 Off=CAFE0 Size=800 Plat=0,2,3,4,5,7
            CPUID=F4A Rev=04 2005/12/14 CRC=5E7996D9 Off=CB7E0 Size=800 Plat=2,3,4,6
            CPUID=F44 Rev=06 2005/04/21 CRC=9F60DB18 Off=CBFE0 Size=C00 Plat=0,2,3,4,7
            CPUID=F47 Rev=03 2005/04/21 CRC=AF2CEF0D Off=CCBE0 Size=C00 Plat=0,2,3,4,7
            CPUID=F61 Rev=07 2005/06/10 CRC=AB7DD242 Off=CD7E0 Size=800 Plat=2
            CPUID=F62 Rev=0F 2005/12/15 CRC=0976D137 Off=CDFE0 Size=C00 Plat=2
            CPUID=F64 Rev=04 2005/12/23 CRC=C66DBF02 Off=CEBE0 Size=C00 Plat=2,4,5
            CPUID=F65 Rev=0B 2007/05/10 CRC=69B15BBA Off=CF7E0 Size=800 Plat=2
            CPUID=6F1 Rev=11 2005/10/10 CRC=A28ACD13 Off=CFFE0 Size=1000 Plat=0,1,2,5
            CPUID=6F4 Rev=26 2006/03/12 CRC=DA8E97D1 Off=D0FE0 Size=1000 Plat=0,2,4,5,6,7
            CPUID=6F5 Rev=33 2006/05/01 CRC=6A962F22 Off=D1FE0 Size=1000 Plat=0
            CPUID=6F5 Rev=33 2006/05/01 CRC=6A962ED3 Off=D2FE0 Size=1000 Plat=4,6
            CPUID=6F2 Rev=5D 2010/10/02 CRC=9384A573 Off=D3FE0 Size=1000 Plat=0
            CPUID=6F6 Rev=D0 2010/09/30 CRC=B61EC71A Off=D4FE0 Size=1000 Plat=0
            CPUID=6F6 Rev=D2 2010/10/01 CRC=6618CFFF Off=D5FE0 Size=1000 Plat=2
            CPUID=6F7 Rev=6A 2010/10/02 CRC=9911AAF2 Off=D6FE0 Size=1000 Plat=4
            CPUID=6F7 Rev=6B 2010/10/02 CRC=CC4DEED3 Off=D7FE0 Size=1000 Plat=6
            CPUID=6FB Rev=BA 2010/10/03 CRC=08707B60 Off=D8FE0 Size=1000 Plat=0
            CPUID=6FB Rev=BC 2010/10/03 CRC=9394765A Off=D9FE0 Size=1000 Plat=2
            CPUID=6FB Rev=BA 2010/10/03 CRC=ED247070 Off=DAFE0 Size=1000 Plat=4
            CPUID=6FB Rev=BC 2010/10/03 CRC=F1A7A484 Off=DBFE0 Size=1000 Plat=6
            CPUID=6FD Rev=A4 2010/10/02 CRC=9ACE6116 Off=DCFE0 Size=1000 Plat=0
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A246 Off=DDFE0 Size=1000 Plat=0
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A243 Off=DEFE0 Size=1000 Plat=2
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A237 Off=DFFE0 Size=1000 Plat=4
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A207 Off=E0FE0 Size=1000 Plat=6
            CPUID=10677 Rev=70A 2010/09/29 CRC=F3710DB6 Off=E1FE0 Size=1000 Plat=4
            CPUID=1067A Rev=A0B 2010/09/28 CRC=B007E7E3 Off=E2FE0 Size=2000 Plat=0,4
            CPUID=1067A Rev=A0B 2010/09/28 CRC=B007E7B0 Off=E4FE0 Size=2000 Plat=2,6
            CPUID=F32 Rev=0A 2004/05/11 CRC=2538EF0A Off=EF000 Size=800 Plat=0,2,3
            CPUID=F25 Rev=2C 2004/08/26 CRC=62D062AB Off=EF800 Size=800 Plat=4

            Does this look right to you?

          • Billyboy August 9, 20171:33 am

            Sorry for the long list my bad… Maybe this would be easier to tell if I did it right..

            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A246 Off=DDFE0 Size=1000 Plat=0
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A243 Off=DEFE0 Size=1000 Plat=2
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A237 Off=DFFE0 Size=1000 Plat=4
            CPUID=10676 Rev=60F 2010/09/29 CRC=8FE1A207 Off=E0FE0 Size=1000 Plat=6
            CPUID=10677 Rev=70A 2010/09/29 CRC=F3710DB6 Off=E1FE0 Size=1000 Plat=4
            CPUID=1067A Rev=A0B 2010/09/28 CRC=B007E7E3 Off=E2FE0 Size=2000 Plat=0,4
            CPUID=1067A Rev=A0B 2010/09/28 CRC=B007E7B0 Off=E4FE0 Size=2000 Plat=2,6

        • Stepa August 9, 20177:32 am

          When adding a microcode, a free space is used inside the BIOS file. The file size should remain the same.
          So it looks like the BIOS file is OK

          Reply
          • Billyboy August 9, 20173:34 pm

            A couple of questions. If and when you have time. If I understand this correctly. All Xeon processors are server processors and run high density memory. What memory will they respond too in a regular motherboard. I have XEON X 5472 on the way. I am putting it in a Gigabyte P35DS3L motherboard. What type of memory should I use or do I even have a choice?

            Thank you for your time

  • Billyboy August 9, 20173:47 pm

    I have been trying to research this but haven’t found much. I APOLOGIZE for the noob questions. I am trying to figure out if the CPU itself determines the RAM that is used on the board or if it’s both the CPU and MOBO?

    Reply
    • Stepa August 9, 20176:53 pm

      Memory support is provided by the chipset of the motherboard. So, perhaps, the difference between the processors (LGA775 and LGA771) is minimal.

      Reply
      • Billyboy August 10, 201710:42 am

        Ok, got it. Thank you for your insight

        Reply

Leave a Comment