Is modding the BIOS preferred over using a UEFI shell?

Just joined this great forum after using it for a long time to lurk and get info I need and it’s been a great help. I joined up like many because I got stuck modding my BIOS (removing annoying Dell F1 prompts) but when I saw all the BIOS requests are basically done by one person (lots of kudos btw @Lost_N_BIOS ) I felt kind of bad for putting my request on the pile.

Which got me thinking…

I noticed many of the BIOS requests could be “solved” by editing variables in a UEFI shell instead of a full BIOS edit and flash. Finding the offsets and stuff is not hard at all and it would reduce the workload on people doing BIOS modding for others. But maybe there is a good reason why the BIOS is modded instead.

I wouldn’t mind writing a basic beginners guide on how to find and edit offsets and also how to make the bootable usb stick needed to edit them. Really no problem, especially if it helps others. But I’m not sure if that is allowed or the way things go here.

Thank you!

@stovorsen - Thanks for noticing and appreciating all the efforts we put in here to help others!

You are correct, many of the “Settings changes” can be done via grub/setup_var or for Insyde BIOS via H2OUVE (Doing similar edits), but most people tend to want unlocked BIOS vs changing a single setting or two. For single setting or few, changing those directly yes would be the easiest route
Most of the time a few settings changes is not what people want, that is why you see so much actual BIOS mod vs simply changing a setting or three.

I did write out a guide for this on most modern Intel, but just to disable BIOS lock/SMI lock - [GUIDE] Grub Fix Intel FPT Error 280 or 368 - BIOS Lock Asus/Other Mod BIOS Flash (+ Often linked in threads when needed - Alt boot to grub when no boot to EFI on exit page

Please feel free to write out a guide if you want, I’m sure that it would be appreciated by many who simply need to change a few settings!
If you need to know how to do the Insyde BIOS version of this let me know and I will show you, so maybe you can also add that to your guide.

Of course it is allowed, the more contributors the better.

Thanks for the positive feedback!

I should do some research in how it goes for certain special case motherboards. I think in essence what people need to do is extract the IFR that contains all the locks and settings. Find the offsets for smi lock/bios lock/other locks, etc and find all the stuff they want to change. Then create a bootable usb drive with a shell capable of doing of setup_var and do the unlocks and then try to change the settings they wish to change. Some boards require a service jumper like my Dell. I will try and come up with something that applies to most scenarios. Probably only for AMI as I have no experience with others.

Btw, I noticed there are 2 versions ifr extract, one includes a lot of help text for each entry. The other one is the plain dump. I don’t remember where I downloaded the one that adds the help texts, but those can be very useful for people new to this as it explains each section. Anyone knows where to find the one with the help text again?

From my limited IFR experience, when I had to write [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing > E6, the pain points are how to find the correct module with the IFR, what IFR dumper tool works best (it varies) and what variable setting tool works best (also varies, some work via grub, others need different grub, others AMISetupWriter or whatever that was called etc).

Thanks! To find the right module I usually search some strings like “bios lock” or just “lock” or “advanced” in UEFIEditor and check out the matching tables. Good point on the shells. I’ll have to investigate. My go to is this one on Github. It has worked me for all the time but I do only have AMI boards around here.

Extracting tables is hit and miss sometimes yes. The extractor from the same repo as UEFITool seems work well but it doesn’t add all the help texts that could be useful for people new to this. I have 2 executables one is called ifrextractor and the other ifrextract. One of the produces the help texts… Silly I can’t remember where I got it from haha.