[GUIDE] Grub Fix Intel FPT Error 280 or 368 - BIOS Lock Asus/Other Mod BIOS Flash

enable vBIOS? It’s always enabled, it’s part of the BIOS. I am not aware of any way to edit variables for vBIOS settings in grub/shell. Only way I know to change vBIOS settings is a vBIOS editing tool or Intel BMP if Intel vBIOS

IFR output is just text of the BIOS settings, if you’re talking about from the setup module per this guide. You can’t “Read or flash” vBIOS if it’s part of the actual BIOS when you’re not talking about a PCIE Graphics card, only edit the entire BIOS, editing the vBIOS module and then reflash

Here is the vBIOS included in the BIOS you sent, these are for onboard graphics via the CPU, vBIOS can be edited and updated with Intel BMP program, but likely no settings you are interested in - [Guide] Transfer of specific Intel VBIOS settings by using Intels BMP tool
Intel GOP in 26061B47-0B90-4FB4-A0D7-DA89B4AED49B >> SubGUID D8248140-88B5-4C14-9E9F-FD1CFA9D071E >> = EFI GOP Driver SKL-CFL - 9.0.1066
VBIOS in GUID FD41D244-F0FB-4FD0-8FD6-4276BD4323D0 >> SubGUID DC2E3A5C-32D8-49EE-A641-82DB942592BE >> = Intel(R) SKL/KBL Mobile/Desktop PCI Accelerated SVGA BIOS Build Number: 1050 PC 14.34 01/12/2017
MXM vBIOS In GUID E998C6D8-572B-4E18-96CC-031EA3DD558C >> RAW >> = MXM 3.0 VBIOS: AMI Int15 5F80 Interface (only 4kb file, I do not think this is actual vBIOS for anything)

I see this you might need to change? You can adjust these in grub, or by editing the setup module/IFR

One Of: Skip Scaning of External Gfx Card, VarStoreInfo (VarOffset/VarName): 0x85A, VarStore: 0x1, QuestionId: 0x4EC, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 61 05 62 05 EC 04 01 00 5A 08 10 10 00 01 00}
0x3ED31 One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 90 00 30 00 00}
0x3ED38 One Of Option: Enabled, Value (8 bit): 0x1 {09 07 8F 00 00 00 01}

Primary Display, VarStoreInfo (VarOffset/VarName): 0x7BA, VarStore: 0x1, QuestionId: 0x4ED, Size: 1, Min: 0x0, Max 0x4, Step: 0x0 {05 91 58 05 59 05 ED 04 01 00 BA 07 10 10 00 04 00}
0x3ED5B One Of Option: Auto, Value (8 bit): 0x3 {09 07 8E 00 00 00 03}
0x3ED62 One Of Option: IGFX, Value (8 bit): 0x0 {09 07 5A 05 00 00 00}
0x3ED69 One Of Option: PEG, Value (8 bit): 0x1 {09 07 5B 05 00 00 01}
0x3ED70 One Of Option: PCI, Value (8 bit): 0x2 {09 07 5C 05 00 00 02}
0x3ED77 One Of Option: SG, Value (8 bit): 0x4 (default) {09 07 5D 05 30 00 04}

One Of: Select PCIE Card, VarStoreInfo (VarOffset/VarName): 0x7BB, VarStore: 0x1, QuestionId: 0x4EE, Size: 1, Min: 0x0, Max 0x2, Step: 0x0 {05 91 63 05 64 05 EE 04 01 00 BB 07 10 10 00 02 00}
0x3ED99 One Of Option: Auto, Value (8 bit): 0x2 (default) {09 07 8E 00 30 00 02}
0x3EDA0 One Of Option: Elk Creek 4, Value (8 bit): 0x0 {09 07 65 05 00 00 00}
0x3EDA7 One Of Option: PEG Eval, Value (8 bit): 0x1 {09 07 66 05 00 00 01}

Ref: External Gfx Card Primary Display Configuration, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F1, FormId: 0x27FB {0F 0F 6A 00 6A 00 F1 04 00 00 FF FF 00 FB 27}
0x3EE17 Suppress If {0A 82}
0x3EE19 QuestionId: 0xD3D equals value 0x20 {12 06 3D 0D 20 00}
0x3EE1F One Of: Internal Graphics, VarStoreInfo (VarOffset/VarName): 0x7C0, VarStore: 0x1, QuestionId: 0x4F2, Size: 1, Min: 0x0, Max 0x2, Step: 0x0 {05 91 6C 05 6D 05 F2 04 01 00 C0 07 10 10 00 02 00}
0x3EE30 One Of Option: Auto, Value (8 bit): 0x2 (default) {09 07 8E 00 30 00 02}
0x3EE37 One Of Option: Disabled, Value (8 bit): 0x0 {09 07 90 00 00 00 00}
0x3EE3E One Of Option: Enabled, Value (8 bit): 0x1 {09 07 8F 00 00 00 01}
0x3EE45 End One Of {29 02}
0x3EE47 End If {29 02}

0x3EE49 One Of: GTT Size, VarStoreInfo (VarOffset/VarName): 0x6F7, VarStore: 0x1, QuestionId: 0x4F3, Size: 1, Min: 0x1, Max 0x3, Step: 0x0 {05 91 E2 05 E3 05 F3 04 01 00 F7 06 10 10 01 03 00}
0x3EE5A One Of Option: 2MB, Value (8 bit): 0x1 {09 07 E4 05 00 00 01}
0x3EE61 One Of Option: 4MB, Value (8 bit): 0x2 {09 07 E5 05 00 00 02}
0x3EE68 One Of Option: 8MB, Value (8 bit): 0x3 (default) {09 07 E6 05 30 00 03}
0x3EE6F End One Of {29 02}

0x3EE71 One Of: Aperture Size, VarStoreInfo (VarOffset/VarName): 0x6F8, VarStore: 0x1, QuestionId: 0x2738, Size: 1, Min: 0x0, Max 0xF, Step: 0x0 {05 91 E7 05 E8 05 38 27 01 00 F8 06 14 10 00 0F 00}
0x3EE82 One Of Option: 128MB, Value (8 bit): 0x0 {09 07 E9 05 00 00 00}
0x3EE89 One Of Option: 256MB, Value (8 bit): 0x1 (default) {09 07 EA 05 30 00 01}
0x3EE90 One Of Option: 512MB, Value (8 bit): 0x3 {09 07 EB 05 00 00 03}
0x3EE97 One Of Option: 1024MB, Value (8 bit): 0x7 {09 07 EC 05 00 00 07}
0x3EE9E One Of Option: 2048MB, Value (8 bit): 0xF {09 07 ED 05 00 00 0F}
0x3EEA5 End One Of {29 02}

0x3EEA7 Suppress If {0A 82}
0x3EEA9 QuestionId: 0xD3D equals value 0x20 {12 06 3D 0D 20 00}
0x3EEAF One Of: DVMT Pre-Allocated, VarStoreInfo (VarOffset/VarName): 0x795, VarStore: 0x1, QuestionId: 0x2739, Size: 1, Min: 0x0, Max 0xFE, Step: 0x0 {05 91 30 05 43 05 39 27 01 00 95 07 14 10 00 FE 00}
0x3EEC0 One Of Option: 0M, Value (8 bit): 0x0 {09 07 31 05 00 00 00}
0x3EEC7 One Of Option: 32M, Value (8 bit): 0x1 (default) {09 07 32 05 30 00 01}
0x3EECE One Of Option: 64M, Value (8 bit): 0x2 {09 07 33 05 00 00 02}
0x3EED5 One Of Option: 4M, Value (8 bit): 0xF0 {09 07 34 05 00 00 F0}
0x3EEDC One Of Option: 8M, Value (8 bit): 0xF1 {09 07 35 05 00 00 F1}
0x3EEE3 One Of Option: 12M, Value (8 bit): 0xF2 {09 07 36 05 00 00 F2}
0x3EEEA One Of Option: 16M, Value (8 bit): 0xF3 {09 07 37 05 00 00 F3}
0x3EEF1 One Of Option: 20M, Value (8 bit): 0xF4 {09 07 38 05 00 00 F4}
0x3EEF8 One Of Option: 24M, Value (8 bit): 0xF5 {09 07 39 05 00 00 F5}
0x3EEFF One Of Option: 28M, Value (8 bit): 0xF6 {09 07 3A 05 00 00 F6}
0x3EF06 One Of Option: 32M/F7, Value (8 bit): 0xF7 {09 07 3B 05 00 00 F7}
0x3EF0D One Of Option: 36M, Value (8 bit): 0xF8 {09 07 3C 05 00 00 F8}
0x3EF14 One Of Option: 40M, Value (8 bit): 0xF9 {09 07 3D 05 00 00 F9}
0x3EF1B One Of Option: 44M, Value (8 bit): 0xFA {09 07 3E 05 00 00 FA}
0x3EF22 One Of Option: 48M, Value (8 bit): 0xFB {09 07 3F 05 00 00 FB}
0x3EF29 One Of Option: 52M, Value (8 bit): 0xFC {09 07 40 05 00 00 FC}
0x3EF30 One Of Option: 56M, Value (8 bit): 0xFD {09 07 41 05 00 00 FD}
0x3EF37 One Of Option: 60M, Value (8 bit): 0xFE {09 07 42 05 00 00 FE}
0x3EF3E End One Of {29 02}
0x3EF40 End If {29 02}

0x3EF42 One Of: DVMT Total Gfx Mem, VarStoreInfo (VarOffset/VarName): 0x796, VarStore: 0x1, QuestionId: 0x4F4, Size: 1, Min: 0x1, Max 0x3, Step: 0x0 {05 91 44 05 45 05 F4 04 01 00 96 07 10 10 01 03 00}
0x3EF53 One Of Option: 256M, Value (8 bit): 0x2 (default) {09 07 47 05 30 00 02}
0x3EF5A One Of Option: 128M, Value (8 bit): 0x1 {09 07 46 05 00 00 01}
0x3EF61 One Of Option: MAX, Value (8 bit): 0x3 {09 07 48 05 00 00 03}
0x3EF68 End One Of {29 02}

Form: GT - Power Management Control, FormId: 0x2749 {01 86 49 27 9A 01}
0x409FB Subtitle: Statement.Prompt: GT - Power Management Control, Flags: 0x0 {02 87 9A 01 00 00 00}
0x40A02 End {29 02}
0x40A04 Subtitle: Statement.Prompt: , Flags: 0x0 {02 87 02 00 00 00 00}
0x40A0B End {29 02}
0x40A0D Gray Out If {19 82}
0x40A0F QuestionId: 0x4F9 equals value 0x0 {12 06 F9 04 00 00}
0x40A15 One Of: RC6(Render Standby), VarStoreInfo (VarOffset/VarName): 0x6ED, VarStore: 0x1, QuestionId: 0x5B0, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 4B 05 4C 05 B0 05 01 00 ED 06 10 10 00 01 00}
0x40A26 One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 07 03 00 30 00 01}
0x40A2D One Of Option: Disabled, Value (8 bit): 0x0 {09 07 04 00 00 00 00}
0x40A34 End One Of {29 02}
0x40A36 End If {29 02}
0x40A38 One Of: Maximum GT frequency, VarStoreInfo (VarOffset/VarName): 0x6FF, VarStore: 0x1, QuestionId: 0x5B1, Size: 1, Min: 0x2, Max 0xFF, Step: 0x0 {05 91 EE 05 EF 05 B1 05 01 00 FF 06 10 10 02 FF 00}
0x40A49 One Of Option: Default Max Frequency, Value (8 bit): 0xFF (default) {09 07 07 06 30 00 FF}
0x40A50 One Of Option: 100Mhz, Value (8 bit): 0x2 {09 07 F0 05 00 00 02}
0x40A57 One Of Option: 150Mhz, Value (8 bit): 0x3 {09 07 F1 05 00 00 03}
0x40A5E One Of Option: 200Mhz, Value (8 bit): 0x4 {09 07 F2 05 00 00 04}
0x40A65 One Of Option: 250Mhz, Value (8 bit): 0x5 {09 07 F3 05 00 00 05}
0x40A6C One Of Option: 300Mhz, Value (8 bit): 0x6 {09 07 F4 05 00 00 06}
0x40A73 One Of Option: 350Mhz, Value (8 bit): 0x7 {09 07 F5 05 00 00 07}
0x40A7A One Of Option: 400Mhz, Value (8 bit): 0x8 {09 07 F6 05 00 00 08}
0x40A81 One Of Option: 450Mhz, Value (8 bit): 0x9 {09 07 F7 05 00 00 09}
0x40A88 One Of Option: 500Mhz, Value (8 bit): 0xA {09 07 F8 05 00 00 0A}
0x40A8F One Of Option: 550Mhz, Value (8 bit): 0xB {09 07 F9 05 00 00 0B}
0x40A96 One Of Option: 600Mhz, Value (8 bit): 0xC {09 07 FA 05 00 00 0C}
0x40A9D One Of Option: 650Mhz, Value (8 bit): 0xD {09 07 FB 05 00 00 0D}
0x40AA4 One Of Option: 700Mhz, Value (8 bit): 0xE {09 07 FC 05 00 00 0E}
0x40AAB One Of Option: 750Mhz, Value (8 bit): 0xF {09 07 FD 05 00 00 0F}
0x40AB2 One Of Option: 800Mhz, Value (8 bit): 0x10 {09 07 FE 05 00 00 10}
0x40AB9 One Of Option: 850Mhz, Value (8 bit): 0x11 {09 07 FF 05 00 00 11}
0x40AC0 One Of Option: 900Mhz, Value (8 bit): 0x12 {09 07 00 06 00 00 12}
0x40AC7 One Of Option: 950Mhz, Value (8 bit): 0x13 {09 07 01 06 00 00 13}
0x40ACE One Of Option: 1000Mhz, Value (8 bit): 0x14 {09 07 02 06 00 00 14}
0x40AD5 One Of Option: 1050Mhz, Value (8 bit): 0x15 {09 07 03 06 00 00 15}
0x40ADC One Of Option: 1100Mhz, Value (8 bit): 0x16 {09 07 04 06 00 00 16}
0x40AE3 One Of Option: 1150Mhz, Value (8 bit): 0x17 {09 07 05 06 00 00 17}
0x40AEA One Of Option: 1200Mhz, Value (8 bit): 0x18 {09 07 06 06 00 00 18}
0x40AF1 End One Of {29 02}

thank you for reply, My problem is that I can’t read or write the vBIOS ( that why I tried to edit it in the main BIOS ) I just ask if there any chance to unlock it so I can flash edit and flash only vBIOS
my laptop has 1 Intel and 1 AMD GPU, I tried to edit the AMD one but the tools from the most popular Guide fail right when I tried to backup my vBIOS.

No, you cannot only flash vBIOS, well you can for AMD if it’s separate card like you mentioned.

For the Intel CPU vBIOS, you can extract the vBIOS and modify some settings (Probably none you want to edit) with Intel BMP I linked for you previously.
Aside from that, settings you would actually want to edit for vBIOS (Intel/CPU GFX) are shown above, those can be edited via grub or by editing setup module.

As for the AMD GPU, you can dump it’s vBIOS by selecting that GPU at bottom of GPU-z and then dump the vBIOS. Then send me that file, I’ll check and let you know what if any tools I can find that will let you modify it.
If you cannot select AMD GPU in GPU-z, then it’s not enabled, and you’ll need to adjust some of the setitngs below


Primary Display, VarStoreInfo (VarOffset/VarName): 0x7BA, VarStore: 0x1, QuestionId: 0x4ED, Size: 1, Min: 0x0, Max 0x4, Step: 0x0 {05 91 58 05 59 05 ED 04 01 00 BA 07 10 10 00 04 00}
0x3ED5B One Of Option: Auto, Value (8 bit): 0x3 {09 07 8E 00 00 00 03}
0x3ED62 One Of Option: IGFX, Value (8 bit): 0x0 {09 07 5A 05 00 00 00}
0x3ED69 One Of Option: PEG, Value (8 bit): 0x1 {09 07 5B 05 00 00 01}
0x3ED70 One Of Option: PCI, Value (8 bit): 0x2 {09 07 5C 05 00 00 02}
0x3ED77 One Of Option: SG, Value (8 bit): 0x4 (default) {09 07 5D 05 30 00 04} <<< Enable this setting


Ref: External Gfx Card Primary Display Configuration, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x4F1, FormId: 0x27FB {0F 0F 6A 00 6A 00 F1 04 00 00 FF FF 00 FB 27}
0x3EE30 One Of Option: Auto, Value (8 bit): 0x2 (default) {09 07 8E 00 30 00 02}
0x3EE37 One Of Option: Disabled, Value (8 bit): 0x0 {09 07 90 00 00 00 00}
0x3EE3E One Of Option: Enabled, Value (8 bit): 0x1 {09 07 8F 00 00 00 01} << Enable this setting

sorry for reply late, yes GPU-z can’t get my AMD vBIOS out, I get some error like " bios reading not enable" or sort of,
so setup_var 0x7BA 0x4 and setup_var 0xFFFF 0x1 is the fix for that right ?

No, those are graphics related settings, enabling certain ways to use graphics, nothing like what you mention.
Show me image of GPU-z without error, then another with error on screen too

here is the image of GPU-z, hope you can help.
https://imgur.com/79BxDXk
error message : https://imgur.com/TwIRH3Q

The VBIOS is located inside the main UEFI Firmware. See below and attached archive.

Screenshot - 10_11 002.png

Z_Extract.rar (1.38 MB)

thank you, is this the vBIOS in my bios file ?
what exactly should I do to mod and flash in new bios ?
and there are 4 of them, why is that ?

Thanks @lordkag really appreciate the dump txt for GUID locations too thanks!! - There are 4 due to different configurations likely use this BIOS.

@cuongvfc - I will modify for you, give me some time, little busy right now, thanks!

oh please take all the time you need. and thanks @lordkag for helping as well
edit: I actually want to OC it since I get so much stuttering playing game, heat issues is from my CPU and I managed to fix that, my GPU is around 70-75C when playing games.

@cuongvfc - I see Intel Management mentioned in this BIOS, do you know what ME FW is used in there, or none? If none, which I suspect, do you know if there is a way to check on your end either in BIOS or software if Intel Bootguard is enabled?
If it’s enabled then you can’t use a modified BIOS. Normally I could have you check this with matching MEInfoWin to your ME FW version, but I don’t see it so I can’t point you at the right package to check with.
And I can’t check with FITc for the same reason, so we need to find another way to check, unless you have already flashed a mod BIOS and it was OK?
Because when you modify this BIOS you get the expected warning due to bootguard/ACM >> checkProtectedRanges: AMI protected range [121000h:484C00h] hash mismatch, opened image may refuse to boot

I would not advise flashing this BIOS unless you have hardware flash programmer in hand and are ready to recover, with a verified and valid backup already
I could not find any tools to edit Atom or 530 vBIOS, sorry. This has updated EFI GOP images added to the oroms with GOP Updater, so they are now EFI/Legacy oroms, I am also not certain if that should be the update method used? @lordkag
Still does not show in UBU, probably incorrect way to do this update? Be warned, and ready for recovery if you flash this BIOS (Sorry, maybe lordkag can better advise me on how they should be updated?)
Example image of one of the modules before/after update

GOP-530-Upd.png


http://s000.tinyupload.com/index.php?fil…081080482762809

thanks for your reply, if in that case, I’ll just leave it as it is. It gonna be a mess if I break it. but seriously thank you very much

Order a CH341A programmer ($2.50 on ebay) and SOIC8 test clip cable ($3.50 on ebay), then it’s no problem to test and see the outcome! Plus, once you have those, you will then be able to recover any board BIOS, or flash any modified BIOS even if system tells you no

Updated with red warning - thanks for the reminder @chinobino

Thank you for this guide, it works flawlessly

Thanks for reporting back @squeueue glad the guide was helpful for you!

hello,my board is asus a88xm-plus,and i add nvme module to the bios.
1.i try it but i can’t find the “bios lock”.
2. i try to read the bios after using the other way of “afu /gan”,but it didn’t have the nvme module in the bios.
3.how can i do ^^^^^^^^^^^^

AMD based board do not have this setting @gloobox - you will have to try this method, and use that AFUWin attached to the thread - https://linustechtips.com/main/topic/592…r-motherboards/
If that does not work, try AI Suite method mentioned here - [Guide] How to flash a modded AMI UEFI BIOS

If still no luck, you may need to purchase CH341A flash programmer ($2.50 on ebay, or 2-3x more if you need quicker/locally) - https://www.ebay.com/itm/201316582787
Also, get one of these for easier chip removal - https://www.ebay.com/itm/123167465408

all failed~~~
i have to buy a ch341a

anyway thanks for helping!!!

@gloobox - Sorry, but yes that is what many with A88X board ended up doing, I tried to look around for you yesterday for some success stories but all ended in fail except flash programmer.
At least you will then have programmer to save you from bad flash in the future!