I was recently moving a few partitions between drives to fix some organizational issues that have risen up as I've purchased new disks.
Originally, I had /dev/sda with:
/dev/sda1/ - ntfs - Windows Recovery
/dev/sda2/ - fat32 - EFI
/dev/sda3/ - ntfs - ** This is where windows was installed **
/dev/sda4/ - ext4 - ** This is where arch linux was installed **
I moved /dev/sda3
(the windows partition) to a new disk and resized /dev/sda4 (arch linux) to use the unallocated space. This was all done through a gparted live usb, booted in UEFI mode.
I then booted into an Arch installation USB (also in UEFI mode), arch-chroot
'ed, updated everything in my fstab and confirmed that the fstab entries worked by mounting everything with mount -a
After that, I made sure os-prober was installed and ran grub-mkconfig, which reports that windows boot manager is found on /dev/sda2
, which is my EFI partition.
The problem is that when I try to boot, windows errors out, tries to repair startup and gives up. It seems like the windows boot manager doesn't know that everything has been moved to /dev/sdb1
.
Is there anything I can do to fix this? How can I configure the windows boot manager to boot from the new location?
Edit: For transparency, I'll include that I also asked this question on superuser, found here