Installing Windows 10 without USB with ubuntu 18.04: this is not a bootable disk error
Installing Windows 10 without USB using Ubuntu, Step by Step
This step by step has been created from information provided by the OP, @Marcel Alexandru.
-
Backup the Target drive.
-
Create a 6GB NTFS partition on the hard drive and extract the Windows ISO to it.
-
Create a 20GB, or larger, NTFS partition on the hard drive for the Windows Installation.
-
Open Disks, (Gnome-Disks), and note Device, (/dev/sdx), and UUID of the Windows ISO extract partition.
-
For msdos partition table, copy the menuentry given in this question to
/etc/grub.d/40-custom/
* -
Add
ntldr /bootmgr
as a line belowchainloader +1
-
Edit menuentry, changing
sda4 to sdax
,msdos4
tomsdosx
(4 places), and 592C85254E2CD0B7 to UUID, (3 places), to suit step 4 above. -
Run
sudo update grub
confirm thatntldr /bootmgr
appears in grub.cfg. -
Boot the computer into the newly created menuentry and install Windows into it's new partition.
-
Reinstall Ubuntu if desired, the GRUB bootloader will have been replaced with the Windows bootloader.
*Note from the OP: You don't have to reinstall Ubuntu to fix the grub loader. You can boot in the Ubuntu Live USB, open a terminal and open Boot Repair using the boot-repair
command. If it's not available you can install it using the following commands:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
For more information about repairing your Grub follow this link: https://help.ubuntu.com/community/Boot-Repair.
*For gpt partition table, copy the following menuentry to /etc/grub.d/40-custom/
:
menuentry 'Windows Recovery Environment (on /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-5642BC722509341F' {
insmod part_gpt
insmod ntfs
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5642BC722509341F
else
search --no-floppy --fs-uuid --set=root 5642BC722509341F
fi
drivemap -s (hd0) ${root}
chainloader +1
ntldr /bootmgr
}
This method can also be adjusted to make a Windows installer USB or to add a Windows installer to a multiboot USB.
Limitations
Windows 10 has limitations with respect to partition tables and boot modes.
I was able to install Legacy mode Windows to a drive with a MSDOS partition table.
I was able to install UEFI mode Windows to a drive with a GPT partition table.
I was not able to install Legacy mode Windows to a drive with a GPT partition table.
I was not able to install UEFI mode Windows to a drive with a GPT partition table and Legacy mode Ubuntu.
There may be workarounds that are outside the scope of this answer.