[Guide] How to switch from legacy BIOS to UEFI mode painlessly(without altering your partitions)

There are several reasons to use UEFI instead of BIOS. I won’t go into details regarding that. But there are some cases when you already have a fully functional Windows installation running on BIOS and you don’t want to start all over again.
Usually a UEFI OS should boot from a GUID Partition Table(GPT) disk with an EFI System Partition(ESP), which is an FAT32 partition where EFI boot files are stored. But actually UEFI can boot from an MBR partition table disk (That’s why you can install an OS in UEFI mode with a USB flash drive).
Further more, if the UEFI BIOS contains an NTFS DXE driver, it’s able to load EFI boot files from an NTFS partition, which can be your current OS partition.

An NTFS DXE driver found in my CLEVO P655SA’s BIOS (HM87 chipset)

screenshot.PNG



Another NTFS DXE driver found in ASUS P8Z77-V

screenshot2.PNG



To verify that, open your BIOS file with UEFITool and search for “NTFS” text string.

If you cannot find any NTFS modules there, you may consider inserting the NTFS DXE into your BIOS, in a method very similar to this. (Verified with my Gigabyte Z77 motherboard)

If you have ensured that your BIOS does support UEFI boot from NTFS, the next step is simply put the EFI boot files into your current OS partition:
Press Win+R, choose Command Prompt (Admin), choose Yes on the incoming UAC prompt window.
type in

1
 
bcdboot %WINDIR% /s %SYSTEMDRIVE% /f UEFI
 

then press enter.
It will show Boot files successfully created. if succeeds.
Reboot, enter BIOS setup, turn on UEFI mode, save & exit.
Now you have successfully switched to UEFI mode, without any altering to you disk partition.

The author of RuFus also provides EFI FS drivers for NTFS, exFAT, ZFS, etc.: http://efi.akeo.ie/

Just load/import them into your UEFI and you are ready to go.