I'm not sure about the cause of the hang, but one workaround is to boot Ubuntu in BIOS/legacy mode and Windows in UEFI mode. This is awkward with most firmware implementations, but my rEFInd boot manager can help, since it can redirect the boot process from EFI-mode to BIOS/legacy-mode. To do this, you'd need to install rEFInd, add
hdbios to the
scanfor line in its
refind.conf file, and install the BIOS version of GRUB (
grub-pc in Ubuntu's packages). Thereafter, you should see rEFInd menu options when you start up for booting either Windows or a legacy OS, and the latter will take you to the BIOS-mode GRUB. Initially you'll also have additional menu items that will launch the EFI version of GRUB and perhaps directly launch Linux kernels in EFI mode, but you can eliminate those by removing the EFI-mode GRUB's boot loader on the ESP and by removing the ext4fs driver that rEFInd's installer will set up (or by setting it up without the file to begin with). OTOH, there's a slim chance that booting in EFI mode via a rEFInd->kernel path (without involving GRUB) will fix the problem, so it may be worth trying that before you even install
Another option is to convert from a GUID Partition Table (GPT) disk setup to a Master Boot Record (MBR) setup and boot both Windows and Ubuntu in BIOS mode. This will involve more work, though, since you'll need to convert the partition table type (which is possible with
gdisk) and install appropriate BIOS-mode boot loaders for both OSes. I've seen instructions on doing this for Windows, but I don't happen to have any URLs handy.
Of course, it's probably better to get the computer to boot Linux in EFI mode without hanging, so if somebody has a fix for that, you should try it first.