Converting windows (bootloader) from mbr to gpt/uefi

bootloadergptmbrwindows 7

I have windows 7 installed on a laptop on a small 160 Gb hard drive that has the MBR partition table. Now I would like to move it to a bigger disk, format it with GPT and multi-boot linux (Fedora).

My first test was to just dd the smaller disk's contents to the bigger one, and it worked (I could enlarge the windows partition & etc.).

Now I'd like to change the MBR to GPT (to not to be constrained by the 4 (prim.) partition limit, and because the Fedora 18 I am trying to install does not seem to like MBR (the wizard does not recognize free MBR space, but says that the disk is full. I could partition it manually though, but I'd like to get it to work with GPT)).

There are two possible issues I might bump to:

  • Windows 7 GPT booting support requires EFI (according to some sources, not according to others). How do I know if my laptop supports EFI? The laptop is a Fujitsu-Siemens Lifebook S series S751. I tried googling "lifebook S751 efi", but I could not really find anyting the way or another. Will this give me trouble? [UPDATE]From playing around my with my linux installation on the laptop, I think I can conclude that it supports EFI.[/UPDATE]

  • The original installation had the main system (C:) partition on a second logical partition inside an extended partition. If I move it to GPT-partition xyz, I assume that the windows bootloader will break? Is it possible to easily fix it?
    I Tried googling for "windows system mbr to gpt", but all I could find was people wanting to convert the other way (back to mbr)…

[UPDATE]

  • From this "project" I've learned at least that EFI booting requires different kind of bootloader. I managed to find the EFI files for windows from a) install.wim on an install disk b) "c-drive"/Windows/Boot/EFI/. However if I try to boot these efi files either by using grub2 of my fedora installation on the same disk, or using efibootmgr to add an entry to the "efi bios" (or whatever it is called), it just goes back to the boot screen.

So the issue that remains is how to modify/fix/recreate the windows bootloader?

[/UPDATE]

The reason I am asking for this instead of trying out is that it takes really long times to copy/move/resize a 150Gb partitions. After the 15th time I am loading up the live cd, and moving things around and waiting, I am starting to think that I'd like it to go well…

So if anybody has experience about a similar transfer, I'd kindly appreciate any things I should consider.

Best Answer

Unless your new disk is over 2TiB, I strongly advise against attempting an MBR-to-GPT conversion on a Windows boot disk. The reason is that Windows ties its boot method (BIOS vs. EFI) to the disk type, so doing such a conversion requires switching from a BIOS-mode boot to an EFI-mode boot of Windows. If you're sure your firmware supports EFI, then this is at least possible, but it's still a hassle. See this page for details of how to do it. Basically, you need to use gdisk to do an MBR-to-GPT conversion, create a new EFI System Partition (ESP) to hold the EFI boot loader, and set up the EFI boot loader. You'll need to make similar changes in Linux, too, but they can be done a little more easily.

Related Question