Let's mention again that WinUSB can't make UEFI bootable drives! Only the old MBR type and only NTFS formatted.
This guide has also been tested on Ubuntu 16.10. If you're using an older version of Ubuntu you may get WinUSB working by following this guide. Otherwise, you need to compile it with wxWidgets 3.0. This article will describe the procedure plus the extra tweaks you must make to ensure WinUSB works as it should.
The first thing you will need is a source archive of WinUSB. Grab one from the nearest mirror. To make things easier, I made a script that will patch the obsolete code and compile WinUSB.
#!/bin/bash sudo apt-get install gcc build-essential libwxbase3.0-dev libwxgtk3.0-dev tar zxf winusb-1.0.11.tar.gz cd winusb-1.0.11/src sed -i -- 's#wxStandardPaths().GetInstallPrefix()#wxStandardPaths::Get().GetInstallPrefix()#g' findFile.cpp sed -i -- 's#wxStandardPaths().GetDataDir()#wxStandardPaths::Get().GetDataDir()#g' findFile.cpp cd .. ./configure make sudo make install cd .. rm -rf winusb-1.0.11Save this into a text file with .sh extension, make it executable and run it in the same folder with the source archive you downloaded. It will install required build libraries and tools the compile the source.
Some things have changed with wxWidgets 3.0 and objects of class wxStandardPaths cannot be created anymore. Instead, a global wxStandardPaths object can be returned via wxStandardPaths::Get() call. Therefore all occurrences of wxStandardPaths(). must be replaced with wxStandardPaths::Get(). and this is what the script does using sed.
After you run this script, WinUSB will be installed and it should pop-up when you launch it. In order to make it work on UEFI systems, you have to:
a) install MBR dependencies for GRUB
sudo apt-get install grub-pc-binb) fix the GRUB installation method - open /usr/bin/winusb with a text editor with administrator rights (i.e. gksu gedit /usr/bin/winusb), find a line that starts with grub-install (line 401) and replace it with:
grub-install --target=i386-pc --boot-directory="$partitionMountPath/boot" "$device"This is also described at the end of the previous article about installing WinUSB in Ubuntu 15.10.
You can't get it to compile? Drop a comment.