There are multiple possible reasons I know of .. and certainly many more I do not know of.
The windowsX stack has a large nr of different implementations and details on the hard drives and the lan stuff - that I know of.
Thus multiple configs of hard drives do not work "right" on windows if they are modern ssds, small solid state cards, usb-interface cards, etc.
Most of the problems have to do with fairly old 15-years ago circa 1999 decisions regarding removable media, sizes, boot block, etc.