Why is EFI booting not enabled by default?

Here you can provide suggestions on how to improve the product, website, etc.

Why is EFI booting not enabled by default?

Postby Stramstron » 18. Oct 2017, 00:13

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.
Stramstron
 
Posts: 3
Joined: 17. Oct 2017, 18:18

Re: Why is EFI booting not enabled by default?

Postby socratis » 18. Oct 2017, 00:43

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.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
socratis
Site Moderator
 
Posts: 12692
Joined: 22. Oct 2010, 11:03
Location: Greece
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5

Re: Why is EFI booting not enabled by default?

Postby mpack » 18. Oct 2017, 10:25

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.
mpack
Site Moderator
 
Posts: 25484
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?

Postby michaln » 19. Oct 2017, 09:33

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.
michaln
Oracle Corporation
 
Posts: 2841
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all

Re: Why is EFI booting not enabled by default?

Postby Stramstron » 19. Oct 2017, 20:25

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/
Stramstron
 
Posts: 3
Joined: 17. Oct 2017, 18:18

Re: Why is EFI booting not enabled by default?

Postby mpack » 20. Oct 2017, 11:58

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.
mpack
Site Moderator
 
Posts: 25484
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?

Postby Stramstron » 20. Oct 2017, 15:09

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.
Stramstron
 
Posts: 3
Joined: 17. Oct 2017, 18:18

Re: Why is EFI booting not enabled by default?

Postby Perryg » 20. Oct 2017, 16:25

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: 34267
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?

Postby Perryg » 20. Oct 2017, 16:37

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.
Perryg
Site Moderator
 
Posts: 34267
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?

Postby socratis » 20. Oct 2017, 19:51

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.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
socratis
Site Moderator
 
Posts: 12692
Joined: 22. Oct 2010, 11:03
Location: Greece
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5

Re: Why is EFI booting not enabled by default?

Postby Perryg » 20. Oct 2017, 19:59

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 ).
Perryg
Site Moderator
 
Posts: 34267
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?

Postby socratis » 20. Oct 2017, 20:22

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 :)
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
socratis
Site Moderator
 
Posts: 12692
Joined: 22. Oct 2010, 11:03
Location: Greece
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5


Return to Suggestions

Who is online

Users browsing this forum: No registered users and 3 guests