Return to the main mkusb page

mkusb versions with GUI

The versions 9- of the mkusb tool are still bash scripts. The menus and dialogue windows are purely graphical using zenity. ../artwork/mkusb24.png

There is also a text console for output from the engine behind the zenity curtain.


from the normal PPA

The stable version is suitable for most users. It is available from ppa:mkusb/ppa via the following command lines. If you run standard Ubuntu, you need an extra instruction to get the repository Universe. (Kubuntu, Lubuntu ... Xubuntu have the repository Universe activated automatically.)

sudo add-apt-repository universe  # only for standard Ubuntu

sudo add-apt-repository ppa:mkusb/ppa  # and press Enter
sudo apt-get update

If you want standard mkusb with a graphical user interface

sudo apt-get install mkusb

if you want the command line version without graphics

sudo apt-get install mkusb-nox

if you want to get usb-pack-efi (used when you make a persistent live drive; makes it possible to boot 64-bit and 32-bit versions in EFI mode)

sudo apt-get install usb-pack-efi

and if you want all these packages

sudo apt-get install mkusb mkusb-nox usb-pack-efi

from the unstable PPA

This version is still developed and debugged. It is available from ppa:mkusb/unstable via the following command lines,

sudo add-apt-repository universe  # this line only for standard Ubuntu

sudo add-apt-repository ppa:mkusb/unstable
sudo apt-get update
sudo apt-get install mkusb     # install
# sudo apt-get dist-upgrade    # upgrade to current version (with all other upgrades), installed systems
sudo apt-get install mkusb guidus dus mkusb-common
                               # upgrade all mkusb basic components including dus

# for persistent live drives that work in UEFI and BIOS mode with 32-bit iso files, add
sudo apt-get install usb-pack-efi

that will install the bleeding edge version of mkusb and/or mkusb-nox (testing new features and bug-fixes).

If you want to try only the new interface dus, 'Do USB Stuff', you can install one of the following packages,

sudo apt-get install dus           # general version provided with dialog menus for text mode
sudo apt-get install guidus        # dus with a GUI interface and zenity menus

General comments about upgrading

Normally you want to keep an installed system up to date automatically, via a GUI application or the following command lines,

sudo apt-get update
sudo apt-get dist-upgrade

and maybe the following command (if problems)

sudo apt-get -f install

and repeat

sudo apt-get update
sudo apt-get dist-upgrade

Then all installed packages (from standard repositories and PPAs) will be upgraded.

Upgrading mkusb in a live-only or persistent live system

But a live-only or persistent live system can be damaged by such general updates & upgrades. Instead it is recommended to keep most program packages as they are, and only upgrade packages when really necessary. The following command lines work, when you want to update & upgrade the program packages that belong to mkusb without affecting the other program packages.

sudo apt-get update
sudo apt-get install mkusb guidus dus mkusb-common
sudo apt-get install mkusb-nox

Upgrading from mkusb 11 to 12

Several problems with upgrading from mkusb version 9, 10, 11 to mkusb version 12 are solved with mkusb 12.0.5.

If there are still problems, please report the bug via this link. You can try to re-install also the package mkusb-common in order to upgrade the shellscript mkusb-start.

sudo apt-get install --reinstall mkusb guidus dus mkusb-common

If there are still problems because of the change from mkusb version 11 to 12, you can purge mkusb

sudo apt-get purge mkusb

and also remove mkusb files manually with

sudo rm /usr/sbin/{mkusb*,dus}
sudo rm /usr/bin/mkusb*
sudo rm -r /usr/share/mkusb/

After that it should work according to the instructions above.


The following link describes how to use the stable PPA in Debian ../install-to-debian. Add the following line to /etc/apt/sources.list in order to use the unstable PPA in Debian and distros based on Ubuntu or Debian,

deb trusty main

You should also import a gpg key, which is used to verify the packages, that you intend to install,

sudo apt-key adv --keyserver --recv 54B8C8AC

You could add the PPA version for a current version, e.g. xenial, instead of your current release. The mkusb PPAs are the same, because mkusb is only a script with some help files, and they are independent of the version and flavour of the gnu-linux operating system.


Another method is to download mkusb from It might bring the same bleeding edge version as you get via the unstable PPA, and sometimes a newer or older experimental version.

Check the version

You can check the version of mkusb-dus at '' with this link.


Download the shell-script file mkusb-installer with the browser or do it directly from a terminal window with


and run it from a terminal window with

bash mkusb-installer
[sudo] password:
Install via ppa or wget, uninstall or quit? (p/w/u/Q) w
  • Enter your password (installed systems typically require password, but not live systems)
  • Enter w (for wget) and the shell-script will download, check and install mkusb plus some small iso files for testing.

  • Repeat the command bash mkusb-installer if some file was not downloaded correctly.

Then start mkusb from the menu Menu -- System -- mkusb or from Dash in Ubuntu or a similar finder for application programs, for example Show Applications in Mageia Gnome.

In some locales (the standard English and some more), and in some linux distros, an icon will also appear on the desktop.

from a tarball

You can download one of the following tarballs (compressed tar files) and check the md5sum, that it was downloaded correctly. This option is a last alternative, when the other options do not work. The version is/was up to date when uploaded, but it may not be updated as often as the other alternatives, and it is also limited to dus with guidus alias mkusb version 12.

Tarballs to download

dus.tar.gz, minimal version (only ~ 50 K, kibibytes)

dus-plus.tar.gz, version with usb-pack-efi (~ 4 M, Mibibytes)


[Left]click on the link, get to the attachment page, and there you right-click on the link and select 'save link as' to get the tarball file.

See more details at the tarball subpage: /tarball

Simple to test mkusb in linux distros, which do not manage an Ubuntu PPA

It is simple to test *1) in linux distros (operating systems), which do not use Ubuntu PPAs. The script from downloads, checks and installs mkusb using only standard commands. It even checks itself and that the md5sum file was signed with a good signature by sudodos (me). The script can also remove what it installed. Installing via a tarball is even simpler and should work in most cases.

*1) mkusb may fail in linux operating systems, where it is not yet tested.

Linux distros where mkusb works

mkusb is tested (and tweaked to work) in the following linux distros

{Ubuntu, Kubuntu, Lubuntu ... Xubuntu} {12.04 LTS and all current versions} with PPAs for these versions

Ubuntu family developing release

- may break temporarily during the development

Launchpad bug report


mkusb-dus 12.2.2 and newer versions

Antix 16.2

live only *3)

Arch linux

- If you install a graphical desktop environment, mkusb works, live only *3) unless you tweak 'grub.cfg' of the persistent live drive.



Centos 7

- needs a legacy desktop file, simpler display in 'legacy mode' *2) Redhat bug report, live only *3)


- you can install and run the file mkusb-nox or mkusb-dus 12.1.9 and newer versions ( #from_a_tarball in Clonezilla Live). There is also a compressed image file of a persistent live system with mkusb already installed, ../persistent/clonezilla

Debian Wheezy

live only *3)

Debian Jessie and Stretch



live only *3)


17.7 and 17.4 tested (work also with persistence)

Fedora 24, 25

- mkusb 11 needs a legacy desktop file, simpler display in 'legacy mode' *2) Redhat bug report; mkusb 12 (mkusb-dus) works 'out of the box'; live only *3)

Fatdog 710

- 64-bit alternative to Puppy; works in UEFI and BIOS mode when cloned; mkusb 12 (mkusb-dus) works with dialog menus out of the box, difficult(?) to find zenity; persistence saved in another drive

Knoppix 7.4 - 7.7

- the dvd iso file needed treatment with isohybrid, live only *3)

Linux Mint


Mageia LiveDVD-Gnome 5, 5.1

- mkusb 11 needs a legacy desktop file; mkusb 12 (mkusb-dus) works (when run as root in live system); live only *3)

Manjaro 17.0.2 Gnome

live only *3)

openSUSE 13.2, 42.1, GeckoLinux based on 42.2

- zenity bug fixed in 13.1 (update), and in 13.2 (iso file), live only *3)


Zorin 12.1 Core

- use SysRq REISUB if shutdown fails

*2) mkusb-dus works, but mkusb-11 can only use a simpler display, 'legacy mode' (without colours and other html features, because Zenity lacks the --html option).

*3) mkusb can create 'live only' drives, but not 'persistent live' drives of this distro. There is a warning, if you try to create a 'persistent live' drive, and you can continue, because you might be able to tweak the grub.cfg file manually to make it work. The following links may help.

*4) mkusb-nox works without any tweaks when running as root in Debian Jessie (tested with debian-jessie-DI-rc1-amd64-kde-CD-1.iso). mkusb works in the released version of Jessie (after tweaks during the development phase: regular user in sudo group, modprobe loop, a special desktop file. Debian Stretch works with mkusb-dus 12.2.3 and newer versions. See ../install-to-debian.

ISO files with limited compatibility for mkusb

Use mkusb 7.5 alias mkusb-nox in distros, where zenity does not work. If you prefer this command line version, for example if you are an Arch linux user, you will find that mkusb-nox can use the pacman installer and suggests to install pv. Use the basic mkusb-bas where none of the more advanced versions of mkusb works.

mkusb is tested with the following iso files / distros, and can install them live-only. Details are specified in each case according to the list,

Linux distros with limited compatibility for mkusb

Arch linux

- the ISO file lacks GUI, but you can install and run mkusb-nox and dus in text mode. If you install a GUI, mkusb can be installed and dus can run in graphics mode

TinyCore 5.4, CorePlus-8.0

- if you install bash, parted and icecat you can download and run mkusb-bas

Ubuntu mini 14.04, 16.04

- the ISO file lacks bash so cannot run the bash scripts mkusb and mkusb-nox, but the mini.iso from precise-updates and all supported newer versions can be installed into a working USB drive by mkusb

Wary Puppy 5.5

- needed treatment with isohybrid, lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks

TahrPup 6.0.5

- lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks. Install pv if you want progress view.

TahrPup 64-6.0.6-uefi

- works for me only in BIOS(!) mode (after treatment with isohybrid), lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks; Fatdog is a fork that works in UEFI and BIOS mode

Other iso files with limited compatibility for mkusb


- needed treatment with isohybrid, DBAN is dedicated to wipe drives in a secure way


- kiosk program, intended only for internet browsing

Windows 7 -10

- mkusb-dus and mkusb-nox running in linux can create USB boot drives with the Windows installer

Separate versions for graphical mode and text mode

There are separate versions for

  • GUI version: mkusb ../artwork/mkusb24.png

  • text version: mkusb-nox

  • basic version: mkusb-bas

the unstable PPA

sudo add-apt-repository ppa:mkusb/unstable
sudo apt-get update
sudo apt-get install mkusb-nox

will install the bleeding edge version of mkusb-nox (testing new features and bug-fixes)

This avoids some complicated logic and makes the code smaller. Maybe 90% of you will prefer the GUI version, but the text version is good for servers and for users who do not want eye-candy. The improved recognition of systems and devices is back-ported to mkusb-nox. See this pdf manual.

Please try either or both of mkusb and mkusb-nox or if they do not work, try mkusb-bas.

mkusb-bas can be downloaded from


See this pdf manual.

Merged to a common version again - 'dus'

dus - a revamped interface of mkusb and mkusb-nox

Easier to use and to maintain

The intention with dus is to make it easier to use and easier to maintain. Some features, that nobody has commented on and very few have used, are removed. The user interface is much easier to use compared to mkusb and mkusb-nox. For example, there are no 'toggle' menu entries, and the style is 'wizard' with the tasks following each other.

Final checkpoint

The 'final checkpoint' is changed for a special reason: The current mkusb version with coloured background is good, but it depends on zenity's support for html, which has failed for long periods of time more than once during a couple of years. The new version should be as safe as before, and it is only using basic zenity features: the 'Go' radio button must be selected and the 'Go' button must be pressed).

Should work with minimal instructions

guidus is a GUI front-end to dus. It provides a desktop file, that is available via the menu system in many linux flavours or dash in Unity. The graphical mode will be selected automatically for most users (running graphical desktop environments)


Quick start manual version 12 alias dus, ../mkUSB-quick-start-manual-12.pdf

dus should work with minimal instructions. It might not look as good as the current mkusb version, but it is possible to remove some rough edges. Of course we can expect bugs at this stage, but I think it will soon surpass mkusb in user friendliness.

Help text

dus -h

---- Make USB or memory card install drive from ISO or image file ---
dus file.iso
dus "quote file name (1) with special characters.iso"
dus file.img
dus file.img.gz
dus file.img.xz
dus file.tar       # if an mkusb tarfile for Windows
---- Clone a device (typically a CD drive or USB drive) -------------
dus /dev/sr0       # example of CD drive
---- Wipe or restore a USB drive or memory card ---------------------
---- Options --------------------------------------------------------
dus -d [file.iso]  # dialog (text mode menus)
dus -t [file.iso]  # plain text mode interface
dus -h             # usage text
dus -v             # version

Source file as parameter in text mode

When trying to enter a source file (except when zenity can be automatically selected)

|     It is easier to select source file as a parameter,      |
|     when using dialog menus or a simple text interface.     |
|     Examples:                                               |
|     cd Downloads        # where you find source files       |
|     dus debian.iso      # autoselect zenity, dialog, text   |
|     dus -t ubuntu.iso   # simple text                       |
|     dus -d ubuntu.iso   # dialog menus                      |
|     However, there is a good file selector using zenity.    |
|     dus [-z]            # zenity menus (when available)     |

Remote login via ssh

Use mkusb-nox or dus, when you login remotely for example via ssh.

ssh nio@server
sudo mkusb-nox file.iso  # select source file via the command line
# or
dus file.iso  # select source file via the command line

or in graphical mode, if the server can manage it and zenity is installed (in the server)

ssh -X nio@server
dus  # select source file via the zenity menus

Change background for the final checkpoint windows

You can edit the background colours of the final checkpoints with separate colours for standard installations and iso-testing. For example, you can change the red 'alert' background.

  • From the main menu: select Help menu

  • select Background colours - tweak the final checkpoint colours

  • there is an option to reset to the original background colours, or the tweak from the current colours.
  • use the graphical tool to edit the colour of the final checkpoint final_check_body_bg

    • look at the demo window and repeat until you are satisfied
  • use the graphical tool to edit the colour of ISO testing checkpoint iso_test_body_bg

    • look at the demo window and repeat until you are satisfied

This is illustrated with screenshots.



Installing Lubuntu Utopic - final warning


Installing Lubuntu Utopic - work done


Improved look and feel of mkusb including how to change background for the final checkpoint windows


Return to the main mkusb page

mkusb/gui (last edited 2017-09-21 22:18:49 by ister-kokos)