Skip to content

Enabling hidden 4G decoding

Curi0 edited this page Nov 23, 2022 · 29 revisions

Some motherboards do support 4G decoding even though it's not visible in the BIOS setup. Here you can find out how to enable the hidden option using UEFITool, Universal IFR Extractor and grub-mod-setup_var. This guide is only for Windows currently unless you can figure out how to use IFR Extractor on Linux.

Before enabling 4G decoding make sure that CSM is off otherwise you might face issues such as black screen or unable to enter BIOS.

  1. Open your BIOS in UEFITool and search for 4G Decod (NOT Decode) with Unicode enabled. If it doesn't find anything try searching for Above 4G.

image

  1. Extract body of the section that search finds.

image

  1. Open IRFExtractor.exe that you downloaded from IRFExtractor_0.3.6_win.zip (i didn't make the typo). Select the file that you extracted it should show Protocol: UEFI and click Extract to save the output file.

image

  1. Open the file that you saved and search 4G Decod or Above 4G in it. The value after VarStoreInfo (VarOffset/VarName): on the 4G Decoding entry is the offset which stores the setting.

  2. Copy modGRUBShell.efi from grub-mod-setup_var to EFI/Boot/bootx64.efi on a USB drive that's bootable (such as one with a Linux or Windows installer on it). Make sure that Secure Boot is disabled and then boot the drive. Note that you can re-enable Secure Boot once finished doing this guide if you need it.

  3. Run setup_var (offset) using the offset that you got in step 4. If it already shows 0x1 despite being not enabled that's not an issue as you can easily solve it by doing setup_var (offset) 0x0, rebooting, doing setup_var (offset) 0x1 and again rebooting. If the variable is 0x0 you can simply enable it doing setup_var (offset) 0x1 and rebooting. If you get an error about GUID mismatch it is safe to ignore. If the above doesn't work you can retry using setup_var_3 instead of setup_var.

  4. 4G decoding should work now. Re-enable Secure Boot if you need it.

Clone this wiki locally