EFI expects the default boot loader to be /efi/boot/bootx64.efi.And, Windows is particular about making sure it boots.
First off, from 8.1 on windows does not really shut down, it suspends to disk ( like a hibernate) so that it boots faster. Second it changes EFI to make entry 0000 (windows) first in the boot order.
First be sure that "Fast Startup" is disabled in Windows. If that doesn't solve the issue do the following work around,
Open the EFI partition on the HDD and copy /EFI/BOOT/bootx64.efi to /EFI/windows folder in case you want it later. (this is the Windows bootloader)
Next copy /EFI/ubuntu/shimx64.efi to EFI/BOOT and rename to bootx64.efi, this makes grub the default boot loader. (if you are not using secure boot then copy and rename grubx64.efi)
When in ubuntu, install
efibootmgr. Use efibootmgr to delete all efi entries except the netboot.
Then reboot your computer. Make sure the first system you boot into is ubuntu so that it is placed in entry 0000. then boot windows.