@crbarahona Is the OS configured as a Legacy (MBR) style image or is it configured as a UEFI style image? It, at least seems, to me to be Legacy style windows image as you are using the SANBOOT/GRUB_FIRST_HDD to work on both 1604 and 1703, but it almost sounds like 1703 is forcing some form of UEFI stack to the disk. (Maybe 1703 is changing the disk to a “dynamic” disk changing how the disk is partitioned without losing the data.) – (Doubt it as changing to GRUB works okay – then again GRUB is a proper bootloader and might not be hitting the constraints the bios is handing out as iPXE could be).
I really don’t want to think this is an iPXE issue considering the iPXE code did not change one bit. If it were an iPXE specific issue, the problem should be present on the same system regardless of what OS you deploy/use on it. The only variable that’s changed here is the OS on the client machine so it must be something that OS is doing.
The next question is more direct, I think.
If you deploy the 1604 image to a machine, boot into Windows, then deploy the 1703 image to the machine is this issue immediate? (When the machine reboots after the post deploy does it boot into windows or is it immediately broken?)
If it boots into windows 1703 and then fails on any subsequent reboots I would think there’s something Windows is doing regarding firmware which could be causing the problem. (It could even be something like the firmware to the NIC changing how iPXE is passing to SANBOOT, meaning iPXE might be able to do something to check and fix this.)
If it doesn’t boot immediately following deployment, then I believe the issue is how the disk is “laid” out.
I know there’s a lot of information here, just trying to get a full picture.