We ❤️ Open Source

A community education resource

3 min read

How to use the dd command to create bootable Linux drives

Learn how to create bootable USBs using the dd command, perfect for rescuing Windows systems or embarking on Linux adventures.

I keep a bootable Linux disk with me most of the time because I never know when I am going to need to use one to rescue a crashed Microsoft Windows machine or turn someone on to the Linux desktop. Most distributions, including my daily driver, Linux Mint, etc., have utilities that make boot disk creation much easier than it used to be.

If you are on a Windows or MacOS platform you could use a great utility like Etcher.io which is one of my favorite boot disk creation tools. But let’s suppose that you are using a Linux computer with no connection to the internet and no other disk creation tools.

You could use dd, which is tool that many folks have never used, but it’s still a reliable utility and one that can make a bootable disk when all else fails. The dd command is a Linux utility that is sometimes referred to as ‘disk destroyer’ or ‘data duplicator and it is very useful and effective if you have no other way to create a bootable USB drive.

You will need a FAT32 formatted USB drive. Then you will need to determine the directory in which the iso file bearing the Linux distribution resides so that you can point to it in your command sequence. You will also need to use the lsblk command to determine which block device you are going to send your data to.

Warning: Use of the dd command without good information can be devastating to the health of your system as it is easy to overwrite the wrong drive like your boot and/or data drive. Proceed with caution.

Read more: Getting started with Etcher.io

How to use the dd command to create bootable Linux drives

With your USB stick inserted into your computer, open a terminal window and issue the following command:

$ lsblk 

You should receive an output that looks something like this.

$ /dev/sdb1 or /dev/sdc1

Unmount the drive with the following command.

$ sudo umount /dev/sdX1 

Use the dd command to write the ISO file to the USB drive:

$ sudo dd if=/path/to/linux.iso of=/dev/sdX bs=4M status=progress

Important: Replace /path/to/linux.iso with the path to your ISO file and /dev/sdX with the correct device identifier.

After the dd command completes, you can verify that the data was written correctly by checking the output of lsblk or fdisk -l.

Once the process is complete, safely eject the USB drive, again replacing /dev/sdX with the correct device identifier for your system:

$ sudo eject /dev/sdX

Now you are ready to start using your newly created Linux boot drive to rescue Windows systems or turn someone on to using Linux.

More from We Love Open Source

This article is adapted from “DIY bootable Linux disk creation without internet access or additional tools” by Don Watkins, and is republished with permission from the author.

About the Author

I am Don Watkins, a free and open source software (FOSS) advocate.

Read Don's Full Bio

The opinions expressed on this website are those of each author, not of the author's employer or All Things Open/We Love Open Source.

Want to contribute your open source content?

Contribute to We ❤️ Open Source

Help educate our community by contributing a blog post, tutorial, or how-to.

This year we're hosting two world-class events!

Join us for AllThingsOpen.ai, March 17-18, and All Things Open 2025, October 12-14.

Open Source Meetups

We host some of the most active open source meetups in the U.S. Get more info and RSVP to an upcoming event.