WoeUSB Error Code 256 with NTFS formatted USB

I tried to create a Windows 10 USB boot medium with WoeUSB. I formatted a USB drive with an NTFS partition, but WoeUSB complains with:

Installation failed!
Exit code: 256
Log:
WoeUSB v@@WOEUSB_VERSION@@
==============================
Mounting source filesystem...
Error: File "/media/woeusb_source_1543626298_6098/sources/install.wim" in
source image has exceed the FAT32 Filesystem 4GiB Single File Size Limitation
and cannot be installed.  You must specify a different --target-filesystem.
Refer: https://github.com/slacka/WoeUSB/wiki/Limitations#fat32-filesystem-4gib-single-file-size-limitation for more info.
Unmounting and removing "/media/woeusb_source_1543626298_6098"...
You may now safely detach the target device

I've also tried to start WoeUSB via command line, did not work.

sudo woeusb --partition Win10_1809Oct_English_x64.iso /dev/sdb

My iso is located in: home/sawyer/Downloads/Win10_1809Oct_English_x64.iso

Thanks in advance! I've been trying to get windows installed for three nights now, so any help towards that goal is greatly appreciated.


Edit 6: a major edit

Now we talk about the github version of woeusb

The github version is at 5.1.3 and works in Ubuntu 20.04.x LTS (and 18.04.x LTS, probably all current versions of Ubuntu, but I have not tested them).

PPA version of woeusb deprecated

Please be aware that the woeusb PPA version at ppa:nilarimogard/webupd8 is deprecated (works in Ubuntu 18.04.x LTS but fails in 20.04.x LTS). Today (2021-11-07) it is at version 3.3.1 (dated 2020-02-13).

Test

  • From the WoeUSB github I downloaded and tested woeusb-5.1.3.bash as well as the version in the tarball. They differ only in the line specifying the version. So I used the separate version with explicit version number.

  • I used the command line

    sudo ./woeusb-5.1.3.bash --target-filesystem NTFS --device Windows11.iso /dev/sdx
    
  • wimlib-imagex was not found, and woeusb quit. It can be installed from the repository universe with the command

    sudo apt install wimtools
    

    It is needed, when installing into a FAT32 file system in order to split the huge install.wim file, but when selecting NTFS, the installation should continue without wimtools. That way the WoeUSB bash shellscript will work without wimtools (but it wants an internet connection in order to get uefi-ntfs.img).

  • The USB drive with Windows installer

    • created in 18.04.6 LTS and 20.04.3 LTS
    • boots both
      • in UEFI mode (also with secure boot) and
      • in BIOS mode (alias CSM alias legacy mode).

end of Edit 6

I tested the current woeusb from the PPA (running a persistent live Lubuntu 18.04.1 LTS), and the following command lines work for me.

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb

sudo woeusb --target-filesystem NTFS --device path/windows.iso /dev/sdx

In my case the iso file was in /media/lubuntu/usbdata/images/ and the target device was /dev/sdb, but in your case check carefully that you will write to the intended drive (avoid destroying valuable data in some other drive),

sudo woeusb --target-filesystem NTFS --device /media/lubuntu/usbdata/images/windows.iso /dev/sdb

Notice that all partitions on the target device must be unmounted.


The created USB boot drive has a small FAT partition (for UEFI boot) and a big NTFS partition with the Windows files. It can install Windows both in BIOS and UEFI mode with woeusb 3.2.10.1 (dated 2018-09-19 (Sept 19 2018) in the PPA).

Using NTFS makes it is possible to use file size > 4 GiB. The size of install.wim is

  • smaller than 4 GiB in some of Microsoft's own iso files, for example in

  • Win10_1809Oct_Swedish_x64.iso

         $ <<<'scale=3;4274234443/2^30' bc
         3.980                              # < 4 GiB
    
  • greater than 4 GiB for some iso files for particular computers, OEM, but also in several of Microsoft's own iso files, for example

  • Win10_1809Oct_English_x64.iso

         $ <<<'scale=3;4396229344/2^30' bc
         4.094                              # > 4 GiB
    
  • Win10_1809Oct_EnglishInternational_x64.iso

         $ <<<'scale=3;4386496792/2^30' bc
         4.085
    
  • Win10_1809Oct_German_x64.iso

         $ <<<'scale=3;4401709065/2^30' bc
         4.099
    
  • Win10_1809Oct_Spanish_x64.iso

         $ <<<'scale=3;4404104344/2^30' bc
         4.101
    

There is also a GUI version woeusbgui. I don't think is has the option to create a target drive with a FAT file system for UEFI plus an NTFS filesystem, so I would recommend using the command line version woeusb.


Edit 1:

You can do it yourself with detailed help at

help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big-files

This method works in both BIOS and UEFI mode and also with secure boot. (But in most cases it should be possible to turn off secure boot, use the drive created by woeusb, and turn on secure boot again.)

Edit 2:

Thanks @John for your comment that there should be no space character in the source file name. If there is you can rename the file, and then woeusb works.

Thanks @qbit. This did not solve my problem but your idea of a parsing error helped me to realize that it does not like having a space in the source filename. That got me to move one step forward.

Edit 3:

There is a problem in Ubuntu 20.04 LTS.

$ LANG=C sudo apt install woeusb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 woeusb : Depends: libwxgtk3.0-0v5 (>= 3.0.4+dfsg) but it is not installable
E: Unable to correct problems, you have held broken packages.

Until this problem with woeusb is solved, you can use mkusb-plug according to this link:

help.ubuntu.com/community/mkusb/plug

The tool mkusb-tow of mkusb-plug is now available also via dus (mkusb version 12.5.6). See this link

mkusb 12.5.6 with new installer for Windows

Edit 4:

A set of workaround commands for woeusb in Ubuntu 20.04 LTS is described in the following link,

NTFS partition service issue with creating Windows 10 bootable USB on Ubuntu

Edit 5:

Today (2021-10-16) I tested that mkusb can create working installer drives from a Windows 11 iso file.


Couldn't reproduce the error as running that command produced a different error (check_runtime_parameters: Error: Target media "/dev/sdb" is not an partition!).

What seemed to work was to wipe and build a boot drive from scratch with:

sudo woeusb --tgt-fs NTFS -d ~/Downloads/Win10_1809Oct_English_x64.iso /dev/sdb


None of the other answers worked for me. I was trying to create a Windows 7 USB using woeusb on 18.04. I tried the gui, cli, tried formatting, not formatting, tried different parameter ordering... nothing worked.

Finally, qbit's answer gave me the idea that there might be a parsing problem. I noticed my iso filename contained spaces. I renamed the file so that there were no spaces (renamed to WINDOWS7.ISO) and then the cli version finally started to copy files (did not try the gui). However, it crashed at the end.

Finally, I used the Windows.iso in VirtualBox to create a Windows VM. Then I used rufus.exe to write the iso to a USB through Windows. This did work and I got a laptop setup with Windows that day.

I never did get woeusb to work. Hopefully, the author(s) will fix it as there does not seem to be any other utility which runs under Ubuntu to create a Windows boot USB.

I had installed woeusb through the ppa. After I posted this answer, I noticed that woeusb updated. After the update to the latest version, I find that woeusb now writes successfully for both Win7 and Win10 iso.

So, before trying my answer, try updating woeusb.


Some third-party installers, like your Win10_1809Oct_English_x64.iso, feature Windows installation images greater than 4GB making FAT32 as target filesystem impossible. NTFS filesystem support has been added to WoeUSB 3.0.0 and later. If your version of WoeUSB is earlier than 3.0 please update it. The latest version of WoeUSB at time of posting this answer is 3.3.1.

For WoeUSB v3.0 and later the --format command-line option is no longer available.

Try opening woeusbgui from the terminal with the following command:

sudo -H woeusbgui &>/dev/null

Out of some unknown reason, the above things solutions https://askubuntu.com/a/1098185/846139 or https://askubuntu.com/a/1098076/846139 did not work for me as expected.

There seems to be a problem with the argument parsing in woeusb v3.2.12.

Putting that target filsystem option at the beginning did not work in self-built WoeUSB v3.2.12 on ubuntu 18.10 cosmic.

What did work, however:

sudo woeusb -d  /somewhere/Win10_abcd_xy_x64.iso /dev/sdb --target-filesystem ntfs