I've been using linux (ubuntu, debian, and salix) for a few years but have never been able to create a bootable usb drive from within linux. I've always had to use pendrivelinux which is a downloadable .exe I would like to not use windows at all anymore but have not found a guide for this particular problem that I have been able to get working.

Can someone provide step by step instructions/links for creating a debian boot usb drive?


Is not that hard, all you need is a USB device with enough space (4 GB or more) and the ISO image of Debian.

  1. Format your USB device with FAT32 file system. The easiest way is to use GParted.

  2. Use dd as root to copy the ISO image to your USB device.

    dd if=/path/to/your/debianxxx.iso of=/dev/sdx

sdx is the name of your USB device in the system, e.g. sdb, sdc, etc.

WARNING: Make sure you use the correct name for your device because dd will destroy all data on that device.

Now reboot your PC and boot from the USB.

  • 1
    Formatting is unnecessary. When you write with dd you're copying from the iso which is an image of a block device that contains its own ISO9660 filesystem to the block device of the target drive. If you make a filesystem on the target drive before this, it'll just be overwritten. Second, I suggest to add the "bs" argument and write more than the default 512 bytes at a time. Last, I would recommend appending && sync to the command, because it's possible for dd to return before the write finishes. So it should become dd if=/path/to/your/debianxxx.iso of=/dev/sdx bs=1M && sync – Tyler Chambers Jul 3 '18 at 1:50
  • @TylerChambers Thanks for the tips. I wasn't aware of those options, I'll try them out before updating my answer, which might take some time. – rendon Jul 3 '18 at 14:16
  • 1
    An important thing to note is that the output path needs to be the name of the device, not a particular partition on the device (e.g. of=/dev/sdx rather than of=/dev/sdx1). If you write to a partition then you'll get a boot error complaining that the partition table is invalid. – ali_m Jan 2 '19 at 13:30
  • 1
    I would suggest adding status to the dd command, to monitor progress. Use as below: dd if=/path/to/your/debianxxx.iso of=/dev/sdx status=progress – Samik R Mar 29 '19 at 10:14
  • Thanks @SamikR, I'll try it out. – rendon Mar 30 '19 at 16:30

I suggest that you use a tool with a final checkpoint. dd is a powerful tool, but it does what you tell it to do without questions, so if you point to the wrong device by mistake, you may overwrite valuable data.

Tools with a final checkpoint

  • Startup Disk Creator (bundled in Ubuntu)

  • Disks alias gnome-disks

    sudo apt install gnome-disk-utility  # in Debian and Ubuntu
  • mkusb

    • In Ubuntu

      If you run standard Ubuntu live, 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
      sudo apt-get install mkusb mkusb-nox usb-pack-efi
    • In Debian you can also use the Ubuntu PPA

      If you don't want to use a PPA (to install mkusb), or if you are running another linux distro, not based on Debian or Ubuntu, you can

    • Install mkusb from a tarball

    • Install mkusb-min if you want it simple

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.