VOGONS


First post, by ott

User metadata
Rank Newbie
Rank
Newbie

I'm looking for technical opportunities to switch individual CMOS/BIOS settings for each OS on relatively modern hardware (LGA775/LGA1155(B75)/AM3 with native PCI) for better compatibility with Win9x and modern OS (Linux/WinXP/7/10).

I would like to disable all unnecessary cores when selecting a Win9x, switch IDE/AHCI modes for a modern OS, disable some integrated devices for Win9x, etc.

I guess it possible on bootloader side (GRUB?) and requires some BIOS firmware hack.

Bootloader's algorithm is something like this:
When selecting an OS to boot, the bootloader checks current BIOS settings; if they do not match the selected OS - computer reboots with correct BIOS settings.

Reply 1 of 11, by myne

User metadata
Rank Oldbie
Rank
Oldbie

There are ways to interact with uefi settings outside the oem "bios screen"
As far as I am aware, they need to be uefi module, and you'd probably have to write it.

Example https://github.com/DavidS95/Smokeless_UMAF

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 2 of 11, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
myne wrote on 2025-07-22, 04:59:

There are ways to interact with uefi settings outside the oem "bios screen"
As far as I am aware, they need to be uefi module, and you'd probably have to write it.

Example https://github.com/DavidS95/Smokeless_UMAF

IIRC UEFI didn't become available till very late LGA 1155 boards and very late AM3+ boards, 755 has zero UEFI support so I doubt there is any way to alter BIOS setting after post on such boards, AM3 and most 1155 boards are also very unlikely to have UEFI either.

Cool concept though, would be pretty damn useful on pre UEFI boards if there was a way to do it.

Reply 3 of 11, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Ah. Right.

There are ways to record register settings, and apply them.
There's the ancient wpcredit for windows 9x, and I think linux has "setpci?" and various other related pci tools to read registers.

If you play "spot the difference" with various configs you might be able to figure out a script of sorts that grub/whatever might be able to run.

Beware though. Some registers are not settings, but more like a mailbox for back and forth communication!

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 4 of 11, by Ryccardo

User metadata
Rank Member
Rank
Member
Trashbytes wrote on 2025-07-22, 05:05:

IIRC UEFI didn't become available till very late LGA 1155 boards and very late AM3+ boards, 755 has zero UEFI support [...]

Generally true and the exceptions (Intel Macs, Tianocore) are rather antithetical to "changing settings"!

But the concept is valid - a typical desktop PC of the time would store most settings in SRAM, and is plausibile (though certainly tedious to implement) to either change and reboot or implement the effect of separately (compare to the custom MBR to enable AHCI in bios emulation mode on said Macs)

AFAIK Grub does have at least an "if sram byte = x" command, it was "popularized" by the eeepc netbooks with two power buttons intended to launch 2 different OSes (though the official implementation also used a custom MBR), but I'm not sure if there's a write command at least in official versions!

can change settings in software (figuring out which bits

Reply 5 of 11, by Archer57

User metadata
Rank Member
Rank
Member
Trashbytes wrote on 2025-07-22, 05:05:

IIRC UEFI didn't become available till very late LGA 1155 boards and very late AM3+ boards, 755 has zero UEFI support so I doubt there is any way to alter BIOS setting after post on such boards, AM3 and most 1155 boards are also very unlikely to have UEFI either.

Cool concept though, would be pretty damn useful on pre UEFI boards if there was a way to do it.

Hmm, was not it 1156? Most if not all 1155 boards i've seen were UEFI...

Reply 6 of 11, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
Archer57 wrote on 2025-07-22, 06:24:
Trashbytes wrote on 2025-07-22, 05:05:

IIRC UEFI didn't become available till very late LGA 1155 boards and very late AM3+ boards, 755 has zero UEFI support so I doubt there is any way to alter BIOS setting after post on such boards, AM3 and most 1155 boards are also very unlikely to have UEFI either.

Cool concept though, would be pretty damn useful on pre UEFI boards if there was a way to do it.

Hmm, was not it 1156? Most if not all 1155 boards i've seen were UEFI...

I looked it up and its all over the place but most early 1155 didn't have it fully implemented or at all this depends of the AIB fabbing the boards, Z97 though was the first chipset to have widespread use of UEFI for NVME boot and use UEFI as modern systems do, but there are a few reports of some high end 1156 boards also having it.

I guess we should make a distinction between UEFI 1.0 and 2.0, 1.0 has been around since 2005 and there were a few Intel boards that used it, 2.0 is the one we all know from modern PCs and supports NVME boot and Secure boot along with cryptography.

My old Sandy Bridge doesn't have UEFI but its also not an expensive board.

Reply 7 of 11, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
Ryccardo wrote on 2025-07-22, 06:06:
Generally true and the exceptions (Intel Macs, Tianocore) are rather antithetical to "changing settings"! […]
Show full quote
Trashbytes wrote on 2025-07-22, 05:05:

IIRC UEFI didn't become available till very late LGA 1155 boards and very late AM3+ boards, 755 has zero UEFI support [...]

Generally true and the exceptions (Intel Macs, Tianocore) are rather antithetical to "changing settings"!

But the concept is valid - a typical desktop PC of the time would store most settings in SRAM, and is plausibile (though certainly tedious to implement) to either change and reboot or implement the effect of separately (compare to the custom MBR to enable AHCI in bios emulation mode on said Macs)

AFAIK Grub does have at least an "if sram byte = x" command, it was "popularized" by the eeepc netbooks with two power buttons intended to launch 2 different OSes (though the official implementation also used a custom MBR), but I'm not sure if there's a write command at least in official versions!

can change settings in software (figuring out which bits

I would love to see someone tackle this for older systems, would be great to be able to have different BIOS settings based on which OS is booting, 98 doesn't need more than one CPU core for instance.

I would tackle it myself but I don't have the knowledge required to even begin.

Reply 8 of 11, by Archer57

User metadata
Rank Member
Rank
Member
Trashbytes wrote on 2025-07-22, 07:10:

I looked it up and its all over the place but most early 1155 didn't have it fully implemented or at all this depends of the AIB fabbing the boards, Z97 though was the first chipset to have widespread use of UEFI for NVME boot and use UEFI as modern systems do, but there are a few reports of some high end 1156 boards also having it.

I guess we should make a distinction between UEFI 1.0 and 2.0, 1.0 has been around since 2005 and there were a few Intel boards that used it, 2.0 is the one we all know from modern PCs and supports NVME boot and Secure boot along with cryptography.

My old Sandy Bridge doesn't have UEFI but its also not an expensive board.

Lack of NVME boot does not mean it is not UEFI. There are plenty of UEFI boads which were released before NVME became a thing and they simply have no NVME driver. They can be modded to include one and then they will be able to boot from NVME.

Also UEFI does not have to look like it does nowadays, i have a few old boards which have UEFI but the interface is well known old one...

I have not seen a LGA1155 board which was not UEFI. Obviously i have not seen all of them so probably some exist, but they would be uncommon. LGA1156 was a mix/transition period, yes. But LGA1155 had UEFI and no NVME boot because there was no NVME back then. Out of curiosity -what's your board model?

Reply 9 of 11, by kaputnik

User metadata
Rank Oldbie
Rank
Oldbie

Did something similar to this in hardware on a BIOS system, wanted to be able to switch between the original BIOS and MR BIOS on an old GA-586HX board. Posted about it here. Schematics in the last post.

It might be possible to do what you want by controlling changeover via the SMBus or something. Otherwise it might be close enough and far easier to just have different boot paths on the different chips, and choose chip accordingly with a switch before powering up.

As long as the chip holding the BIOS settings on your board(s) can operate in parallel on a bus (it almost certainly can) it should be possible.

As for UEFI systems, the settings can be stored in a couple of different ways. They can either use traditional external storage, or store the settings in varstores embedded in the UEFI software on flash. Modern systems seem to almost always do the latter. The above approach should work on both variants, you'd just use multiple flash chips in a bus configuration instead if the settings are stored on flash. Doing it in software would require access to the manufacturer's configuration tools (many are leaked) and extensive modding, probably only worth the pain if you also want the learning experience.

Last edited by kaputnik on 2025-07-23, 10:05. Edited 2 times in total.

Reply 10 of 11, by kaputnik

User metadata
Rank Oldbie
Rank
Oldbie
Archer57 wrote on 2025-07-23, 00:10:

I have not seen a LGA1155 board which was not UEFI. Obviously i have not seen all of them so probably some exist, but they would be uncommon. LGA1156 was a mix/transition period, yes. But LGA1155 had UEFI and no NVME boot because there was no NVME back then. Out of curiosity -what's your board model?

It's obviously not the consumer oriented desktop stuff we're discussing here, but the HPE Microserver gen 8 is an LGA1155 machine with traditional BIOS, so it does exist 😀

Reply 11 of 11, by nd22

User metadata
Rank Oldbie
Rank
Oldbie

To my knowledge no LGA 1156 board has UEFI, unlike LGA 1155 that have UEFI on consumer boards and classic BIOS on industrial/specialized boards.
On some boards with BIOS you can save hardware profiles with unique names and select the one you want when first starting the machine. Example: Abit AW9D MAX one profile with SATA ports in IDE mode for XP and another with SATA ports in AHCI mode for Vista/7.