This should work for most systems that use UEFI and which have two HDD.
Dell Inspiron E5440.
-Main HDD - 256GB Samsung SSD (Windows 10 installed)
-Secondary HDD - 64GB Transcend mSATA SSD (Mint 18 was installed to this drive)
A) UEFI/BIOS - 1) Set to UEFI mode only (no legacy/CSM). 2) Disable secure boot 3) Disable Intel Rapid Start (if equipped) 3) Disable fast boot in UEFI (note this is different than the "fastboot" setting in Windows 8/10). The options in your UEFI/BIOS might say something like Full/Minimal/Automatic for boot mode. Select Full (or thorough, or complete, etc whatever your UEFI vendor has chosen to call it).
B) Disable fastboot in Windows 8/10 under advanced power options. Restart computer to ensure that this subsequent boot and the next reboot/shutdown will be in "normal" mode.
B1) Optional - Install Macrium Reflect (free) and create a backup image and reinstallation media should something go wrong with Windows 10.
C) Use Rufus to create a bootable USB stick with your choice of Ubuntu based distro. Make sure in Rufus that you CHOOSE the option UEFI/GPT only. This ensures the Linux environment boots only into UEFI mode during your install.
D) Reboot computer and press key for one time boot menu (Dell is typically F12). Selected your USB stick from the boot options - note make sure it says UEFI in front of the USB stick in the boot menu. If not, return to Windows and recreate your USB stick with Rufus ensuring you choose the UEFI/GPT (only) option.
E) Boot into Linux live environment and begin install.
F) When you get to the installation option, choose SOMETHING ELSE at the bottom of the Ubiquity installer.
G) Find your secondary HDD that you will be installing Linux to. In my case it was listed as /dev/sdc (with /dev/sda being the windows drive and /dev/sdb the USB drive [which was invisible in the installer]). Partition the target drive as follows:
-select Make New Partition Table
-1st partition, 650MB size, EFI as the type (this will list as /dev/sdb1 efi in the partitioning tool once you create it)
-2nd partition, 10GB min (20+GB better), mountpoint is root (/) ext4 as file system
-3rd partition, 2GB min, swap, (if you wish to use hibernation, the swap needs to be just slightly larger than your total amount of RAM - example I have 8GB so the size of this parition was set at 9000MB)
-4th partition, remainder of space on drive, mountpoint home (/home), ext4 as file system
IMPORTANT
F) BEFORE clicking "Install Now", from the "device for boot loader installation" option button, select the 650MB EFI partition you just created as the target for the bootloader. (example /dev/sdc1 in my case). Then click "Install Now".
G) Finish installation process. And reboot (removing the USB stick when your UEFI/BIOS screen logo appears).
Upon reboot, after UEFI/BIOS reads the new bootloader entry that Linux has added to it, you will be presented with the grub menu with a listing of your Linux distro as well as a listing to boot Windows 10. Boot into Linux. Install any updates and then reboot and attempt to enter Windows 10 from the grub menu to make sure that grub correctly handles the hand-off to the Windows 10 bootloader.
WHAT YOU HAVE DONE. You have installed the Linux EFI bootloader to the newly created EFI partition. In the process of this, Linux has added an entry to your UEFI listings in your systems UEFI/BIOS. Linux has also automatically detected your Windows 10 install and added a grub menu item to boot it. Your computer at this point will now automatically boot to Linux unless you choose to boot to Windows (from the Grub menu).
What you haven't done. You haven't in any way altered your Windows 10 install or its bootloader or even so much as touched the Windows 10 EFI partition. Everything is reversible simply by removing the Linux UEFI listing from your UEFI/BIOS settings. How to do so varies from each vendor.