bios - Upgrading to UEFI / GPT / Windows 8

27
2013-10
  • John Kattenhorn

    I've recently upgraded from Windows 7 / VMware to Windows8 / Hyper-V with my Dell M6600 and I'm really please with the result.

    I admit though I like to run the latest stuff so I was wondering is there a way to convert the boot disk from BIOS / MBR to UEFI / GPT without doing a clean install.

    I also have a second drive in the laptop; does this need converting too ?

  • Answers
  • William Armstrong

    @Ramhound: Mac OS X only requires a GPT partitioning scheme to INSTALL, it will boot from MBR if your copy the OS to such a disk.

    @John: The simple answer is no, you can't. Here's why.

    You should not convert a Windows installation in place, you should instead install from scratch. This is one of those problems where you would spend more time making copies of your data, and technical massages of the machine to get it to do what you want than simply reinstalling.

    Windows does not care about not boot disks, so you can make your secondary disk into a GPT disk if you want to. You would have to do this if you had a 3TB drive anyway. Now, there are no easy tools to convert in place, you would be wiping the drive clean to change to GPT. (Remember, GPT and MBR are the underlying structure of the partitioning scheme, so by changing them, you are wiping the partition table clean.

    Now, you were not clear on your usage of Hyper-V, is your system installed on top of Hyper-v? If so, then the answers change, because your system can be "copied", reinstall Hyper-V onto the GPT disk, then "copy" the system back, and you don't go through the reinstall process.

    This is not how most people use there computer, but you mentioning these system makes this a possibility.

    Sorry I can't be more positive.

  • PhonicUK

    If your motherboard does not support UEFI and uses a legacy BIOS instead, it cannot be upgraded.

    You can however likely still use a GPT partition table as it contains a legacy MBR for old BIOS systems.

  • Arya

    is there a way to convert the boot disk from BIOS / MBR to UEFI / GPT without doing a clean install.

    Yes, apparently, by means of utilizing a 3rd party tool called "GPTgen".

    See the tutorial here (Nope, it's not mine)

    http://social.technet.microsoft.com/wiki/contents/articles/14286.converting-windows-bios-installation-to-uefi.aspx


  • Related Question

    BIOS, Windows 7/8, and GPT
  • John Chadwick

    I'd like to know if there's a method to get Windows 7 or Windows 8 Developer Preview to install to a GPT disk on my traditional IBM PC BIOS setup. Windows 7, of course, rejects my GPT partition, because I don't have UEFI. Well, Debian and Grub 2 seem to work fine... So I want to know if there's a way to force Windows to work as well.

    I'd seriously prefer avoiding hybrid MBR/GPT, because it's quite fragile and feels hackish, but it does work. I would assume the main blocker is that Microsoft is simply not adding support in their BIOS bootloader for GPT, which is understandable, I suppose. Is there any recourse?

    The way I see it, there are a few potential solutions:

    1. Having an alternate bootloader for the Windows kernel. NOT a chainloader. As far as I know, none exist. That's a shame.
    2. Storing as little as possible on an alternate MBR-based disk. Not liking this idea, but it's doable. I'm not sure I'd call this a solution to the problem as much as a workaround.
    3. Emulating EFI enough to get the EFI bootloader to work... I remember hearing a bit about a UEFI-on-BIOS emulator, but I can't find anything about it now. I assume this is doable, but there's probably not much demand for it yet, and it's probably no fun at all to setup. GRUB 2 seems to be able to boot a hackintosh with necessary EFI emulation, but I guess there's no interest/UEFI 2 is harder to approach (and I would assume other EFI emulators used for hackintosh are on the same boat.)
    4. Coreboot with TainoCore. Coreboot does not work on my motherboard (as far as I know,) and I'm quite sure the last effort to do this during GSoC was a failure. I'd absolutely love this solution, if it did work, though.

    Am I missing anything?


  • Related Answers
  • harrymc

    The article A BIOS to UEFI Transformation describes in detail how to use TainoCore UEFI DUET.

    I understand that you have had problems using TainoCore, but perhaps this article will work for you.

    The article does say :

    Some computers don't work with UEFI DUET. Most importantly, it's really only useful on 64-bit x86-64 computers, especially in binary form. In fact, it doesn't start up properly even on some x86-64 computers. In tests on five x86-64 systems, I managed to get one or both versions working on just three computers—a pretty dismal success rate, really. It may just be coincidence, but the two computers that worked best for me used Intel CPUs, whereas the two that worked worst and the one that worked with version 2.1 but not version 2.3 all had AMD CPUs.

    This seems to imply that one should try several versions of UEFI DUET before giving up.

    It would help to know the model of your computer.

  • John Chadwick

    Well, things have changed since I first asked this question. For one, my PC is now UEFI based, so I don't have this problem anymore. Well, sort of. I had interest on pulling a similar setup on my laptop (GPT partitions, etc.) I finally managed to get a working Tianocore UEFI DUET setup, and it was about as painfully simple as it gets!

    This assumes you want all shiny, new setups. If you want to actually convert your old setup, good luck. Actually, good luck either way, as this is a spotty operation in any situation.

    A word of warning: If you're a fan of quick boot times, you may want to rethink this decision. Not that UEFI DUET is slow, but it adds another stage to your boot process, so if your BIOS/POST isn't fast, you may not like this.

    Without further adieu;

    1. You'll want a Linux setup. I used Fedora 16 off of a USB stick (with UNetBootin) and I'd highly recommend that because it practically works out of the box. You need a USB drive anyway, so don't plan on continuing without one.

    2. Grab some UEFI DUET builds. Without question, the best place to get this is here. The actual build tarballs are under the master branch of the first repository, here. Give it the old tar -xf.

    3. Setup your partitions. You should reserve 200 MB somewhere on the disk (very much preferably the beginning, and first partition.) You can format it with FAT32, but we're reformatting it later. Just make sure it shows up as a partition. You should use GPT here.

    4. Now install any additional software you may need. On the Fedora Live distribution, I found I needed yum install gdisk. I think that was it.

    5. Now go into the extracted builds directory. chmod +x ./duet-install and ./duet-install -64 -F -m /dev/sda1 (where /dev/sda1 is your desired EFI system partition.)

    6. Cross your fingers and reboot. With any luck, you'll see the TianoCore logo in just a few moments. If so, you are probably good! You'll need to setup your OS installation files on a USB drive - Tianocore does not support CD-ROM/DVD-ROM drives out of the box (and I don't know of any drivers for it.)

    You may also desire some UEFI shell binaries to play with. I found some here. Didn't test with Tianocore yet, though.

    Anyway, thanks for everyone who tried to help.