gedakc wrote:'Glad to be of help.
When you do arrive at a solution, please consider posting how you addressed the problem so that others with similar challenges will benefit from your knowledge.
Hi,
Here are the steps to my solution:
1. Procure a second disk as a sandbox (/dev/sdb)
2. Copy the ntfs recovery partition /dev/sda1 on to /dev/sdb as /dev/sdb1
3. Extend /dev/sdb1 from 300MB to 350MB
4. Copy the FAT32 EFI boot partition /dev/sda2 to /dev/sdb as /dev/sdb2
5. Create a new 128MB unformatted placeholder on /dev/sdb as /dev/sdb3
6. Copy the ntfs OS partition /dev/sda4 on to /dev/sdb as /dev/sdb4
At this point partitions that can be handled by gparted have been copied to the other disk, except for the 128MB unknown partition, which is really a Microsoft Reserved partition (gparted cannot copy this). So these are the steps to copy the 128MB Microsoft Reserved Partition:
7. Quit Gparted and launch Terminal
8. Use dd to copy the /dev/sda3 to /dev/sdb3 using the following command: sudo dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror
At this point, all partitions are copied to the second disk /dev/sdb.
10. Delete all partitions on the original disk (/dev/sda).
11. Copy partitions from the second disk to the original. Once you get to the Microsoft Reserved partition /dev/sdb3, quit gparted and use dd in terminal again: sudo dd if=/dev/sdb3 of= /dev/sda3 bs=4096 conv=notrunc,noerror
12. Once all partitions are back on to the original disk (/dev/sda), configure the partition types using gdisk using the transform command (t). The partition types are:
/dev/sda1: 2700 (Windows Recovery)
/dev/sda2: ef00 (EFI System)
/dev/sda3: 0c01 (Windows Reserved)
/dev/sda4: 0700 (Microsoft basic data)
At this point, the partitions are all how they need to be, except windows will not correctly boot because the windows boot loader is probably corrupt due to relocation of the partitions. To fix the boot loader, here are the following steps:
13. Boot to Windows 2012R2 DVD and select Repair.
14. Press Shift-F10 to get a command prompt
15. Type: bcdedit. This will list the boot manager and boot loader settings. Take note of the identifier values. Most likely it is {bootmgr} for the boot manager and {default} for the boot loader.
Now we need to fix the boot manager and boot loader as follows:
16. bcdedit /set {default} device partition=C:
17. bcdedit /set {default} device partition=C:
18. bcdedit /set {default} recoverysequence={8ef1d5b1-5d55-11e3-b9ca-ab1414c0bf77}
19. bcdedit /set {bootmgr} device partition=\Device\HarddiskVolume2
20. Restart.
If everything works, you can detach the second disk and/or save it as a backup in case anything goes wrong.
Hope this helps someone else with a similar issue.
Thanks,
-sul.