UEFI, MBR vs GPT, etc.  Your view? - Page 1
Forum section: electronics / general

author: Rick Law
author_rank: Super Contributor
timestamp: April 28, 2018, 11:38:37 pm
content: What do you think of UEFI? I was trouble-shooting/solution seeking hunting on the web, and I came across this UEFI white paper from uefi.org, the UEFI folks spend a good amount of ink on UEFI being slow is just a perception. Yet here I am, experiencing a frustrating long boot time on Win7pro (experiment on an MBR vs GPT/UEFI disk). It took quite some time before the disk even begin loading.Their words: "When encountering the perception that UEFI is slow to boot, it is important to note that the PC industry deployed UEFI as a means of “fast booting” a system...." The clock on my desk appears to have a case of severe misconception.Anytime when the manufacturer, or in this case the originator of something has to write a white paper to convince others that what they are experiencing is not real and is just a "misconception", I take that with great doubt.So, what do you think of UEFI/GPT vs MBR, etc...?The link to that white paper.http://uefi.org/sites/default/files/resources/UEFI_Clarifying_Common_Misconceptions_White_Paper_April%202014_Final.pdf

author: Fsck
author_rank: Super Contributor
timestamp: April 29, 2018, 12:03:33 am
content: UEFI allows a lot of new features. More features = slower, in general.Seeing a whitepaper about the slowness is really funny though.

author: Ampera
author_rank: Super Contributor
timestamp: April 29, 2018, 12:12:42 am
content: Honestly, Windows (especially Windows 7) tends to have stupid slow boot times. My Linux install on a hard drive is faster than WIndows 2016 on an SSD, both using UEFI booting on GPTs.

author: Monkeh
author_rank: Super Contributor
timestamp: April 29, 2018, 12:43:40 am
content: UEFI in and of itself is not slow. What various BIOS and motherboard vendors cobble haphazardly together is a different matter entirely.As for MBR vs GPT, MBR is ancient and broken - it's done. It's gone. Forget it exists.

author: Mr. Scram
author_rank: Super Contributor
timestamp: April 29, 2018, 01:02:58 am
content: Quote from: TwoOfFive on April 29, 2018, 12:12:42 amPlease don't make this into another one of those threads. I swear I'll personally shred the forum server with a cheese grater.

author: llkiwi2006
author_rank: Regular Contributor
timestamp: April 29, 2018, 01:16:39 am
content: UEFI is a mess, way too much complexity so manufactures often don't implement it properly. One prime example:on certain motherboards, deleting efivars can brick the system.What we really need is open source firmware/bios that keeps it simple stupid.GPT vs MBR is a totally separate issue. MBR is old with stupid limitations like only 4 primary partitions. GPT is definitely the way to go if your bios supports it.

author: Monkeh
author_rank: Super Contributor
timestamp: April 29, 2018, 01:17:48 am
content: Quote from: llkiwi2006 on April 29, 2018, 01:16:39 amManufacturers never implementanythingproperly.u-boot is pretty simple. I have devices where saving the environment overwrites the kernel. Please don't use 'too complex' to excuse the epic incompetence of these companies.

author: rstofer
author_rank: Super Contributor
timestamp: April 29, 2018, 01:24:53 am
content: Slow boot times are more likely caused by a massive number of programs all trying to start up and call home. When I first bought my HP All-In-One with W7, it was very fast to boot. Over the years more things have been added and it's to the point I might as well take a coffee break while waiting. It's up to multiple minutes. Grim!I like the fastboot option of Win 10. I know I'm supposed to hate it but my attention span is too short to get to that point of view. I love it!I have 3 new high end I7 machines, all with SSDs and they are a joy to use. Boot times in the dozen seconds range works for me.

author: Ampera
author_rank: Super Contributor
timestamp: April 29, 2018, 03:06:14 am
content: Quote from: Mr. Scram on April 29, 2018, 01:02:58 amI'm not making this a thread about anything, and am speaking from experience. Like Windows or hate it, this is objective and fact. Windows has slow boot times. So many variables go into it, but I would reckon it's slower on average if you could get the statistics somehow.

author: rdl
author_rank: Super Contributor
timestamp: April 29, 2018, 03:15:49 am
content: Quote from: rstofer on April 29, 2018, 01:24:53 amIt is possible to have nothing run at start up other than Windows itself.

author: xrunner
author_rank: Super Contributor
timestamp: April 29, 2018, 03:19:40 am
content: Quote from: TwoOfFive on April 29, 2018, 03:06:14 amDefine "slow boot times" then I'll get back to you with how fast my new Win 10 system is up and running ...

author: Ampera
author_rank: Super Contributor
timestamp: April 29, 2018, 03:38:26 am
content: Quote from: xrunner on April 29, 2018, 03:19:40 amSlow is being used relative. Compared to a well oiled Linux or Unix system of similar feature, it would likely load faster. It's relative, and still has to do with the files it loads, but you must admit that the NT Kernel is more bloated than Linux.Anyways, I said I'm not turning it into anything, so I suggest we leave it here. If someone wants to fight me in DMs, go right ahead.

author: Mr. Scram
author_rank: Super Contributor
timestamp: April 29, 2018, 03:40:58 am
content: Quote from: TwoOfFive on April 29, 2018, 03:06:14 amYou are making this into something it's not. This is about UEFI versus BIOS. Don't make it into another OS thread. We already have half a billion of those.Having an UEFI and BIOS thread is legitimate. Two systems with the same, non defined OS can have significantly different boot times before it ever gets to the OS of unknown denomination.

author: Ampera
author_rank: Super Contributor
timestamp: April 29, 2018, 03:44:03 am
content: Fair enough.I think it is worth noting that MBR and GPT are partition tables while UEFI and BIOS are firmware standards. As far as I am aware, booting from GPT requires using UEFI. MBR also, iirc, has a 2TB drive size limitation, which can be a bit of an issue.As stated, having more features in a firmware will end up making it slower.

author: Monkeh
author_rank: Super Contributor
timestamp: April 29, 2018, 03:44:57 am
content: Quote from: TwoOfFive on April 29, 2018, 03:44:03 amWill it? Define 'features' and their involvement in the basic boot process.

author: Mr. Scram
author_rank: Super Contributor
timestamp: April 29, 2018, 03:52:14 am
content: Quote from: Monkeh on April 29, 2018, 03:44:57 amThat's exactly what I was asking myself. If you make more parameters accessible through a fancy GUI, does that impact the time it takes to load them if you already loaded them? Some complicated features actually boost speed. Those are often nifty and complicated to develop and implement, but mean a better experience and performance.Of course, it's easy to add on a lot of stuffing that does bloat matters.

author: Ampera
author_rank: Super Contributor
timestamp: April 29, 2018, 04:02:33 am
content: Quote from: Monkeh on April 29, 2018, 03:44:57 amPerhaps not the firmware specifically, but the standards and bootloaders needed to work with it.Arguably, that might not be a fair statement, but UEFI compatible BIOSes tend to be larger and more complex, as well as UEFI compatible bootloaders. BIOS just loads in the first sector on a drive into memory, and it's off to the races. I believe EFI/UEFI has a specific list of installed bootloaders it jumps to instead.I could be wrong, my experience stops around this point, as I've only ever programmed for BIOS systems. Apologies for being a possible pedant.

author: hamster_nz
author_rank: Super Contributor
timestamp: April 29, 2018, 04:07:05 am
content: UEFI vs Legacy boot: UEFI gives me endless trouble with boot failure when I migrate servers and disks around, or move hardware around. That is all tied up with trusted boot, TPM, disk signatures and BIOS UUIDs.MBR vs GPT: Boot disks MBR please if possible. Data disks over 2TB are so common now, and GPT causes no issues there.

author: amyk
author_rank: Super Contributor
timestamp: April 29, 2018, 04:26:17 am
content: Most BIOSes contained a huge chunk of handwritten Asm code, from the days when those programmers actually knew how to use the machine efficiently.UEFI is a bloated, design-by-committee mess that's so complex itneedsto be written in an HLL like C++, which increases the bloat even more.It's no surprise the latter would increase boot times (and by that, I mean the part before the OS loads.)The original IBM PC had a 8K BIOS. Now they're up to 16MB, or equivalent to the entire address space of an 80286! If they used Asm, got rid of the UEFI bloat and added the new features "the good old way", it would probably fit in 1MB.As for MBR vs GPT, once again the latter is a grossly overdesigned attempt at solving some fundamentally very simple to solve limitations.

author: hamster_nz
author_rank: Super Contributor
timestamp: April 29, 2018, 05:52:22 am
content: Quote from: amyk on April 29, 2018, 04:26:17 amThat reply would be valid if PCs were not massively more complex beasts than they were 37 years ago.Multi-core and multi-processor, multi-level caches, booting from USB ports, onboard RAID controllers, oodles of different Optical disks, literally maybe a million times as much memory to manage, many models/generations of CPU to support, NUMA, real mode & protected mode, vectored interrupts, NICs with network boot. management processors, remote management cards, multiple bus bridges to configure, onboard & on-CPU graphics, trusted platform modules and secure boot, PCIe in multiple widths and revisions, along with 30 years of backwards compatibility to maintain, boot time diagnostics...I remember when you had an 528 MB BIOS limit for HDDs... ah the good old days.

author: Whales
author_rank: Super Contributor
timestamp: April 29, 2018, 06:08:47 am
content: UEFI has caused me some nightmares, including preventing systems from shutting down properly (Compaq Elite 8200 series IIRC).Step back a second and look at just BIOS implementations alone, what we've had for the past few decades:Strange and complicated. Lots of legacy features and memory mappings to ensure compatibilityDifficult to get bugs fixed in (compared to an OS). Often the vendors will provide you no support, especially if your device is more than X years oldMost tolerable when you use the minimum of the available featuresFrom this you would think "hey, we should minimise the amount of stuff a BIOS has to do".Then comes UEFI, which is a BIOS x10. More code. More complexity. Most of the old stuff kept anyway for compatibility. What's the advantage here?Features. Features than in many circumstances cause just as many problems as they solve.Secure bootFor those not in the loop: there are some implementations of this that make it extremely difficult to install anything other than Windows on your machine. I am lucky to only have encountered this once, and there was a solution to it on the web.If you trust your vendor: then yes secureboot can give you some advantages. But why are you outsourcing trust to your vendor?Non-MBR filesystem tables... can be done in a normal BIOS. Keep the first 512 bytes as just enough 'MBR' to get the BIOS to boot from that drive and then do whatever you want after that.I believe GPT does something similar to this (keeping a legacy MBR in front). By 'MBR' I'm referring to the flag and code, not the partition table bit, so we're not talking lots of complexity. See the next section.UEFI boot device menuBootloaders like GRUB, syslinux and Winloader are brilliant and have been for a very long time. You also have choice between them. Replacing them all with a single vendor-provided never updated bootloader in the UEFI seems like an illogical move, even if it's just chained in before them.The old MBR/BIOS method:Copy the first 512 bytes from the chosen disk to memory address 0x07C0If the last couple of flag bits are set correctly then start executing code from this addressIf they are not then complain the device is not bootableDone. The bootloader on the harddrive does the rest. You can use any bootloader you want, even not using a bootloader or using a nyan cat. The BIOS needs no knowledge about partitions, partition tables or filesystems.The UEFI method is to look for fat32 partitions containing certain files and generate a list on boot to select from. This requires the UEFI/BIOS implementation to do magnitudes and magnitudes more work. Not only do they have to be able to decode and use partition tables and filesystems, they also need to parse the files. This introduces massive surface areas for bugs."The less you have to do the less you have to screw up".

author: Whales
author_rank: Super Contributor
timestamp: April 29, 2018, 06:15:22 am
content: Quote from: hamster_nz on April 29, 2018, 05:52:22 amThe vast majority of this works in BIOS systems. There's no need for UEFI, or anything of its scope, to do this.N.B. much per-device initialisation is done by the device itself, or by the OS. Lots of exceptions of course exist, but often there are some basic standards (eg VESA) that all vendors support and BIOSs can do until full init is done later.

author: Rick Law
author_rank: Super Contributor
timestamp: April 29, 2018, 07:04:41 am
content: Quote from: TwoOfFive on April 29, 2018, 12:12:42 amWhile I was experimenting using Win7 (since it does MBR and UEFI), the slow boot time time I was encountering was way before Win7 even begin loading. I can feel myself aging as I wait for UEFI to get me into USB/DVD running good old DOS to do some partitioning.On my main machines (a Dell, Core-i7 2 core 4 threads running on MBR), I boot into Windows 7 from cold start in 25 seconds - on a Seagate hybrid (4gb ssd 512 hdd) -- whereas, on the machine I was experimenting with UEFI (Core-i3 2 core 4 threads 1.8ghz), it takes between typically 22-24 seconds just to bring up the "select boot device" screen. Even my ancient (10+ yr) laptop (1core 1thread P5) gets to my BIOS "boot device selection" in well under 10 seconds. I got so frustrated with the darn UEFI thing at times I want to launch it out the window.That was what led to me thinking who needs UEFI. Granted, MBR is ancient, that also means it is tested with plenty of times to incrementally improve. It is simple, so much less there to go wrong. Some of the "bad stuff" can be remedied without bloating it into a giant green blob. So, MBR relies on a living in a "holy temple" location where if that location go bad, your disk goes kaput. That is certainly something that could be fixed without making it into a gianto mass of a blob. 2TB, 4 partitions, and such similar limitations can all be addressed with relatively painless evolution to an MBR-V2, some such.UEFI, GPT and secure boot are so convoluted I keep wondering why. What does GUID for my disk do for me? Why would I even want it. Most of the features are features that 90% of the users found useless. As much as I hack around with machines, there is not much more I want the BIOS to do other than make MBR multi-home, expand the 2TB and 4 partitions, and bios-control sector size (instead of burned into the HDD firmware).As to "fast start"... Frankly, I don't trust the fast start. (Perhaps it is just the Intel version on Lenovo. My other machines also runs on Intel motherboard with the same "fast start" so I can't tell if it is Intel or general to other fast start mechanism.) I was assisting with resolving some Win10 trouble my kid was having. I found their reboot to carry over some of the same stuff from before the restart. Fast start appears to be reloading much from cached of prior ram block images. To me, a reboot should be a true full reloading of the operating system rather than reuse anything from prior-boot cache. If I am grabbing some cached prior load image, I might as well just hibernate my machine. When I want to cold start, I want the OS to truly given a fresh start.

author: amyk
author_rank: Super Contributor
timestamp: April 29, 2018, 05:00:43 pm
content: Quote from: Whales on April 29, 2018, 06:15:22 amAgreed. I have a pre-UEFI multicore system with USB boot, RAID, netboot, no TPM (thankfully) and its BIOS image is only 2MB.One of the claimed "new features" of UEFI is that it has a "GUI" for setup --- that'snot new, AMI WinBIOS from 1993 had it--- in a 128KB ROM.