Windows 10 installation using another disk as source
A computer was in need of a re-install of its Windows 10 installation. Windows 10 installation required an USB memory of 8G, the ISO file was 5GB.There were no USB memories of this size available for the task. But the machine was equipped with two disks, one SATA SSD and one M.2 NVME SSD. The goal was to get Windows 10 re-installed on the SATA drive.
Attempt 1 - copy the ISO raw to NVME
I tried to use the NVME as a CD drive by using cat, netcat and pv to copy the image directly to the drive. The computer refused to boot it, no errors it just skipped it and continued.
Scrapped idea - use PXE boot to install over the network
This seemed very complicated and required a custom image, a DHCP server and who knows what.
Scrapped idea - put the ISO on a partition and use grub to boot it
This did also seem to be complicated.
Scrapped idea - install Debian and VirtualBox, install to SATA SSD from there
This would have resulted in a non pure installation, where WIndows 10 would have to accept a hardware change from the VirtualBox to the real hardware which was not desired.
Attempt 2 - extract the ISO to the NVME disk
Just make a partition, open the ISO and copy the contents from it to the partition and boot - that was in brief what some sources online suggested. Coming from a traditional BIOS boot this felt like following a beginners mistake. Turned out this was a working method, but there were several pitfalls. - The only allowed partition type the machine could boot from using this method was FAT32. Yes, this new shiny BIOS replacement system requires an obsolete file system - or the hardware manufacturers makes it do so. FAT32 has a limitation of 4GB per file. - Inside the ISO there is a file named sources/install.wim that is bigger than 4GB. Yes you read right that is a pure catch 22 right there. It is possible to split the wim file into smaller swm files using dism in Windows or maybe wimlib-imagex-split in Linux but this would not work with the installer, it requires some kind of manual partition creation and copying sequence. It went into the too complicated category. A better suggestion was to make 2 partitions, One FAT32 and one NTFS. Then copy all but sources to the FAT32, then copy all again to NTFS, then make a sources folder in FAT32 and copy sources/boot.wim there. Then boot and install. It worked on the second attempt, I used gpt instead of mbr for the partition table the second time.
This is a personal note. Last updated: 2020-04-19 15:06:22.