People who bought new computers after 2012 probably have UEFI compatible BIOS, however it was probably not enabled when you installed your operating system. The default boot and setup mode for most operating systems (at time of writing) is still legacy BIOS.
The Windows setup procedure (versions 8, 8.1 and 10 preview at time of writing) also defaults to non-UEFI mode. You’ll only get native UEFI BIOS installed if you complete specific preparation steps and a special UEFI start-up procedure.
Why do this? Mainly because it enables exclusive UEFI and Windows boot features, such as:
- Booting from drives larger than 2TB (for example 3TB drives are now cheap).
- Not having to use a splitting tool and separate drive letter to access the remaining space above 2TB (a common workaround in BIOS mode).
- Super-fast start mode, booting in a few seconds including hardware (BIOS) initialization.
- Secure boot protection to hinder malware and make BitLocker easier to use (but still secure) with the new PIN-only start-up feature.
- Hardware BitLocker encryption/decryption support with the new Microsoft “eDrive” feature and a compatible SSD.
Other benefits are less well documented, but basically it’s going to give you the best hardware integration possible (depending on your manufacturer, BIOS upgrade and device driver versions).
Most importantly it’s something you have to get right at the start, because you have to re-install your PC completely (no upgrade possible) to switch from BIOS to UEFI. Shame Microsoft didn’t think of that, but then they didn’t allow 32bit to 64bit upgrades either.
I suggest it’s a must for people with large drives, people who want BitLocker without lag, people with laptops who are worried about data being stolen with them and similarly large corporations wishing to maximize the security of their computers. But if you already setup your PC and don’t specifically require any of the above benefits then it’s only “nice to have”, because modern PCs and Windows versions already boot fast enough in BIOS mode.
How to Check Windows UEFI Mode
The first sign of a UEFI mode Windows installation may occur at boot. Watch Windows starting-up, specifically the point when the wait animation (circles) start. Manufacturers can easily change the Windows boot logo to their own with UEFI and often do. So if you see your manufacturer logo whilst Windows starts, and you did not use some other utility to change it, then you can guess you’re in UEFI mode already. There’s also a more definitive way to check once the system has started…
To confirm whether or not we are really in UEFI mode, we can run the MSINFO32 tool which is included with Windows. Hit the Windows+R key to bring-up the run dialog, then enter MSINFO32. If you have UEFI you will see “BIOS Mode: UEFI” as shown below:
It also follows that you are running a 64bit system as Windows UEFI documentation states it not supported on 32bit.
If you are using hardware hard drive encryption, you can check if it is enabled by running “cmd” from the run dialog to start a command prompt, then enter the “manage-bde -status” command and look at “Encryption Method” which should be “Hardware…”.
- Make sure your Windows setup USB stick is formatted as FAT32. The UEFI boot standard does not officially support NTFS! Some new motherboards have circumvented this limitation but it is not guaranteed. If you’re using the stick just for installation it’s best to take FAT32 to be sure it’ll work on any UEFI machine. If you’re sharing it with other data and have time, you could try updating your firmware then attempting to install from NTFS. Remember to check if you really ended-up with UEFI via the methods described in this post. When NTFS is not supported it may just be installing in BIOS mode again.
- Copy all the files from the Windows setup ISO or DVD onto the USB stick, including most importantly the “EFI” subdirectory and boot files. You can double-click an ISO in an existing Windows 8 machine to mount it as a drive letter for easy access. You cannot use the Windows 7 USB Boot Tool from Microsoft.
- Ensure your BIOS has been configured to enable UEFI boot (operating system) drives. Here’s an example of the necessary settings on my ASUS P9X79 motherboard:
- Optional: Update hard drive firmware and enable eDrive if supported:
- If you want to enable hardware SSD encrpytion you may have to boot a firmware update and configuration tool (e.g Samsung Magician) to enable it. Consult your hard drive manufacturer’s support knowledge-base to see if eDrive is supported and how it is enabled.
- Even if you do not have hardware encryption, now may be a good time to check the firmware is up-to-date on your drive anyway, as that usually requires all data to be deleted.
- You must explicitly start Windows setup in UEFI mode by selecting your USB or DVD device’s UEFI start-up option only! There will often be two entries for each drive, BIOS or UEFI mode, so choose carefully. You usually select the start-up device after power-on, from your computers setup menu or a boot menu. The “BIOS” (UEFI) setup menu system is commonly accessed by pressing F1, F2, Escape or Delete, and the smaller boot menu via F8, F10 or F12. You may see the keyboard options displayed briefly at start-up, but it’s often too fast to read. See your manufacturer’s documentation if you are unsure how to use the hardware boot menus.This is the ASUS boot override option in the UEFI settings reached with the F2 key at start-up then moving across to the “Boot” page and down to the bottom:
This is the ASUS mini boot override menu reached directly by pressing the F8 key at start-up:
- Before Windows setup is started we will manually erase the disk to be 100% sure it has full compatibility and any hardware features (such as eDrive and greater than 2TB boot volumes) are fully enabled.
- Select advanced options from the Windows 8 setup main menu.
- Open a command prompt, enter “diskpart”.
- Enter “list disk” then identify the disk to install on (the size is a good guide) and its number is usually the lowest, e.g. disk 0.
- Enter “select disk #” where # is the disk number.
- Enter “list disk” again and double-check the currently selected disk (with an “*” asterisk next to it) is the drive you want to completely erase!
- Enter “clean” which deletes EVERYTHING on that disk.
- The most important part, enter “convert gpt” to prepare the disk with a GUID Partition Table, which the UEFI boot mode requires to access the full (greater than 2TB) storage.
- Enter “exit” to quit DiskPart.
- Enter “setup” to continue the Windows setup procedure. If for any reason Windows cannot see the drive, reboot and try again.
- Note: we do not bother creating a primary partition or formatting because Windows will do that, we just need the bare disk with the right partition table.
- Windows setup will complete as usual, there is virtually no difference between UEFI and BIOS setup routines except sometimes the Windows logo being replaced by your manufacturer’s logo (optional as discussed earlier).
- Once finished, run MSINFO32 again to check your system is in UEFI BIOS mode.
Non-UEFI Expansion Cards & CSM
So far we talked about the “system” (motherboard) being UEFI compatible or not, but what about the add-ons like graphics cards, sound cards, storage expansion cards and anything else you may have? They too were traditionally BIOS and only newer versions add UEFI support, or maybe have a firmware update to provide it. Usually you need new hardware, or have to run the system with CSM (Compatibility Support Module) mode enabled.
The goal is to run the system with the CSM disabled. If it’s not possible on your system you will find devices are not usable or even encounter a warning message like this:
The add-on cards must interact with the computer BIOS so will fail to initialize unless the computer is able to talk the same language. CSM as it is commonly known (or the same feature with a different name from other manufacturers) must be enabled when you want to use a BIOS device with a UEFI computer system.
This will usually work, but there are negative effects:
- Boot time will be decreased.
- UEFI specific graphics card enhancements will not be available.
- Other UEFI hardware features may not be available.
Boot time decrease is obvious because we already know the super-fast boot features come with UEFI. The system must wait for the slower BIOS initialization of the add-on card before operating system start-up. Your motherboard may have options to skip non-UEFI BIOS initialization (for example it may make no sense to wait for a sound card to initialize before booting) as they probably still work after being initialized later in the Windows start-up procedure.
Non-UEFI graphics cards have a significant impact to UEFI capabilities. As much of the original BIOS and Windows initialization time was wasted detecting the graphics card and display capabilities, continuing to use a BIOS graphics card may not be desirable (unless it was extremely expensive). UEFI graphics support is extended, with it’s own name “GOP” (Graphics Output Protocol) and features such as:
- More direct memory access by the operating system.
- Time saved by skipping the old “VGA” display detection.
- Memory of the active display adapter and monitor configuration (also depends on how good your graphics card UEFI support is) which also saves boot time and avoids flickering and other strange monitor behaviour during start-up.
Again, to ensure you have the full UEFI and GOP capabilities you should try to get your system running with the CSM disabled. Once you have achieved this your system will not need to change again until a major upgrade.
How to get into UEFI Settings with Fast Boot and CSM Disabled
The only negative side to running full UEFI (CSM disabled) mode, is the start-up is so fast you have no chance to press any key to enter the UEFI settings again. For this reason, Windows provides an additional “advanced boot” option to get back into the motherboard settings. Some manufacturers may also provide their own tool to achieve the same by starting/double-clicking an icon. In Windows 8.x it is done as follows:
- Move the mouse to the bottom right edge of the screen, or swipe in from right to left on a tablet, to display the “charms” menu then click “Settings”, “Update and recovery” then “Recovery”.
- Select “Restart now” below “Advanced start-up”. Your computer will reboot.
- At the blue settings screen select “Troubleshoot”, “Advanced” then “UEFI Firmware Settings”.
This should be a lot easier, but sadly similarly to the lack of push towards a 64bit native install by default, in Windows we must explicitly choose native UEFI installation on UEFI machines. I think the main problem is there is no visible information to tell the user they have UEFI capability at the start, and no option to explicitly install Windows in UEFI mode.
I wonder also if it would be technically possible to write the correct data to the disk for a UEFI installation from a non-UEFI boot stick. For example Microsoft could detect your hardware then show a warning message that you are not installing Windows in the optimal configuration. They should also do that when installing 32bit on pre-UEFI 64bit hardware.
So you probably don’t have UEFI installed, but next time to plan to setup a machine, follow the UEFI procedure as demonstrated here and maybe you will get a few benefits, sometimes great benefits (depending on your hardware capabilities and combination).
Large hard drives are cheap so I think more people will search for a UEFI solution. Further, since Windows 8 was generally available the manufacturers appear to be rolling out UEFI as their standard “OEM pre-install” configuration. Actually UEFI was supported in Windows 7 and Windows Server 2008 R2, but nobody really knew about it or had good enough hardware support. Now is a good time to adopt this technology, now it is stable and has full Windows support (once installed correctly).