[Guide] Manual AMI UEFI BIOS Modding

Preliminary Notes:

  • Before you start with the BIOS modding procedure, you should have read carefully the “General Preparations for BIOS Modding” (>Link<)
  • If you are searching for an easier method to get some Option ROM or EFI modules of an AMI UEFI BIOS updated, you may look into >this< thread.

How to manually extract/replace/insert
AMI UEFI BIOS Modules

(last updated: 01/15/2019)


A. Manual Modding of an AMI Aptio IV BIOS

For all users of a Desktop system with an AMI Aptio UEFI BIOS I recommend to use >this< guide and let the UBU tool do the work. This is the easiest and safest method for users, who just want to update one or more Option ROM or EFI modules, which are needed for a proper function of the onboard Device Controllers.
Unfortunately the currently available UEFi BIOS Updater (UBU) has some limitations:
1. Like the tool name already indicates, the UEFI BIOS Updater can only update an already present LEGACY or EFI BIOS module, but neither extract any BIOS module norinsert an absolute new one into the BIOS.
2. Not all BIOS modules can be updated by the UBU tool.
3. Although the UBU tool offers different well-approved versions of the most popular LEGACY and EFI BIOS modules, it cannot satisfy all the wishes user may have regarding an exotic or brandnew BIOS module version.

That is why I have written this guide.

1. Preparation

This is what you need:
  • An appropriate BIOS modding tool named AMI Aptio UEFI MMTool.
    Since there are 2 different AMI Aptio platforms (IV for all "old" UEFI BIOS mainboards with an Intel 6/7/8/9-Series or X79 chipset and V for mainboards with a newer Intel chipset from 100-Series up), there are different AMI Aptio UEFI MMTool versions available:
    • "AMI Aptio IV UEFI MMTool v4.50.0.23" (dated 03/02/2010)
      The link to this tool has been removed here upon demand of American Megatrends Inc. (AMI), but you may find it, if you do a Google search for "MMTool Aptio 4.50.0023".
      This UEFI MMTool version is recommended for the manual BIOS modding of AMI Aptio IV BIOSes (all AMI UEFI BIOSes up to except from Intel X99 mainboards).
    • "AMI Aptio V UEFI MMTool v5.0.0.7" (dated 03/14/2014)
      The link to this tool has been removed here upon demand of American Megatrends Inc (AMI), but you may find it, if you do a Google search for "MMTool Aptio 5.00.0007".
      The MMTool v5.0.0.7 has been primarily been designed for Aptio V platform BIOSes (from X99 and 100-Series Chipset mainboards up). It works with not capsuled Aptio IV BIOSes as well (exception: CPU Microcode updates), but the MMTool v4.50 seems to be the better option for them.
    • "AMI Aptio V UEFI MMTool v5.2.0.24" (dated 01/18/2018)
      The link to this tool has been removed here upon demand of American Megatrends Inc. (AMI), but you may find it, if you do a Google search for "MMTool Aptio 5.02.0024".
      This is the currently latest AMI UEFI MMTool version. The original tool is only usable with AMI Aptio V BIOSes, but it exists a "patched" variant of it, which works with nearly all AMI Aptio IV BIOSes as well. Usrs, who want to use this modded variant, should do a Google search for "MMTool Aptio 5.02.0024 Mod".
  • The "clean" (uncompressed) BIOS file you want to modify. If the BIOS has been offered inclusive installer and Flash Utility (as EXE file, it has to be extracted by using an appropriate tool.

Tip: To make the BIOS processing clearly arranged for you, I recommend to create a sepate folder (e.g. D:\BIOS-MOD) and to copy both files (the MMTool and the BIOS) into it. Additionally you may create
  • a sub-folder named "desired", where you can store the BIOS modules, which you want to get into the BIOS and
  • a currently empty sub-folder named "extracted", where you can put the extracted BIOS modules later on during/after your BIOS processing work.


2. Opening of an AMI Aptio IV UEFI BIOS file

The UEFI type AMI BIOS files can easily be identified by their big size (minimum: 4 MB, usually ca. 8 MB).
This is the way to open an UEFI BIOS file:
  • Run the AMI Aptio UEFI MMTool v4.50.0.23 named MMTool.exe as Administrator.
    This is the GUI you will see:

  • Hit the "Load Image" button, browse to the folder with the AMI UEFI BIOS file you want to open and choose the correct "Files of Type". If your BIOS has neither the extension .ROM nor .CAP, choose the "all files" option. Now you should see the prepared "clean" BIOS file.
  • Doubleclick onto the BIOS file.
    Now the Aptio MMTool GUI will look like this:


    If the Aptio UEFI MMTool should not able to open the AMI BIOS file, it is not an AMI UEFI BIOS. In this case you have to use the AMI MMTool v3.26 and to follow the instructions you will find >here<.



3. Extraction of a BIOS module

Generally notes:
  • Very important:
    • The extration procedure depends on the sort of the BIOS module you want to get extracted. So-called “Option ROM” modules, which are managing certain on-board Controllers (e.g. Intel RAID or LAN ones) while running in LEGACY mode, need to be extracted, replaced and inserted another way than EFI modules and other (non-Option ROM) BIOS modules. Below you will find the specific guides for both sorts of BIOS modules.
    • Contrary to the non-UEFI AMI BIOS the important “Option ROM” modules of the AMI UEFI BIOS files are hidden and cannot be seen by opening the BIOS file. Usually all OROM files are stored within the BIOS file named “CSMCORE” and identified by the listed Vendor- and Device-ID.
  • The extraction of a BIOS module doesn’t effect the mainboard BIOS. It will stay untouched by the extraction.
  • It is impossible to verify the version of any BIOS module as long as it is part of the BIOS file. So you have to extract it, if you want to know the details about it (vendor, sort, version and supported DeviceID).

This is the procedure how to extract an Option ROM module:
  • Run the Aptio MMTool and open the mainboard BIOS file (see above).
  • Hit the “Extract” tab.
  • Scroll down within the Aptio MMTool GUI window and search for the FileName “CSMCORE” with the GUID beginning with “A062CF1F-8473-” and highlight the related line. (Note: This step is not really required, but makes clear, where the Option ROM modules are stored.)
  • Check the “Link present” option within the “For Option ROM only” section of the MMTool GUI.
    Now you should see on the right-hand side of the “Link ID” a drop-down menu with the VendorIDs and DeviceIDs of all Option ROM modules, which are currently within the BIOS:


    The first 4 characters (numbers or letters) belong to the VendorID (VEN_XXXX), whereas the second 4 characters (numbers or letters) identifies the DeviceID (DEV_XXXX) of the related on-board Controller (Note: If you see just 3 characters, the first one is “0” and will not be shown by the MMTool).
    These are the VendorIDs of the most important Chipset Controller manufacturers:

    • VEN_8086 = Intel
    • VEN_1002 = AMD
    • VEN_1B21 resp. 1b21 = ASMedia
    • VEN_197B resp. 197b = JMicron
    • VEN_1B4B resp. 1b4b = Marvell
    • VEN_10DE resp. 10de = NVIDIA
    • VEN_10EC resp. 10ec = Realtek

    Example (see the last picture):
    The ASUS P8Z68-V BIOS contains at least 4 Option ROM modules:
    1. 8086, 2822 = Intel RAID ROM for the device “Intel(R) Desktop/Workstation/Server Express Chipset SATA RAID Controller” (DEV_2822)
    2. 197b, 2362 = JMicron RAID ROM for the device “JMicron JMB36X Controller” (DEV_2362)
    3. 8086, 102 = Intel VGA ROM for the device “Intel HD Graphics Family” (DEV_0102)
    4. 8086, 1503 = Intel LAN ROM for the device “Intel(R) 82579V Gigabit Network Connection” (DEV_1503)
    Note: Please remember, that the Vendor and Device IDs shown by the Aptio MMTool have been edited by the mainboard manufacturer and may not be correct, but this doesn’t have any effect on the function of the related Option ROM module.
    Examples:
    • The Intel RAID ROM of many Z77 mainboards is shown by the MMTool as “8086, 282a”, although the correct DeviceID of the on-board Intel SATA RAID Controller is DEV_2822.
    • Some Option ROM modules are listed by the MMTool with the Link ID “1002, 55aa”, although a DeviceID DEV_55aa doesnt exist. It may be an AMD AHCI ROM for DEV_4391. The digits “55aa” don’t mean any DeviceID, but are just the hex codes of the first 2 bytes of the related OROM module.
  • Hit the “Browse” button and search for the folder, where you want to store the extracted Option ROM BIOS module (e.g. D:\BIOS-MOD\extracted), choose any file name with the suffix .BIN (example: RAID_ROM.BIN) and hit “Store”.
    Here is the related screenshot:

  • Hit the "Extract" button of the Aptio MMTool.
  • Now you will find the extracted Intel RAID ROM module as .BIN file within your test folder (D:\BIOS-MOD\extracted).
  • If you want to know the version of the extracted Option ROM module, you should open it with a Hex Editor. Usually the ROM version is visible within the text code (right-hand side of the Hex Editor GUI).
  • Since the "Extraction" procedure doesn't change the BIOS file at all, you can close the MMTool without hitting the "Save Image" button.

Here is a short guide about how to extract an EFI module resp. any other BIOS module (except Option ROM ones):
  • Run the Aptio MMTool and open the mainboard BIOS file.
  • Hit the "Extract" tab.
  • Scroll down within the Aptio MMTool GUI window and search for the module you want to get extracted. Important is the listed "FileName" and maybe additionally the first characters of the listed "GUID".
  • Highlight the related line.
  • Make sure, that the "Link present" box within the "For Option ROM only" area is unchecked.
  • Within the "Extract FFS Options" area choose the option "Extract UnCompressed" (this option will give you later the opportunity to open the extracted file with an Hex Editor and to verify the version and other module details).
  • Hit the "Browse" button and search for the folder, where you want to store the extracted module (e.g. D:\BIOS-MOD\extracted), choose any file name with the suffix .FFS (example: RaidDriver.ffs) and hit "Store".
  • Hit the "Extract" button of the Aptio MMTool.
  • Now you will find the extracted BIOS module as .FFS file within your test folder (e.g. D:\BIOS-MOD\extracted).
  • If you want to know the version or other details of the extracted module, you should open it with a Hex Editor. Usually a lot of such informations are visible within the text code (right-hand side of the Hex Editor GUI).
  • Since the "Extraction" procedure doesn't change the BIOS file at all, you can close the MMTool without hitting the "Save Image" button.


4. Replacement of a BIOS module

Caution: The manual replacement of an Option ROM module is usually very safe (provided, that the DeviceID is matching), but may be dangerous regarding the Intel VGA ROM (VBIOS) modules. Users, who want to replace any VGA ROM (VBIOS) module, should read >this< guide written by SoniX, before they start their work.

This is the procedure regarding the replacement of an Option ROM module:

  • Open the BIOS file and hit the "Replace" tab of the Aptio MMTool.
  • Highlight the line containing the Option ROM module you want to replace (it is usually the line with the CSMCORE file).
  • Go to the "For Option ROM only" section, check the "Link Present" option and scroll down to the correct VendorID (8086 = Intel) and DeviceID (Example: 2822 = "Intel(R) Desktop/Workstation/Server Express Chipset SATA RAID Controller") of your on-board RAID Controller.
  • Hit the "Browse" button and navigate to the Option ROM module (named xxxx.BIN) you want to get inserted and double-click onto it.
    This is what you should see, if your system has an Intel ICH8R, ICH9R, ICH10R, 5-Series or 6-Series chipset and you want to update the related Intel RAID ROM version:


    Note:
    The “For Option ROM only” section only shows the VendorID and DeviceID of the RAID ROM Modul, which has been inserted by the manufacturer of the original AMI UEFI mainboard BIOS file. So you will get no information regarding the VendorID and DeviceID of the RAID ROM file you are going to insert now by doing the replacement.

  • Hit the “Replace” button.
  • Hit “Save Image” or - if you want to rename the BIOS file - the “Save Image as …” button.
  • Wait some seconds, before you close the MMTool.
  • After having done all that correctly, you will find the modified BIOS within the folder where the original BIOS file was (e.g. D:\BIOS-MOD) or within the folder you had chosen while saving the modified one. The “modded” BIOS file should have exactly the same size as the original one, but a different date.
  • If you should get an “Error in Replacing File” message while trying to replace a RAID ROM module, the mainboard manufacturer may have inserted the related special RAID ROM module twice (by mistake), but with different DeviceID’s.
    Solution: Remove one of the identical PCI ROM modules (example: 8086,2822) by using the MMTool “Delete” tab and then retry the replacement of the other one (example: 8086,282a).

Here is a short guide about how to replace an EFI module resp. any other BIOS module (except Option ROM ones):

  • Open the BIOS file and hit the “Replace” tab of the Aptio MMTool.
  • Make sure, that the “Link present” box within the “For Option ROM only” area is unchecked.
  • Scroll down within the Aptio MMTool GUI window and search for the module you want to get replaced. Important is the listed “FileName” and maybe additionally the first characters of the listed “GUID”.
  • Highlight the related line.
  • Hit the “Browse” button and navigate to the folder, where you have stored the desired unzipped BIOS module file (usually named xyz.FFS).
  • Double-click onto the desired file, which shall replace the actually present one.
  • Hit the “Replace” button of the Aptio MMTool.
  • Hit “Save Image” or - if you want to rename the BIOS file - the “Save Image as …” button.
  • Wait some seconds, before you close the MMTool.
  • After having done all that correctly, you will find the modified BIOS within the folder where the original BIOS file was (e.g. D:\BIOS-MOD) or within the folder you had chosen while saving the modified one. The “modded” BIOS file should have exactly the same size as the original one, but a different date.


5. Insertion of an originally not present BIOS module

Some mainboards have an on-board AHCI or LAN Controller, but the original BIOS doesn’t contain any suitable OROM module for this device (example: ASMedia 106x AHCI Controller).
Here is the way how to get such missing PCI ROM module inserted into the BIOS:
  • Check the VendorID and DeviceID of the Controller, whose OROM you want to insert. You can do it from withn the Device Manager by doing a right click onto the related Controller > “Properties” > “Details” > “Property” > “HardwareIDs”.
  • Open the original or already modified BIOS with the AMI Aptio MMTool.
  • Hit the “Insert” tab.
  • Highlight the line with the CSMCORE file.
  • Check the “Link Present” within the “For Option ROM only” section.
  • Enter the VendorID and the DeviceID into the related fields.
  • Hit the “Browse” button and navigate to the OROM file you want to insert (e.g. D:\BIOS-MOD\desired\1b21-0612_v951.bin).
    In my example the AMI Aptio MMTool GUI looked like this:

  • Hit the "Insert" button.
  • Save the modified BIOS file.

And here is a short guide about how to get a missing EFI module inserted into the BIOS:
  • Open the BIOS with the AMI Aptio MMTool and hit the "Insert" tab.
  • Make sure, that the "Link present" box within the "For Option ROM only" area is unchecked.
  • Scroll down within the AMI Aptio GUI window to the line, where the module named "CSMCORE" is listed, and keep in mind the related "Volume" number of it (leftmost column). Usually it is "01".
  • Enter the just found "Volume" number of the CSMCORE file (mostly "01") into the "Vol. Index" box (don't enter any "Index" number, just the "Volume" one).
  • Hit the "Browse" button and navigate into the folder, where you have stored the desired unzipped BIOS module (usually named xyz.FFS).
  • Double-click onto the desired file, which shall replace the actually present one.
  • Within the "Insert FFS Options" choose the appropriate option (usually it is "Insert compressed").
  • Hit the "Insert" button of the Aptio MMTool.
  • Now the freshly inserted module should be listed by the AMI MMTool GUI as last module with the same Volume number as the CSMCORE file.
  • Save the modified BIOS file.
  • Wait some seconds, before you close the MMTool.


6. Verification of the BIOS modding result

Although it may not really be necessary, it is a good idea especially for BIOS modding beginners to verify the successful modification before they are going to flash the modded BIOS into the mainboard BIOS chip.
The procedure is very simple:
  • Run the AMI Aptio UEFI MMTool and open the freshly modded BIOS.
  • Extract all BIOS modules, which have been recently put into the BIOS (no matter if done by a replacement or just by an insertion).
  • Compare the size and - if similar - the content of the extracted modules with the modules, which are within the "desired" folder.
  • If you are still unsure, open the extracted Option ROM files with an Hex Editor like HxD and look for the version number or GUID header. If it is identical to the one you had inserted, everything should be fine.


B. Manual Modding of an AMI Aptio V BIOS

For users, who want to modify an AMI Aptio V UEFI BIOS, I recommend to use the AMI Aptio MMTool v5.2.0.24 (original or modded variant).
A very good alternative is CodeRush’s UEFI Tool (>LINK<).
By the way: The UEFITool can be used the same way with AMI Aptio IV UEFI BIOSes.

Here is a short guide about how to update/replace a certain EFI BIOS module by using CodeRush’s UEFITool:
(That means, that this guide is not usable for the update/replacement of an Option ROM module. If you want to do that, you should read >this< guide written by sinders.)

  1. Download the latest version of CodeRush’s UEFITool from >here< and unzip the .zip archive.
  2. Run the UEFITool.exe file and open the previously extracted BIOS file you want to modify.
    Details: Click onto “File” > “Open Image file…” and navigate to the extracted BIOS file, depending on the extension of the BIOS file you may have to choose the file option "All files (
    )".
  3. If you do not yet see the folder “BIOS Region”, expand the shown folders until you get it.
    Look here:

  4. Expand the folder "BIOS Region" and search for the name resp. the first GUID characters of the module you want to replace (the UEFITool has a very good search feature). Maybe you have to expand the shown GUID mode files incl. their subfolders to see all of them).
  5. After having found the module with the correct GUID, expand all its subfolders until you see the "PE32 image section" of the related file.
    In the case of the Intel RaidDriver module, it may look like this:

  6. Right click onto the "PE32 image section".
  7. Choose the "Replace body..." option of the UEFITool.
  8. Navigate to the "pure" EFI module (with the extension .efi) you want to get inserted (maybe you have to customize the file model option to "All files...").
  9. Now the UEFITool will do the replacement.
    Here is a picture about what you may see:

  10. Save the modded BIOS image (clck onto "File" > "Save image file..." and give the modded BIOS a meaningful name).
  11. Verify the success of your work by opening the BIOS with the appropriate AMI Aptio UEFI MMTool, extracting the just inserted module as "uncompressed" and opening it with an Hex Editor.

Annex: Flashing of the modded BIOS

It is strongly recommended to follow these advices:

  • Before you are going to flash the new BIOS, you should make a complete backup of your entire system and boot partitions or at least of all important data. After having done that, enter the BIOS and list all your special settings. Before you leave the BIOS, choose and save the DEFAULT settings.
  • Since the BIOS file name usually is layed down by the mainboard manufacturer within the BIOS itself, the “modded” BIOS file should not be renamed unless the new name is “in the line” with BIOS files, which were previously released by the manufacturer.
  • Users with an ASUS or ASRock mainboard should look into the start post of >this< thread before they try to get a modded BIOS flashed. Otherwise they may get a failure message.
  • After having flashed the new BIOS, you have to redo your previous BIOS settings.
    Safest way (found >here<):
    After flash is complete, shut down fully and switch off PSU, wait one minute and clear CMOS. Then turn on, boot to BIOS, load optimized, set the SATA Controller to the appropriate mode (AHCI/RAID) and save/apply/reboot back to the BIOS. Once in the BIOS again recover the previous boot settings (boot device and HDD boot order). If you have updated the Marvell 91xx AHCI/RAID ROM module, set the Marvell Firmware mode to “Force”, then save/apply/reboot and let it load through to windows, before that happens Marvell Firmware will update and board will reboot.
  • Before you restart with your usual PC work, you should verify the full function of the updated PCI ROM module. If you have inserted a new RAID ROM version into the BIOS, you have to make sure, that the “RAID” mode of the on-board SATA Controller is enabled, and then you should run the RAID Configuration Utility by hitting CTRL+I, F10 or similar (look into your mainboard manual). Everything will be fine, if you can enter and use the RAID Configuration Utility without any problem (Don’t modify anything, if you don’t want it to be changed!).
    Advice for users with a non-RAID system:
    Users, who are running their SATA Controllers in AHCI or IDE mode, should check the function of the freshly updated RAID ROM module the same way. After having temporarily enabled the “RAID” mode of the on-board SATA Controller they should run the RAID Configuration Utility and look, if everything seems to be fine (but don’t create a RAID array!). Then they can close the Utility and reset the SATA Controller to the usual setting (AHCI/IDE mode). The data of their AHCI/IDE system will not be altered or destroyed by this procedure.


Any feedback is much appreciated. Most important is a short report about the success or failure of flashing the “modded” BIOS into the BIOS chip of your mainboard. Don’t forget to mention the vendor and the name of your mainboard and the sort and version of the flashed PCI ROM module.

Good luck!
Fernando

5 Likes

Hi

My MB: Asus M5A99FX PRO R2.0
I want update the AMD AHCI ROM module
This procedure is good?

4. Insertion of an originally not present PCI ROM module

Some mainboards have an on-board AHCI or LAN Controller, but the original BIOS doesn’t contain any suitable OROM module for this device (example: ASMedia 106x AHCI Controller).

Here is the way how to get such missing PCI ROM module inserted into the BIOS:
Check the VendorID and DeviceID of the Controller, whose OROM you want to insert. You can do it from withn the Device Manager by doing a right click onto the related Controller > “Properties” > “Details” > “Property” > “HardwareIDs”.
Open the original or already modified BIOS with the AMI Aptio MMTool.
Hit the “Insert” tab.
Hit the “Browse” button and navigate to the OROM file you want to insert.
Highlight the line with the CSMCORE file.
Check the “For Option ROM only” section.
Enter the VendorID and the DeviceID into the related fields.
Hit the “Insert” button.
Save the modified BIOS file.
Sorry for bad english and thanks

@ Piloss:
Welcome at Win-RAID Forum!

Since I have tested this procedure successfully with my ASUS P8Z68-V system, I can confirm, that the procedure is safe and maybe good for your system as well.
Nevertheless there is no guarantee, that you will get benefit from the inserted AMD AHCI ROM module.

Regards
Fernando




But this cause anything error?

No, the worst case would be, that you do not realize any change regarding the boot time and the performance.

Alright, thanks for the answer and help

Hi Fernando, can U confirm bay trail bioses like this one http://66.226.78.22/downloadsite/bios/CP…TX(1.10)ROM.zip can’t opened by ami aptio 4.x?.. I’ve tried many times and it crash :’(


AMI Aptio V, nothing you can do for now.

As plutomaniac already has written, this BIOS has a new AMI Aptio v5 structure and cannot be opened and modified by the AMI Aptio MMTool v4.50.0.23.
Nevertheless it is possible to open the BIOS and to replace certain Option ROM or EFI modules by using CodeRush’s UEFI Tool. The link is attached.

UEFITool_0.19.2_win.rar (2.94 MB)

Works ok with asus z87-ws bios v2004, updated all the bios modules with bbu 1.8.16, no glitch in win 8.1 and win 10 tp
Use the usb flash procedure to update



Edit : few weeks later – the Mobo is running fine, very stable system, not a single problem with the updated bios

thanks for this tool

my dream would be:

To edit the bios and change where a few options are placed, in my asus z87-ws the fan controls are very badly placed in the bios menus layout, or modify the minimals setings … if i reset the bios.

If i reset the cmos : my board is beeping the cpu fan error, i have an huge ( 200w cpu capacity ) BeQuiet heat sink running well under 600 rpm, actually it run’s at 400 rpm, not even hot with my i7-4770k running at 4.1 ghz

@ coromonadalix:

Welcome at Win-RAID Forum and thanks for your report.

Enjoy your system with updated BIOS modules!
Fernando

Just a bit earlier i have succesfully used UBU on my Asus Crosshair Formula Z, but i noticed that the Sata module was not updated.
It thought that was a flaw or something,but it was really not there in the CSMcore…i verified it by searching in a hex-editor.
I did notice module AC (Satacontroller) when editing the latest bios file in MMtool, but the structure was too different, and i was unsure if it could work if i replaced it with 1002-4391_v3220.bin
So i was wondering the same thing as Piloss wondered…and our hero Fernando already did such a thing :slight_smile:
Decided to take the plunge and went for it…success!
When turning on my machine, immediately there’s a POST message of the inserted module… and this procedure shaved 5-7 seconds off of the boot time! When the Windows 7 startup screen initiates,13 seconds later i’m on desktop…amazing!
AS-SSD score is now 868, which is…well…0,25% better than before :wink:

Fernando,is this the best approach? Could or should the current Sata module be replaced instead of adding the replacement this way?
Best regards!

3220.png

You are right. There is no AMD AHCI ROM module within the CSMCORE file of the latest BIOS 2101.

The "SataController" module with the GUID starting with "510DF6A1" has an uncompressed size of 12 KB and contains the following text:

AMD SataController details.png



So it seems, that it is an EFI SATA Driver module and will only be used, if you are going to boot a device in UEFI mode.

That is an amazing result. You obviously were lucky with your experiment.

I doubt, that it was the best possible solution for your system, because you may not be able to boot into your AHCI system, if you try to install any OS in UEFI mode.
If I were you, I would open the original BIOS 2101 with the AMI Aptio MMTool and manually insert the AMD AHCI ROM module v3.2.2.0 into the CSMCORE file of the original BIOS 2101.
Here are the pictures, which are showing the procedure:

  1. Preparation:

  2. Execution:
    Hit the "Insert" button.
  3. Saving:
    Save the modification by hitting the "Save Image" button.
  4. Verification:
    Load the just saved BIOS image again with the AMI Aptio MMTool, choose the "Extract" tab, highlight the "CSMCORE" file and check the "Link present" button within the "For Option ROM only" area.
    This is what you should see now:


    Then choose the 1002,4391 from the list, enter any file name like "extracted_ROM.bin" into the "Module file" box and hit the "Extract" button.
    At least you can compare the extracted AMD AHCI ROM module with the original one. They should be identical.


After having done all that, you can flash the modified BIOS and look, if you will get the same success as with your earlier method.

Good luck!
Fernando

Thanks for this great explanation Fernando, this is exactly what i did… I followed the advice you gave to Piloss, i did NOT just replace the AC/SataController/510DF6A1 module.
Well, i did not extract and verify my own insertion though…indeed highly recommendable for BIOS editing. slap myself … i felt kind of safe because of the ROG usb-flashback-method,and i already had a backup chip.
I do still wonder what happens if i set the compatibility mode for the bootup drive to legacy or UEFI. When, and if it would use the default module,the EFI module,or if it would now always use my inserted module no matter what i tell it to do.
Will try out soon!

Would like to add,to anyone who tries this;
The POST message of the new module only shows for about 1 or 0,5 second when doing a cold boot.
When doing a reboot/warm boot, the POST message could only show 0,1 second, but most of the times it is loaded so fast that you won’t even see it!
Because it doesn’t always show, i thought for a moment that the modding result was erratic… I was wrong about that, result is stable and all is good!

As long as you are booting in LEGACY mode, the ROM modules of the CSMCORE file will be loaded, but I do not exactly know, which ones of the EFI modules will be loaded, if you should try to boot in UEFI mode.

Well,about the BIOS Compatibility Support Module…
When i enter BIOS and set the CSM to manual and the boot device to;
Legacy ROM → system loads the original ROM during startup and boots into Windows, startup time has decreased to almost 20 sec.
UEFI ROM → system loads the original UEFI rom during startup (and says it cannot boot this device, as expected, as my boot device is not marked as UEFI compatible)
Legacy&UEFI → system probably loads the two original Legacy and UEFI ROMs, polls and chooses legacy, and boots into Windows, startup time has decreased to almost 20 sec.

When i set CSM to;
Auto → system immediately loads the inserted ROM with enhanced POST screen and boots into Windows, with increased startup time of 13 sec.

I’m satisfied! But still wonder where that ‘legacy’ module sits, and if it could be replaced!

I have searched for an AMD AHCI ROM (=LEGACY) module within the latest BIOS for your mainboard and didn’t find any.
The missing LEGACY AMD AHCI ROM has been the reason for your long boot time before you inserted the AMD AHCI ROM yourself.
Question:
Did you follow my guide (post #13) inserting the AMD AHCI moule into the CSMCORE file and leaving the original BIOS module named "SataController" untouched? If yes, did you get the same effect (everything works fine and the boot time decreases dramatically)?

Oh wow thanks for your research, i tried that too but it didn’t know what the best approach was properly search for that module.
But what?!? That is extremely weird,considering there is a ;
AMD SB950 controller
6 x SATA 6Gb/s port(s), red
Support Raid 0, 1, 5, 10

But there’s also the
ASMedia® ASM1061 controller
2 x SATA 6Gb/s port(s), red
2 x eSATA 6Gb/s port(s), red

Did Asus perhaps intentionally not include an AMD AHCI ROM, because they want single-drive configurations to be attached to the ASmedia controller?
And only multiple drive (raid) setups to be attached to the AMD controller?
Would my boot-time also have decreased if i would have used the AMD-RAID controller driver?

Yes, i had already executed the insertion exactly as you explained… and the original BIOS module named “SataController” is untouched.
There was NO decreased boot-time with the original bios and CSM set to auto.
There actually IS a decreased boot-time with the AMD AHCI ROM inserted and CSM set to auto.

I don’t think so.

As long as your AMD SATA Controller has been set to "AHCI" (DEV_4391), it will not work with an AMD RAID driver.

Does that mean, that you actually have reflashed the modded BIOS, where you had replaced the "SataController" EFI module by the AMD AHCI ROM module v3.2.2.0?

Thanks for your insight but, why on earth did Asus not include this module in the first place? It gives a wonderful boost!


No, i have NOT touched the SataController EFI module…I only tinkered the CSMcore as you explained!