By default, BIOS/UEFI only shows users a small part of its variables (settings). Most of them are hidden, and the standard interface doesn’t display them. These hidden options control everything — from memory timings to CPU power parameters.
BIOS/UEFI variables are key–value pairs stored in non-volatile memory (NVRAM). Manufacturers usually lock access to these variables.
grubmod is a tool that allows you to view and modify hidden BIOS variables directly through the GRUB bootloader using a convenient graphical interface.
It automatically generates a valid script with the desired changes and applies it following the given instructions.
The author is not responsible for any possible damage caused to hardware as a result of using this project.
You use this program at your own risk.
- As far as known, it doesn’t work on AMD systems.
- Some parameters don’t have all possible values.
- Displays all BIOS/UEFI variables, including hidden ones, along with their data.
- Convenient filters for viewing and analyzing parameters.
- Modify variables and apply changes through GRUB.
- Import and export configs.
- Built-in presets with various configurations.
- Script generation and execution for automating changes.
- Error tracking via logging.
- Download the latest release of
grubmod. - Download the current version of your BIOS firmware and place it in your working folder.
- Open the firmware file in
UEFIToolNEin thefilesfolder. - In the window that opens, press
Ctrl + F. - Select the
Textsection and type any parameter name, for example:ASPM.
- After the search, go to the
Setup/PE32 image sectionentry. - Right-click the
PE32 image sectionin theSetupsection. - Select Extract as is.
- Save the file in
filesfolder. - Open CLI in the
filesfolder, and insert the command:
ifrextractor.exe "extracted_file_name.sct"
- Open the saved file in grubmod using the Import file button.
- Format your USB drive as
FAT32. - Download a UEFI shell file from one of these sources:
- UEFI-Shell (
shellx64.efi) - Official EDK2 stable releases (
ShellBinPkg > UefiShell > X64 > Shell.efi) — may be outdated, not recommended.
- UEFI-Shell (
- Rename the downloaded UEFI file to
BOOTX64.EFIand place it at:USB:\EFI\BOOT - Place
setup_var.efiandsetupvar-script.nshin the root of the USB drive.
- Boot from the USB drive via your motherboard’s boot menu (check your model’s key combo online).
- In the UEFI shell, identify your USB drive:
- Check the displayed Mapping Table (to re-display it, type
map). Most likely, it’ll beFS0.
- Check the displayed Mapping Table (to re-display it, type
- Run the script with:
.\setupvar-script.nsh - Wait until the script finishes execution.
- Power off your PC using the physical power button to apply the changes.
If you want to create/load a custom config, follow this syntax:
If a parameter is missing or incorrect, it will be ignored.
PARAMETER NAME | DESIRED VALUEIf you want a max value:
PARAMETER NAME | MaxThe config file must have a .txt extension, and the filename must contain the word config.
Examples: my-config.txt, Configtest.txt.
Enter - Search
Ctrl + C - Clear
Ctrl + G - Google
Ctrl + E - Export script
Ctrl + L - Load config
If you encounter errors or bugs, please report them via the issue tracker.
Sometimes, after changing BIOS parameters, the system might not boot.
To reset BIOS to defaults, clear the CMOS or remove the battery.

