I have had issues in the past trying to get Windows 8+ to coexist with Linux Mint on a machine with UEFI.
The following steps worked for me on an Asus q400a laptop.
- BIOS has CSM on and fastboot off
- Within Linux I used gparted to format a USB stick with a GPT partition table as fat32. Then I opened the ISO file for the windows installer and copied all the files onto the USB stick.
- I caught the bios with f2 and move up the boot device for UEFI: My_USB_stick (it was ADATA in my case)
- I installed Windows and then subsequently upgraded to Windows 10 which is still currently free for 7 and higher users.
- Shrink the drive for Windows 10 to free up some spare space. The Linux installer I used was not aware of the Windows 10 installation so it couldn't shrink it for me.
- Using the same GPT partition table USB stick, delete all the files from it and then extract the files from your Linux ISO onto it.
- Windows 10 made it so I couldn't get to the bios, so I used the instructions here to go into troubleshooting mode
- Once in the BIOS, I again selected the UEFI: My_USB_stick and ran the Linux live installer.
- In the installer I selected the "do something else" partitioning option and created a primary ext4 root mount "/" using all but 8GB of free space (the amount of my RAM). I then created a logical swap partition containing the rest. I also set the device to "use as bootloader" to the EFI partition Windows had created.
- I rebooted and grub popped up letting me pick my OS as I see fit.
- Just to be as "secure" as possible, I disabled CSM in the bios so only UEFI is allowed. The only thing this seemed to change is that I get the windows loading circle below the ASUS logo as it launches Windows 10.