Let me correct you. A simple traditional BIOS does not understand and does not care about partition tables. So it won't notice anything wrong.
Some manufacturers went even further and imposed anti-viral preventative measures (I usually saw McAfee branding for this on certain OEM vendors) inside their BIOS later in the game (by the early 2000s) such that if it detected what the programmers thought were damaged MS DOS partitions (MBR) they would either try to repair it, or toss an error. The most common infection vector for MS DOS/Windows viruses at the time was to infect the boot sectors then hook the drive access interrupt to keep itself hidden and further spread to other drives. While this was arguably good for the 99%+ of their customers using DOS/Windows, for the rest it could cause problems. (Edit here to add once I thought about it: Many OEMs also had an option to block all access to the MBR sector of the drive specifically to block viral boot sector infections.)
What I'm getting at here, is that OEMs just assuming and purposely only supporting and testing for Microsoft products is historically the norm in the PC world, and that's unlikely to change. This is just more of the same regardless of BIOS v. UEFI merits debate.
I ran across a bug when I bought my current motherboard that it would drop to the UEFI setup screen when it had more than one boot entry in the FAT32 partition. I reported the bug to the OEM and their response was a version of "Oh, we don't support anything but Windows, sorry." and closed the ticket. They didn't accept the bug till I pointed out that a UEFI bug like this would affect multiple Windows entries as well. Remarkably short sighted of them. But lesson learned: If you find a bug while using a non-Microsoft operating system in a motherboard, do NOT tell the OEM you're using BSD/Linux, they will immediately dismiss you. Instead try to replicate it using Windows. That's generally the only way you'll get their attention, assuming they care to begin with.
I never really understood why you would want to use a raw device in real hardware (It's useful if you are doing this inside a file mounted as a loop device or something).
Comment