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 below chainloader +1
Edit menuentry, changing sda4 to sdax
, msdos4
to msdosx
(4 places), and 592C85254E2CD0B7 to UUID, (3 places), to suit step 4 above.
Run sudo update grub
confirm that ntldr /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.
ntldr /bootmgr
on the line afterchainloader +1
, I also changedhd0,msdos4
and the UUID in the above menuentry in my grub.cfg, to suit my disk. I then created a 6GB NTFS partition and extracted a Windows 10 ISO to it, (Windows-1909.iso). It worked like a charm. Please post your answer as an aid to other people with the same question.