[GUIDE] Usage of AMI’s AptioV UEFI Editor + FPT Flash Method

loading circle bug because you using ifr command without “verbose” command, and make sure using ifr.exe provided by uefi editor

That link is missing IFR-extractor-RS, so i downloaded this page Releases · LongSoft/IFRExtractor-RS · GitHub “IFRextractor v1.4”

and /i ifrextractor.exe “Section_PE32_image_Setup_Setup.sct” verbose/

to get ifr.txt file… but UEFI Editor didn’t work.

IF I can, can i get know about change value? (NOT Via UEFI Editor PAGE)

ADD 1 : I changed ModGrubshell FPRR 0X00 (MY OFFSET VALUE IS 0X683)
(chat : setup_var_cv PchSetup 0x683 0x1 0x0)
and i dump my bios, i tried my dump to flash → FPRR LOCK(ERROR 168)

Only the linked version of IFR-Extractor-RS works. You need a Github account to download it until the artifact is published as regular release.

i forget to mention, you need login to github at first to acces that file if not you will get 404 not found

I changed BIOS GUARD, FPRR, CFG LOCK (offset 0x0)
I attached that file. it’s right stuff?
I read changelog.txt but im not sure cause of my inexperienced



IF my modded amitseSETUPDATA is right stuff, change it via uefitool 28, and get flash fptw?

I reached UEFI Editor work.
but… I don’t know about surpress if… and access level meaning.
how to know that?

UBU_v1_79_17.zip (1.1 MB)

here is my origin amitse setupdata and setup / modded (unsuppressed, access level 1) amitse setupdata and setup .

I changed it via UEFITOOL 0.28 and occured error 167 fprr lock

I used Modgrubshell 2.06 (in first post link) and change value.
setup_var_cv CpuSetup 0xE1 0x1 0x0
setup_var_cv PchSetup 0x683 0x1 0x0
setup_var_cv PchSetup 0x1C 0x1 0x0

I thinkAll of my change value is right.

well done, you get it working in UEFI EDITOR

about user level, here you can dig in my discussion thread here https://winraid.level1techs.com/t/help-needed-unlock-show-avx512-menu-on-asus-h610m-a-d4/91739/20 , and for supress if it like condition to trigger that, in programming it called " IF ELSE" like that

first you cannot flash modified bios with fptw without removing first ERROR 167 and all bios lock error, i mentioned before at now you only use UEFI editor only for searching all lock enabled by default in bios, use uefi editor search funtion with keyword lock to find all value with graphical UI, and see value if it 01 (it enabled by default)

so you need modgrubsell uefi (temporary) at first to altering all BIOS lock in your running bios to disabled mode, after that unlocked we can can flash modified bios you do in UEFI Editor +Uefi Tools in fptw without restriction

Edit: try disable FPRR,BIOS LOCK with modgrubshell and post here screnshoot fptw error

I used modgrubshell uefi tool first. Not dumped it first.
First, I dumped it to find FPRR, BIOS LOCK VAROFFSET.
Second, I put my usb in the laptop for run modgrubshell 2.06.
Third, I changed varoffset value via setup_var_cv command
And I dump again, use for change my uefi setting. and replaced it via uefitool 0.28.
(extracted by UEFITOOL A62)

But nothing changed…

BTW, thanks for your discussion, i use it for change user level (09-> 1D)

(it’s verbosed txt file, and i found bios lock varoffset 0xE31)
(What’s different 0x1C{it found via UBU v1.79, and i checked it off}?)

here is modgrubshell changing.

here is FPRR error occured.

send me your dump bios from fprr

here is my bios dump.

(only bios region)

here is my full bios dump

Why my laptop cannot disable FPRR… :sob:

If it’s ok, I want to jump herre in with a question.
I followed you’re guide on my ASRock X299 CREATOR.

Following were found:

     Flash Protection Range Registers (FPRR) | VarStore: Setup, VarOffset: 0xF42, Size: 0x1
          Disabled: 0x0 (default)
          Enabled: 0x1
    BIOS Lock | VarStore: Setup, VarOffset: 0x946, Size: 0x1
          Disabled: 0x0 (default MFG)
          Enabled: 0x1

when I do this with the ‘ModGrubShellEfi’ I get these results:

I think it’s good…
IF your bios changed, dump it again and extract ifr to check options.

ok cool, so I tried the FPT tool in Windows:

Where did you read the instructions to use Intel FPT tool???
Your system uses Intel ME 11, not 15 and the respective driver also needs to be installed in the OS.

EDIT: Flash Programming Tool Version, you blind or what?

Intel (Converged Security) Management Engine: Drivers, Firmware and Tools (2-15) - Special Topics / Intel Management Engine - Win-Raid Forum (level1techs.com)

[Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing - Special Topics / Intel Management Engine - Win-Raid Forum (level1techs.com)

@MeatWar hello can you see my problem? (in this post 13.)

My error 168 is crazy.

after see your bios, can you try read currently value
Data from IFR

Flash Protection Range Registers (FPRR) | VarStore: PchSetup, VarOffset: 0x683, Size: 0x1
Disabled: 0x0 (default)
Enabled: 0x1

first write it in uefi grub (Secure boot must disabled)
setup_var_cv VarStore VarOffset Size Value
setup_var_cv PchSetup 0x683 0x1 0x0
after that confirmation value by read value with command
setup_var_cv VarStore VarOffset Size
setup_var_cv PchSetup 0x683 0x1


goto FPTW or fpt64.exe 64bit
TRY dump bios
fpt -bios -d biosmy.bin
try flashing that dumped bios
fpt -bios -f biosmy.bin

give result here

if still failed
try this
write command with legacy
setup_var 0x683 0x00

try upgrade you Management engine version from asus

i upgraded it(Management engine version.)

and i use grubshell. (secure boot is off.)

setup_var_cv PchSetup 0x683 0x1 0x0
setup_var_cv PchSetup 0x683 0x1

it worked.

but. ERROR 167 still occured.

this is my result.

btw, Am I clearly off my secureboot?

i know about grubshell not open when secureboot value is on.

you will succesfully dumped at first , FPRR lock do not prevent from dumping but doest now allow for flashing

i see your command in grubshell it only for writing data, you missing for reading current data, for now only focus only to 0x683 (FPRR) leaving 0x1c varstore


, it possible your bios setting get altered by some lock mechanism (set to default again) or we get wrong pchsetup (some bios use dual pch id with same id different but have sub id)
we need confirm that first
1.Read current data
setup_var_cv PchSetup 0x683 0x1
see at info set offset 0x683 is: (see data given by Modgrubshell) it must 0x1 (enabled), if it disabled 0x0 so is wrong pch data we worked ) out there i see some vendor using dual id

  1. try change to 0x0 (disabled)
    setup_var_cv PchSetup 0x683 0x1 0x0

reboot PC and going again to Grubshell
3. read again data
setup_var_cv PchSetup 0x683 0x1
see at info set offset 0x683 is: (see data given by Modgrubshell) it must 0x0 , if it going back to 0x1 (there something make that setting going to default)


Recent firmwares often stores BIOS settings into multiple varstores, and sometimes most of them are not in default “Setup” name. setup_var_cv allows accessing varying size variables in varstore with the given name.

based on notes makesure GUID in IFR is same as in showing in UEFI Shell, liek this example

Here is my result. I think your opinion is right. (Using dual id)
And I found GUID is correct (showing in grubshell and ifr showing)

i see it already in 0x0 state for 0x683, so we get wrong function id

use more advanced tool developed by same person


setup_var.efi <OFFSET> [<VALUE>] [-s <VALUE_SIZE>] [-n <VAR_NAME>] [-i <VAR_ID>]

OFFSET: The offset of value to be altered in the UEFI variable.
VALUE: The new value to write, capped at 64-bit. If not specified, the value at OFFSET will be read and shown.
VALUE_SIZE: Bytes of value to write, must be equal or larger than the size of <VALUE>, defaults to 0x1.
VAR_NAME: The name of UEFI variable to be altered, defaults to "Setup".
VAR_ID: Unique id for distinguishing variables with same name, which will be provided by setup_var.efi (when required).

OFFSET, VALUE, VALUE_SIZE and VAR_ID are numbers, and must be specified in hexadecimal with prefix "0x".

The program defaults to little endian for values ONLY while operating UEFI variables,
though it's recommended to only operate on one byte if you are not sure what this is or means.

Example: .\setup_var.efi 0x10E 0x1a -n CpuSetup