How to create a windows 10 bootable usb flash drive in Linux PC

First of all, I would recommend that you point out all the advantages of using free software to the person buying your PC… :wink: :innocent:

I’m not sure what went wrong with your attempts to use some GUI tools (as @Akito mentioned, too less information), I would say they should’ve done the job, but anyway…

If that does not work out, you can try a typical “GNU/Linux” method of transfering the ISO to an USB:

Don’t forget to change the ISO name to whatever the filename of your Windows ISO is…
Haven’t tried this myself with Windows, it sure functions with GNU/Linux ISOs.

But be careful with dd, for it is a powerful (and therefor destructive) tool.

Fast Edi

1 Like

Windows 10 comes in at nearly 5GB in size and you need at least an 8GB USB stick to write it on. Gone are the days of DVD burning, though thinking about it Brasero and other burners shrink the ISO down slightly before writing, but I doubt enough for Windows 10? Also it depends on what version, if it’s the fully bloated version, it could be anywhere between 5 to 9 GB.

1 Like

Not yet I did try the AIOboot and it works fine!

Seems balena-etcher no longer wants to help so used WOEusb, and it worked fine just today. Cheers.

1 Like

Missus asked me if I had a spare laptop for her brother - and I did. But of course it has Linux on it (I was using it 18-24 months ago as a Puppet Server and running a headless install of Ubuntu 18.04 server). And of course, I’m just going to assume he won’t be okay using Linux - so Windows 10 it has to be…

OK - I’ve tried this a bunch of times today - I’ve tried balena etcher… I’ve tried the manual steps, of make a Fat32 USB stick, mount the ISO (loop device) and copy the files from the ISO image to the Fat32 USB stick…
I’ve tried unetbootin (on Mac and Linux)

The closest I’ve come yet is unetbootin on Linux… even that’s problematic - it’s an appimage and has be be launched e.g.:

sudo QT_X11_NO_MITSHM=1 /home/x/Downloads/unetbootin-linux64-702.bin

but unetbooting doesn’t spit out any errors - says it finished successfully - except, it can’t copy the 4 GB “install.wim” file - 'cause 4 GB file size is too big for a Fat32 filesystem! Microsoft! Couldn’t you have split that into smaller files???

But seen a few mentions of this WoeUSB doohicky and might give that a try… But why does it have to be so f–king hard? Man dumping a Linux ISO on a thumb stick is a no brainer!

Anyway - I reckon I’m going to try sticking ZorinOS Pro on there and get her to test drive it and see if her brother would use it - 'cause I’m putting f–king Windows 10 into the WAY TOO F–KING HARD BASKET!


Anyone know if it’s possible to run Win11 without a TPM2 module? The laptop is a Dell Latitude E7440 - older gen i7, 16 GB DDR3, 256 GB m2 SATA SSD and some generation of Intel GPU…

1 Like

Getting a bootable win10 usb is a very touchy exercise.
See the topic

My response 58/64 has the method that works. I can recall it took me ages to arrive at that recipe.
The FOSS article needs revamping.
You have correctly worked out that the win10 file is too big for a fat filesystem
You have to use ntfs on the usb drive, and you have to add a bootloader, because the win10 iso file is not a hybrid iso file, ie it will boot if copied to a dvd, but will not boot if copied to a usb drive.
It is nothing short of an absolute mess

Man dumping a Linux ISO on a thumb stick is a no brainer!

Because Linux iso’s are mostly hybrid iso’s… they contain a bootloader… and because they use ext filesystem

The FOSS article is completely deprecated since Microsoft made insall.wim file over 4 GB in size…

WoeUSB (as a python pip app) is broken :

The first time it happened I thought it was 'cause I was opening an ISO file on my NAS as effectively “root”… So I copy that ISO image to /var/tmp/ on my system - try again… SAME ERROR!

So I exit - try again - SAME ERROR!

So I try again - making sure /dev/sdd is not mounted…

and :
Screenshot from 2023-03-23 20-45-07

Yep yep yep yep :
Happy Days Al Yep Yes GIF - Happy Days Al Yep Yes Agree - Discover & Share GIFs
Defo yet another nail in the coffin of Windows… I reckon he’s getting Zorin 16 Pro…

Thing is I have NO WINDOWS machines to even try any common Windows workarounds - and the idea of passing through low level USB / storage read write to a Windows VM is itself nightmarish…

I think I may try ventoy… But I’m definitely leaning towards Zorin on this thing… I can even make it look and feel like Windows… But I might try MacOS first…

Yeah, you might even make a convert

If you have to have Win, just do it at the command line. My method is tested… I made that Win10 usb in my Linux machine.

1 Like

You will need to borrow a W10 or W11 PC to download the ISO, downloading with Linux does not work. Drop the ISO on a Ventoy USB, at least 16GB, and boot from the Ventoy drive.

W11 can be hacked onto a W10 ISO and install W11 but if the machine is not supported, all you
will get are important updates, no featurw updates. The word I get is MS is fixing to crak down
on PC’s running W11 on unsupported hardware.

1 Like

How do you get the response number when viewing a topic? Don’t tell me you actually count them?

I think I’m going to have to nut this out - I like the idea of getting another Linux Desktop user out there - but - my bruv-in-law lives about 350 km south of Perth - so if things go wrong with Linux - it’s a bit of a stretch for either of us to sort out…

So I reckon it’s probably going to have to be Windows 10.

I’m going to try this Youtube tutorial from @abhishek :

Thanks Abishek!

I didn’t realise you could use NTFS - that will solve the problem of install.wim being too big for a FAT32 filesystem…

A shame - because Zorin looks really user friendly, and somone who’s not that computer literate and didn’t have lots of Windows computer use, might be able to work their way around it…

Its on the right hand side beside the text.
You might have to suppress the side menu to see it.
I would not enjoy counting down to 58/64 in that topic.

Dont forget you also need to put a bootloader on the usb drive.

Not a single mention of that on Abishek’s youtube tutorial… I can’t figure out what’s going wrong for me…

Abishek’s method (in the youtube video)

Download Windows 10 ISO (I’d alread done this - but - I’m doing it again - to be sure, to be sure)
Format a USB drive as Fat32
Mount the ISO (disk image mount - i.e. a loop)
Copy and paste the ISO contents to the Fat32 formatted USB drive, boot of it into the Windows 10 installer.

I’m now getting :

mount: /mnt/ISO: unknown filesystem type 'udf'

and same thing (not that exact error) - a nonspecific error when using disk image mounter…

I’ve since tried install udftools - made buggerall difference… Just read some posts, REL8 users getting issues like this - there’s kernels where UDF was removed! Kinda like on some Android Linux 3.x and 4.x kernels, NFS was removed (WHY???).

I can’t figure it out - I remember doing this yesterday (mount -o loop ISO.iso /mnt/ISO) and it didn’t complain!

I suspect there’s something dodgy going on with Pop!_OS on my desktop (I think I did that mount -o loop on my Pop!_OS thinkpad)

Got a tad further on the Pop!_OS Thinkpad (no udf issues) - using Abishek’s youtube video method (format [I did NTFS], copy contents of ISO). It boots - but :
“A media driver your computer needs is missing”
WTF is this?
This is a VERY VERY recent version of Windows 10 - you’d a thunk it would support this laptop - it’s a Windows 7 or 8 era device… It had Win10 on it when I got it (which I wiped and install Ubuntu)… No Windows 7 is not an option… IT’s long EOL and probably doesn’t support any modern secure browsers…

Looks like it’s true! I need a driver that Microsoft don’t include on 2022 Windows 10!!! WTF???

I told you, you have to put a bootloader on the usb drive.
You need to read my reply 58/64 in

It is all there

IT’s not there in Abishek’s youtube video - and - it boots anyway - without this “boot loader”…

It boots! It booted before, yesterday, but complained there was no install.wim file…

I followed Abishek’s tutorial (youtube) and used NTFS instead - and got further until the Windows 10 installer asks for some drivers that aren’t on the Windows 10 install media…

If there was a problem of not having a boot loader - then SURELY IT WOULDN’T BOOT AT ALL RIGHT?

I will take a look at your reply in that other thread - but that’s a lot of unformatted text to digest… This is the last time I’ll try this - will throw in the towel if I can’t get this to work I reckon :

Here Bruv-in-Law - here’s your new 'poota - it runs a HIGHLY secure version of Windows…

I used this win10 version
maybe there is a difference
perhaps the procedure I used to put in a bootloader actually did more than put in a bootloader.? I did it for legacy boot. by the way.

The bottom line is… Microsoft dont know how to make an iso file.
“Choose an OS-Maker with brains, they all have content”

1 Like


Step 1: Take a flash drive >8Gb, use gparted, delete all filesystems that are on it,
 make one new filesystem using the whole drive, and put a NTFS filesystem on it.
 Use an msdos partiton table ( the default in gparted). 
Give the NTFS partition a boot flag. (not sure this is necessary)

Step 2: You will need loop devices. To check if they are present do
ls /dev/l*
you should see

/dev/log    /dev/loop1	/dev/loop3  /dev/loop5	/dev/loop7
/dev/loop0  /dev/loop2	/dev/loop4  /dev/loop6	/dev/loop-control

If they are not there you need to add the loop.ko module to the kernel. To do that do
modprobe -a loop

Step 3: Now you need to make what is called a loop mount of your Win10_21H2_English_x64.iso file.
First find an available loop device
losetup -f
it should reply loop0 if you are not using any loop devices
Second link that loop device to yourWin10_21H2_English_x64.iso file
losetup /dev/loop0 Win10_21H2_English_x64.iso
Third make a mount point to mount it to
mkdir /mnt/win
Fourth mount the loop device to the mount point
mount -o loop /dev/loop0 /mnt/win
It will give a message
WARNING: source write-protected, mounted read-only.
That is OK.
The purpose of the loop mount is to make available the “content” of the .iso file, so you can copy just the content.

Step 4: Mount the flash drive.
You have to find its device name
Take the flash drive out
Put the flash drive back in
In the output of the second lsblk there should be one extra device. That is the device name of the flash drive. Lets call it /dev/sdX.
Then make another mount point
mkdir /media/flash
and mount to it
mount -t auto /dev/sdX1 /media/flash
It is sdX1 becauase you want the partition on the flash drive, not the device.

Step 5: Copy all files from from the loop mount to the flash drive
cd /mnt/win
cp -avr * /media/flash
The copy will take a while.

Step6: Download and install `ms-sys`. Download and instructions available at

Here are the instructions to make and install it
 1:  unpack the archive:
tar -xzvf ms-sys*.tgz

 2:  compile:
cd ms-sys

3:  become root and install
su (and give password)
make install

Step 7:  Use ms-sys to write ther Win7 bootloader to the flash drive... The Win7 bootloader will work with Win10

ms-sys -n /dev/sdX1
this writes the win7 boot record to the ntfs device

ms-sys -7 /dev/sdX
this write the Win7 MBR to the raw device

Step 8: Reboot and see if it boots.
Mine worked.
It will only work with Legacy boot, because only legacy boot will work with NTFS filesystems. 
Note the boot is slow from a flash drive.

Step 9: The easy part. Boot the flash drive and use it to install Windows to your external HDD. 
Be careful that you get the device name of the external HDD correct.

Take a look at step 7.
It does 2 things, it writes to the device, and to the ntfs filesystem

Useful link

But it’s booting all the way into the installer - asks a bunch of questions about language and keyboard, then it barfs on storage driver… and prompts for a driver disk…

If it was a question of no bootloader - it WOULD NOT GET THAT FAR!

I kinda hate it when people post “screen shots” taken from their mobile phone - but here goes :


I’m going to try another USB device… if that fails - bruv-in-law’s getting ZorinOS :smiley:

I’m also trying a MUCH older version / ISO of Windows 10 (circa 2016)…

Note - the installer is plowing through now - no questions about drivers - found the storage and it’s now copying files…

So - @abhishek 's youtube tutorial worked 100% for an older build of Windows 10 on this hardware (my previous attempt were all with the 22H2 ISO…

This works :

  1. format the drive with ntfs
  2. mount (e.g. loop -o etc) the ISO image
  3. either with CLI, or your file manager (e.g. Files / Nautilus) copy ALL the files on the ISO image to the NTFS formatted thumb drive.
  4. wait for that to finish - safely eject the thumb drive
  5. Whack that thumb drive into the device of choice (in my case Dell Latitude E7440) and install away.

Booted up into newly installed Windows 10 and probably spending the next 12 HOURS getting ALL the updates since 2016!

Shame - would have preferred a new Linux on the Desktop user! It’s like Mephistopheles buying souls - the more we can recruit to the “Dark Side” (Linux) the better :smiley:

Me too.
It would seem every time M/soft make an iso it is “isos aint isos”
They need to learn the benefits of consistency

Piece of crap!

I let it go from 2016 to 2018 updates… and watching Prime Video (Carnival Row Season 2) but it kept stopping and buffering not keeping up!

Didn’t put 2 + 2 together - then booted up after 2018 updates and let the 2020 updates come down - and Prime was UNWATCHABLE!

I finally had enough hit the power button and shut the lid on the piece of crap!

I’ve NEVER seen any other O/S eat up so much bandwidth to update! And I’m comparing things like 12 GB to update MacOS 11 to 12!!! Dunno how many GB - but also ubuntu 18 to 20, and 20 to 22… Most other os’s show much better bandwidth ettiquette - but not Microsoft!