The Ultimate Guide to UEFI Dual
Boot Windows 8.1 and Linux Hello my name is Ez and I decided to write this tutorial after I spent a ridiculous number of hours trying to do something that SHOULD have been simple. There seems to be a lot of misinformation out there regarding how to do this so my goal with this is to get you through this as quickly, and with as few steps, as possible. I am by no means an expert and while I did my best to avoid it, there may be some misinformation in here as well, so please use this tutorial at your own risk.
A few notes: I did this on Asus G751JM with Windows 8.1 on hdd, and Kali Linux on ssd.
A couple things: This tutorial assumes that you already have Windows 8 installed and want to install linux alongside Windows. (This should work whether you intend to use a single harddrive for both installations, or separate harddrives. Just make sure you have a partition available for linux install) Whichever Linux distro you choose must also support UEFI.
First thing is first. Let's make sure that you are, in fact, running Windows on a UEFI system.
Open File Explorer and navigate to the following folder: C:\Windows\Panther.
In the folder named 'Panther' you will see a text file titled setupact.log. The file will automatically open in Notepad.
Once you have opened setupact.log, press Ctrl+F to bring up the 'Find box' and search for an entry named 'Detected BootEnvironment'.
Once you find 'Detected Boot Environment', you will notice the words 'BIOS' or 'UEFI' mentioned as follows:
Callback_BootEnvironmentDetect: Detected boot environment: BIOS
OR
Callback_BootEnvironmentDetect: Detected boot environment: UEFI
Alternatively, you can also open 'Run', type 'MSInfo32' and hit Enter to open 'System Information'. It will say either 'Legacy' (if Bios) or 'UEFI' in the window that opens.
If you have BIOS, then you really don't need this tutorial, if you have UEFI, let's move on.
Next thing that you will need is a copy of the Linux distribution that you would like to install. Many flavors come with UEFI boot support 'out of the box' (or are supposed to) but many seem to have the necessary files in either the wrong place, named wrong, or they are just plain missing. I have only personally installed and verified dual boot capabilities with Windows 8.1 and Kali Linux, but this should work for any distributions.
Some people may have no trouble running a 32bit uefi windows with 64bit uefi linux (or vice versa) but from what I've read it may be best to run either both 32 or both 64 bit version (if you disagree, feel free to say so in the comments, I am by no means an “expert”)
Step 1: Download your linux iso
Step 2: Download your software of choice for making a bootable usb. (I used
Rufus, it's fast, free, and powerful)
Step 3: Make the bootable usb.
Step 4: open the usb in File Explorer
Step 5: Ensure that you have or create folder /EFI/BOOT (Note: This part is CaSe SeNsiTiVe!!)
Step 6: Ensure that /EFI/BOOT contains the files BOOTX64.efi and grubx64.efi (Get them
here)
Step 7: Your USB linux distro is (should be) now UEFI bootable!
But wait!
That's not the last of it. There are all kinds of UEFI firmware setting that can interfere with the installation or boot process of USB drives so make sure that you have your settings set up properly!
There are a number of ways to get into the UEFI settings that vary by manufacturer but the simplest and most universal way is to simply hit RESTART while holding the SHIFT key. (This should work for any version of Windows). In the screen that comes up, select Advanced, then UEFI Firmware Settings.
Now there are too many different types and options of UEFI setup that covering all of them is outside the scope of this tutorial but I will cover the options that I have ran into most often. Note that you may not have ALL of these options, that's ok. Just ensure that the options you do have are set as follows:
You may have options such as:
Secure Boot : disable secure boot
UEFI : Make sure this is ENabled, and that Legacy (or BIOS) is DISabled
CSM : Make sure that this is DISabled
PXE OpRom Policy : make sure this is DISabled
Now save the settings (Usually f10 or fn+f10) and restart. If you have the option to override boot priority from your UEFI Firmware Settings screen, go ahead and choose your bootable USB now, otherwise, make sure to bring up the boot options screen (usually f8) and choose your bootable USB.
If everything goes well, you should now be running linux from your USB. To install linux on your system, simply follow the instructions for your specific distribution. (And make sure that you don't install it over your Windows OS!)
That's it. You should now be up and dual booting both Windows and linux on UEFI !
I hope that this cleared up some things and helped you get everything running and also that I didn't miss anything. This is my first post of this type and edits and critiques are always welcome. As I said before I am by no means an expert and while I did my best to avoid it, there may be some misinformation in here, so please use this tutorial at your own risk.
Thanks,
Ez