Move Windows 8.1 to beginning of disk
Thanks to sourcejedi! Almost forgot about partitions flags, so your answer helped me. Below I describe how I came for solution.
- Boot from GParted Live CD and remove 'boot' flag from EFI partition. There also is one 128MB partition with 'msftres' flag, but don't remove this.
- Boot from MiniTool Partition Wizard Bootable (you can use different app) and move Recovery partition to disk begin. I was try move EFI partition (at this time it will be a Data partition) but program wanted make changes in partition size, so I just copy this partition to disk begin and delete old one. Also copy 128MB partition and delete old one.
- Move Windows partition to disk begin (this will take some time, on my computer this procedure spent 30 minutes).
- Boot again from GParted Live CD and put back 'boot' flag on EFI partition (I don't know, maybe this is not needed)
- Boot from Windows 8.1 installation disk and repair your EFI partition following this guide - http://www.itechs-systems.com/fix_corrupt_UEFI_partition.aspx
Don't forget make backup before doing this. Best solution for this is System Image Backup.