Why is EFI booting not enabled by default?

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
Stramstron
Posts: 3
Joined: 17. Oct 2017, 18:18

Why is EFI booting not enabled by default?

Post by Stramstron »

Why is (U)EFI booting not enabled by default in virtualbox and legacy CSM/BIOS booting provided as an option which can be enabled in the menu instead? I think it made sense a few year ago when BIOS system were the majority of systems but since BIOS systems are pretty dated by now and UEFI becoming more and more common, shouldn't it be the default to virtualize the nowadays most common systems instead? If i'm not mistaken, all commonly used operating systems support UEFI booting by now so I don't see a lot of good reasons to not go UEFI.

Here are the downsides of CSM/BIOS booting:

- gap between MBR and first partition is used to store the rest of the bootloader. There is no convention on where the first partition should start and so you can run into problems like your bootloader can be overwritten by a windows update.
- a maximum of 4 primary partitions
- MBRs can only handle partition information of drives up to 2TB.
- boot data is only saved on one place on the disk, there is no failsafe mechanism.
- no cyclic redundancy check recovery in case of a corrupted partition table

I suspect BIOS booting is still used by a lot of experienced sysadmins who simply never really bothered learning about UEFI and always went for CSM since that's the familiar and safe option, but this holds back innovation if you ask me.

Am I missing something important here? Is BIOS booting still the standard for some good reason when using some particular OS? Let me know. Otherwise, I'd love to see this change.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Why is EFI booting not enabled by default?

Post by socratis »

Stramstron wrote:Why is (U)EFI booting not enabled by default in virtualbox and legacy CSM/BIOS booting provided as an option which can be enabled in the menu instead?
Simply because every OS out there (except OSX) will boot from BIOS. The same thing cannot be said for EFI. Plus the EFI code is not mature enough to justify it enabling it as the default. Well, in all honesty it is more "advanced" in some areas compared to BIOS, and moving forward it's going to be getting better and better, it simply isn't there yet. For example you cannot boot a Win7 VM if EFI is enabled. And it's not going to happen any time soon, not enough demand from paying customers.
Stramstron wrote:when BIOS system were the majority of systems but since BIOS systems are pretty dated by now and UEFI becoming more and more common
Check the available list of supported guest OSes by VirtualBox. Tell me how many of those must absolutely have EFI. Tell me how many of those must absolutely have BIOS. Then you'll know that it's in the single percent digits, a far cry from the majority...
Stramstron wrote:Here are the downsides of CSM/BIOS booting:
I'm pretty sure that the developers and power users are familiar with those benefits, you don't need to convince them ;)
Stramstron wrote:I suspect BIOS booting is still used by a lot of experienced sysadmins who simply never really bothered learning about UEFI
Don't bet on it, you're basing your conclusions in the wrong assumptions. Plus I'm not quite sure what sysadmins or their background have to do with what the default option for a virtualizer's boot options...
Stramstron wrote:Am I missing something important here?
Compatibility and maturity of the available options. Mainly compatibility.
Stramstron wrote:Otherwise, I'd love to see this change.
Don't expect any immediate change unless the OS that you're trying to install requires EFI or else it won't boot. The templates are there, changing the proposed defaults is not a technical issue, that's for sure.

When you set the defaults on something like VirtualBox you don't want to be on the cutting edge, you want to keep it conservative.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Why is EFI booting not enabled by default?

Post by mpack »

Stramstron wrote:There is no convention on where the first partition should start and so you can run into problems like your bootloader can be overwritten by a windows update.
Never happened.

Windows 7 and later doesn't put fancy bootloader code in the unpartitioned sector 0 area, it has a large dedicated bootloader partition. Earlier Windows assumes MBR: single boot sector, secondary boot code in the main partition, so the problem doesn't arise for them either. The Win7+ bootloader partition is 100MB or so, so way larger than it'll ever need - and anyway it has a proper filesystem, so the idea that any write might overwrite the end of the partition area is just... hogwash.

Incidentally, isn't correct to talk about UEFI vs BIOS. UEFI is a BIOS, it just has a somewhat more modern design. And, if your VM doesn't need the features it offers, e.g. >2TB hdd partitions or secure boot, then there is no advantage to enabling it. The majority of VM users should leave it disabled.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Why is EFI booting not enabled by default?

Post by michaln »

Stramstron wrote:Why is (U)EFI booting not enabled by default in virtualbox and legacy CSM/BIOS booting provided as an option which can be enabled in the menu instead?
Because at this point it does not solve any actual customer problems, only adds more complexity.
Stramstron
Posts: 3
Joined: 17. Oct 2017, 18:18

Re: Why is EFI booting not enabled by default?

Post by Stramstron »

mpack wrote:Incidentally, isn't correct to talk about UEFI vs BIOS. UEFI is a BIOS, it just has a somewhat more modern design. And, if your VM doesn't need the features it offers, e.g. >2TB hdd partitions or secure boot, then there is no advantage to enabling it. The majority of VM users should leave it disabled.
I disagree. The word you are looking for is firmware. BIOS and UEFI are both firmware. A BIOS is not a synonym for a firmware. Also have a look here:
https://www.happyassassin.net/2014/01/2 ... work-then/
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Why is EFI booting not enabled by default?

Post by mpack »

Stramstron wrote:The word you are looking for is firmware. BIOS and UEFI are both firmware. A BIOS is not a synonym for a firmware. Also have a look here:
[irrelevant link]
Nonsense.

I have worked for decades as a programmer in the embedded sector, so I am more than aware of what firmware is.

Firmware refers to the entire code in the embedded device, i.e. the code part of what's in ROM/Flash, i.e. excluding data. If we assume the context of the flash in a PC then both words apply. But firmware is is a general term, exactly like software is. A spreadsheet is software, but software does not mean spreadsheet. Likewise a BIOS is firmware, but firmware does not mean BIOS.

BIOS (Basic I/O System) is a functional name referring to a fixed layer of code which isolates a generic/changeable OS from the hardware details of a particular target platform, particularly these days as regards starting the generic OS. Basically it's a mini OS used to start the user OS.

HAL is a related term, but tends to be part of the application (the OS in this context), not a fixed layer of firmware.

BOOTLOADER is another related term, but tends to be much simpler than a BIOS, i.e. bootloader does just enough to load the app from persistent storage and start it, it doesn't provide any other functions.

I don't know what your link is supposed to show me. If you're going to cite an authority then at least choose a relevant one, and maybe even one I'd recognize as an authority - like the ISO say.


I also find it curious that this is the trivial point you choose to address, instead of any of the significant questions raised about your original post.
Stramstron
Posts: 3
Joined: 17. Oct 2017, 18:18

Re: Why is EFI booting not enabled by default?

Post by Stramstron »

well, the question I asked has been answered thoroughly and I am satisfied with the answer. I guess the short answer is that the virtual UEFI isn't production ready yet.

Whether you can still refer to the firmware interface that used to be called a BIOS and is now commonly called a UEFI, as a BIOS, there seem to be different opinions about that. BTW, wikipedia also says UEFI replaces BIOS. But this is just a pointless terminology/definition discussion.
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Why is EFI booting not enabled by default?

Post by Perryg »

I remember the days when BIOS didn't exist. Top that!

Oh and while the OP has a valid question the answers have been somewhat off topic IMHO. The only guest that must have EFI at this time is Mac. All the rest will function in a virtual world with the normal BIOS settings. You can use EFI on some guests but it is not a requirement so it stands to reason that it would not be used by default at this time because that would increase the need to make sure the EFI code works on everything out of the box and increase the time to test and modify ( man hours vs. want as it is not a need ).
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Why is EFI booting not enabled by default?

Post by Perryg »

Oh and one last thing. I often find default settings that I personally want to change simply because that is what I want so I do just that. You can as well by editing the source code and compile. Not a big issue but it does require some special knowledge.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Why is EFI booting not enabled by default?

Post by socratis »

Perryg wrote:I remember the days when BIOS didn't exist. Top that!
OK grandpa, you win hands down! What were you using? This computer? :D

Back to the point, that's what I have been trying to convey to the OP. You can definitely change the templates to have the EFI as the default one. It's definitely not a technical issue from the side of VirtualBox. But except OSX, there is not a single OS out there that requires EFI and only EFI. And until that changes, and a new template is implemented for that specific OS, BIOS *will* be the default. There's no sense in it not being the default, no sense at all.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Why is EFI booting not enabled by default?

Post by Perryg »

Cute, and yes I have used an abacus before. Weird but fun to use. Back in the day the computer was direct driven by the OS and you couldn't change anything. Way back in the trs(trash)-80 and vic-20 days and even the IBM punch card stuff ( now there is something to behold and took a lot to decipher what it was saying on the card ).
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Why is EFI booting not enabled by default?

Post by socratis »

We're veering off, but, I have used punch cards sir! That's how I got into programming! In the university (undergrad) we had an old VAX computer that all the engineering departments had to use, except the CompSci one, they had the big kahuna. But even that fellow had a "BIOS" of sorts. You win again :)
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply