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

MODs

204 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.

204 Responses

  • Korpos Arnold October 26, 20173:46 pm

    What shall id o my bios comes only in iso format not rom the mmtool would load it.????

    Reply
  • TTTE November 9, 20178:10 pm

    Hi, I am trying to update microcode for an Optiplex GX620 (SFF) but cbrom seems to be doing nothing, it displays the version info and then just has a blinking cursor, any help? Thanks.

    Reply
    • TTTE November 9, 20178:13 pm

      And the CPU I’m trying to support is the Core2Duo 6400.

      Reply
  • andrey November 13, 201711:18 am

    Toshiba satellite l505-111 laptop
    motherboard kswaa L03 LA-4982p
    cpu was t6600 i did upgrade to t9800 and now i want to upgrade it to q9100..
    it seems that i need to mod bios(phoenix)! any help ?
    i did upgrade from toshiba my bios v2.10

    CPUID signature: slb5g 1067A
    Family: 6 (06h)
    Model: 23 (017h)
    Stepping: 10 (0Ah)………….. please help me ! im not any expert,but i have litle knowledge!

    Reply
  • Crocodil November 24, 20174:02 am

    Hi guys,

    I would like to update microcodes of Gigabytes EP43-S3L motherboard, so that I am able to use a moded Xeon processor. When looking for some more information I’ve found this topic: https://www.win-raid.com/t2811f16-Guide-How-to-update-CPU-microcodes-NCPUCODE-BIN-CPUCODE-BIN-on-a-non-UEFI-Award-Phoenix-BIOS.html

    According to it, Gigabyte BIOS requires CBROM155 to be used. I don’t see any information like that on delidded. Can someone please confirm if I need to use a specific version of CBROM or will CBROM195 do fine?

    Best regards,
    Crocodil

    Reply
    • Stepa November 24, 20173:43 pm

      I think it will be easier to replace microcodes in a hex editor (WinHex, HxD, others …)
      Or you can download the modified BIOS: http://ideafix.name/stuff/GA-EP43-S3L_.zip

      Reply
      • Crocodil November 26, 201712:35 am

        Thank you a lot Stepa! :-)

        Could you maybe point me to some information or a tutorial on how I can use a hex editor to update the microcodes?

        Maybe you could also provide the same modificatoin for the latest bios (F9C)?

        Best regards,
        Crocodil

        Reply
        • Stepa November 26, 20174:00 pm

          With the help intelmicrocodelist it is necessary to find on what addresses the microcodes are. Instead of microcodes for engineering samples, you can write microcodes for Xeon.
          F9C
          https://drive.google.com/file/d/15hWybj3SUDO3S5ztdLaATAUynLDGcOTD/view?usp=sharing

          Reply
          • Crocodil November 27, 20173:02 am

            Thank you @Stepa, you’ve been very helpful! :-) I will try to search for some more information on modding bios with a hex editor.

            Best regards,
            Crocodil

          • Crocodil November 29, 20172:20 am

            @Stepa: I’m affraid the bios you’ve provided is broken – when loading in Q-Flash, it shows an error. I was able to create a modified bios with CBROM as described in the howto. In Windows both CBROM195 and CBROM155 create identical files.

        • Stepa November 29, 20172:19 pm

          I replaced only microcodes, it is possible where that in Bios is checksum which needs to be corrected. In this case, try adding microcodes using CBROM. The motherboard supports DualBIOS, so the BIOS can be flashed without risk.

          Reply

Leave a Comment