Roger Wilco Jr wrote:I don't recall seeing anything about UEFI on my desktop, but that means nothing.
ll pre-installed Windows 8+ systems come from the factory booting natively uEFI, using the uEFI Storage Services. You cannot "change" the mode, other than to re-install, when it comes to Windows. This is what gets most people when they go to install another Windows, let alone some Linux distributions that don't support uEFI.
If you go into the firmware, couple of things that will indicate uEFI ...
- Instead of a "Boot Drive" you will have a list of "Boot Entries" (like "Microsoft Windows")
- In the Support or other section, you will see "Compatibility Support Module" (CSM) disabled, at least for Disk/Storage
► Show Spoiler
Despite popular rhetoric, uEFI has nothing to do with Secure Boot. However, Secure Boot does require uEFI. uEFI is a long story, but the original Extensible Firmware Interaface (EFI) comes from the Intel IA-64 "Itanium" project of the late '90s, and leveraged a lot of Advanced RISC Computing (ARC) firmware approaches of the early '90s. Yes, Windows used to run (briefly) on non-x86 platforms, so the ARC was really the starting point for EFI for IA-64 firmware. There was a short-lived 32-bit version for Apple systems, and 32-bit and 64-bit uEFI are incompatible. All "Unified" EFI (uEFI) implementations today should be 64-bit, x86-64 for the PC, as well as uEFI for aarch64 (64-bit ARMv8) among other platforms.
If you look at the disk, it will ...
- Be formated GUID Partition Table (GPT) instead of MS-DOS aka Master Boot Record (MBR) Partition Table (aka a Disk Label)
- There will be a partition, usually the first or second, of type of EF00h for the EFI System Partition (ESP)
- The partition types now have two zeros (00) appended -- e.g., NTFS is now type 0700h, instead of 07h, etc...
- There is no such things a primary/extended-logical, but an unlimited number of partitions (Microsoft artificially limits to 128 max)
► Show Spoiler
There will also be a type of 0C01h for the Microsoft Reserved (msftres) partition. This is where Microsoft puts information about the disk and boot, instead of using "hidden sectors" (that were often an issue) on old MBR. This should always be 128MiB (0.125GiB), unless the disk is under 32GiB. You might also see a type 2700h at the beginning and/or end of the disk. These are the "hidden" (remember old 27h -- 20 for 'hidden' and 7 for 'NTFS') Windows Recovery Environment tools (RE Tools) at the beginning and Winodws Recovery Image at the end, of the disk.
The old PC BIOS Int13h Disk Services would 'target' Disk 80h (First Fixed Disk) and boot the Master Boot Record (MBR). This is also what happens when uEFI is setup to use the Disk/Storage CSM (provide Int13h).
uEFI now has a list of "Boot Entry" targets. These are boot loaders in the ESP. The ESP is a FAT partition, officially supposed to be FAT32, but FAT12-16 will work with most loaders as well (although the Windows installer might overlook non-FAT32). If you look at this partition, which Windows will purposely not assign a drive letter to (you can in Disk Manager), you'll see the layout of /EFI/
OSname/ (or \EFI\
OSname\ in DOS/NT backslash). If you look at the firmware again, and can look at the "raw" Boot Entry, you'll see the pathing to /EFI/... the boot path.
Roger Wilco Jr wrote:The possibility of dual boot with different drives sounds interesting.
But you can have the same drive too. The ESP makes this possible. The
only 'shared' partition is the ESP. That's why native uEFI booting is much, much better ... especially with GPT offering up to an, universally agreed, 128 partitions.
Many times I have a small, 60-240GB SSD where I put the SSD (plus Linux boot/root), and then another disk (or two) with 1-2 Windows partitions on each. Those are the C: drives. The ESP is not assigned a drive letter. It's only use for NT6+ BOOTMGR with uEFI.
Roger Wilco Jr wrote:That way I may have a dedicated Win 7 system, but if for whatever reason I need to boot into Win 10 in the future, I might not need to switch drives around. But for the foreseeable future, and especially if this solves my problems, I won't have any interest in using anything other than Windows 7.
NT6.4 -- artificially called NT10 (which has introduced artificial issues) -- is utterly broken in lineage from NT6.1-6.3 (7-8.1). NT6.0 (Vista) was utterly broken in lineage from NT5.1 (XP), but at least Microsoft hired back a number of engineers, as well as a 'revese engineering team' to fix compatibility in NT6.1 (7), which was still the 'base' of NT6.2-6.3 (8-8.1).
Rant ...
► Show Spoiler
That's why I would much rather run Windows 8.1 than Windows 10. I can load a replacement menu on Windows 8.1, whereas Windows 10 uses a completely new GUI layer that is quite broken, and has many other issues. I cannot believe the number of issues that have happened because Microsoft artificially bumped the NT version from NT6.4 (which it should have been) to NT10 in the INF and other files. That is causing a crapload of artificial driver issues that didn't need to happen.
Windows 10 Anniversary Update has been probably the most botched Update I've ever seen from Microsoft in a desktop addition. The only worse one was on a Server 2008R2 SP1 ...
► Show Spoiler
... where they utterly broke the QLogic driver, and rendered an entire boot-from-SAN MS SQL farm non-booting in a major government entity I was working at.
I had to help out, even though I was working for Red Hat (yes, the Linux vendor), because I was the most qualified low-level, NT internals troubleshooter on-site, and there were a lot of IBM (the hardware) v. Microsoft (the OS) finger pointing. After I completely confirmed, at a debug-level, it was Microsoft's goof in 2008R2 SP1, the edict came down ... No more databases on Windows Servers, period.
There's a reason why I'm hated by Microsoft ... I cost them 9 figures over just 3 years ... at least until the Azure team called, of course. But that doesn't bother me.
What really bothers me is when I post technical information on Microsoft's support forums, even helping out Dell, HP and IBM-Lenovo, and Microsoft yanks it for political reasons. I just want the technical transparency, and could care less, but hate it when my posts get yanked because it exposes their goof. That's not my reasons, I just want the workaround or -- in many cases -- the refusal of Microsoft to fix the problem (which only they can) to get traction.