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. Sadly, there are no tools that performs this job. And I found there is not too much documentation regarding how this can be performed either, or even how this should work. Since after some digging and trial-and-error I was able to perform the operation, I will post the instructions for anyone who needs it.
Please note this is not supported by Microsoft
Convert a Windows 7/8 BIOS (MBR) installation to UEFI (GPT) without moving, copying or losing data.
- A computer able to boot UEFI. You can check that on your computer manufacturer. Also in the BIOS setup should display UEFI boot options.
- Windows 7/8 x64 (I'm not sure if x86 supports it or how).
- A computer able to boot from USB or memory card (only for this process).
- A USB drive or memory card with at least 4GB or a Windows installation disc.
- BitLocker TURNED OFF! If you have BitLocker enabled on your hard drive, it will have to be TOTALLY turned off for this procedure. After the procedure is performed, BitLocker can be turned on again.
- A "standard" Windows installation. This means, the disk where Windows is installed has to contain the System Partition (something above 200MB) and then the OS Partition. This is because Windows will require some space at the beginning of the disk to create the new boot partitions, and we will use the previous System Partition. To verify this you can follow Instructions steps 8 through 11. If there isn't enough space at the beginning (the primary small partition is under 200MB), partitions may be resized using some tool like Easeus Partition Master (You can also just use the windows disk management tool (diskmgmt.msc)) or such. Don't continue the operation until you have done so because you may not be able to finish it!
- As usually, I won't take any responsibilities if data is being lost, your computer doesn't boot up anymore, or some gremlins attack your family. You are doing this at your own responsibility. :) This is not a documented feature at all.
- After this procedure, old versions of Windows probably won't be able to boot from this disk drive since it has to be converted to GPT.
- It is HIGHLY recommended for you to perform a backup of your data! If you have a second disk drive big enough, you can simply create a system image and able to recover the full installation as it was before you started this procedure if anything goes wrong.
- Download this guide to another computer or print it out, since you will have to make some operations without Windows working.
- These procedures are likely to render your on-board Recovery partition unusable. Thus, a backup of your Recovery partition onto a USB device is highly recommended if your PC came with Windows 8 preinstalled or you don't have your Windows installation media. Once created, this bootable Recovery USB can optionally be substituted for the System Repair disc in the steps below. For a creating the Recovery USB, see the following: http://www.techrepublic.com/blog/window-on-windows/create-a-recovery-drive-in-windows-8/7261 Jump
Steps were performed on Windows 8. Some steps in Windows 7 may have different menus, but the options and results are the same.
- Create a system repair disc (http://windows.microsoft.com/en-US/windows7/Create-a-system-repair-disc Jump ). You can skip this step if you have a Windows installation media. Is a good measure to reboot and verify you can start your system from this disc.
- Identify which disk you want to convert (usually is #0). This can be done by looking at the number in the Windows Disk Management.
Download gptgen from here http://sourceforge.net/projects/gptgen Jump . (You could use the Windows Disk Management Tool for this too. (diskmgmt.msc)) This tool will allow you to convert your MBR disc to GPT with the data included.
ATTENTION: After this step, your computer CANNOT BOOT until the whole process is completed. DO NOT Shut Down Unless Instructed to!
Unzip gptgen and then run CMD with elevated privileges. (replace the 0 with the identified disk number).
This will result in a BSOD shortly after and it's to be expected:
gptgen.exe -w \\.\physicaldrive0
Boot using your Windows installation or previously generated system repair disc.
- Choose language and preferences, and then select Repair Your Computer -> Troubleshoot -> Advanced options -> Command Prompt
We will need the disk partitioning tool. With this, we will recreate the boot partitions. Type:
Identify the boot disk where Windows is located, typing:
Something like this should appear:
Disk ### Status Size Free Dyn Gpt
- Disk 0 Online 128 GB 0 B *
Once identified, select the disk (replace with the correct number):
select disk 0
Verify the partitions:
Something similar at the info below should appear.
Partition ### Type Size Offset
Partition 1 Primary 350 MB 1024 KB
Partition 2 Primary 126 GB 350 MB
Delete the previous system partition:
select partition 1
Create the new boot partition, Microsoft reserved partition:
create partition EFI size=100 offset=1
format quick fs=fat32 label="System"
create partition msr size=128 offset=103424
If you list the partitions again, you should have ended up with something like this:
Partition ### Type Size Offset
Partition 1 System 100 MB 1024 KB
Partition 2 Reserved 128 MB 101 MB
Partition 3 Primary 126 GB 229 MB
Ensure that your Windows installation is mounted, replacing 3 with the volume number of the Windows installation (usually 1):
select volume 3
Generate boot partition data, replacing C: with the letter of the Windows installation (usually C:):
bcdboot c:\windows /s s: /f UEFI
Cross your fingers and then restart your computer!