Install Windows 10 alongside Linux without a USB drive
The usual way to add Windows next to Linux needs a USB stick of at least 8 GB, a tool to write it (Rufus, Ventoy, WoeUSB…), a trip to the BIOS and manual partitioning. linwin does all of it from Linux, with no USB drive.
How it works: a partition replaces the USB stick
- Make room: linwin creates three partitions in unallocated disk space (or by shrinking a Btrfs
root online): MSR, Windows and an 8 GB FAT32 partition called
WINSETUP. - Copy the installer: the Windows 10 ISO is copied to
WINSETUP, which acts as the USB stick. Required drivers (Intel RST/VMD, Wi-Fi, Ethernet) and the unattended answers are added. - Boot it once: a one-time UEFI entry (
BootNext) starts the installer on the next reboot; afterwards the PC goes back to its normal boot order. - Unattended install: the installer finds the Windows partition by its exact byte offset, writes only there, creates your account, then reboots into Linux.
- Finish: Linux becomes the default again,
WINSETUPis removed and Windows is added to the GRUB, systemd-boot, Limine or rEFInd menu.
Requirements
- x86-64 PC booted in UEFI mode (not Legacy/CSM), GPT disk;
- the Windows 10 ISO (64-bit), downloadable from Microsoft on Linux;
- space: Windows size (32 GB minimum, 64 GB recommended) + 8 GB for the installer;
- a backup of your data, and the charger plugged in.
Steps
git clone https://github.com/2Deathadder/linwin.git
cd linwin
sudo ./linwin install
linwin check
Then, in the linwin app or on the command line:
linwin plan --size 100G
sudo linwin prepare --size 100G
sudo linwin stage --iso ~/Downloads/Win10_22H2_English_x64v1.iso --edition Home --user me
sudo linwin boot
sudo reboot
Windows installs itself (20 to 40 minutes), then the PC returns to Linux, which completes the setup.
Changed your mind?
sudo linwin cancel removes Windows at any step, even after installation: boot entries, partitions,
then the space is given back (to Linux after a shrink, as free space otherwise).
Compared with the usual methods
| USB stick (Rufus, Ventoy…) | linwin | |
|---|---|---|
| USB drive | required | none |
| Partitioning | manual | automatic and verified |
| SSD (VMD) and Wi-Fi drivers | find them yourself | added automatically |
| Linux boot menu | often needs repair | Linux stays default, Windows added |
| Undo | manual | linwin cancel |
linwin is free software (GPL-3.0) and works on all common distributions.