Making a Kali Bootable USB Drive (Linux)

Our favourite way, and the fastest method, for getting up and running with Kali Linux is to run it โ€œliveโ€ from a USB drive. This method has several advantages:

  • Itโ€™s non-destructive - it makes no changes to the host systemโ€™s hard drive or installed OS, and to go back to normal operations, you simply remove the โ€œKali Liveโ€ USB drive and restart the system.

  • Itโ€™s portable - you can carry Kali Linux in your pocket and have it running in minutes on an available system

  • Itโ€™s customizable - you can roll your own custom Kali Linux ISO image and put it onto a USB drive using the same procedures

  • Itโ€™s potentially persistent - with a bit of extra effort, you can configure your Kali Linux โ€œliveโ€ USB drive to have persistent storage, so the data you collect is saved across reboots

In order to do this, we first need to create a bootable USB drive which has been set up from an ISO image of Kali Linux.

What Youโ€™ll Need

  1. A verified copy of the appropriate ISO image of the latest Kali build image for the system youโ€™ll be running it on: see the details on downloading official Kali Linux images.

  2. If youโ€™re running under Linux, you can use the dd command, which is pre-installed, or use Etcher.

  3. A USB thumb drive, 4GB or larger. (Systems with a direct SD card slot can use an SD card with similar capacity. The procedure is identical.)

Kali Linux Live USB Install Procedure

The specifics of this procedure will vary depending on whether youโ€™re doing it on a Windows, Linux, or macOS/OS X system.

Creating a Bootable Kali USB Drive on Linux (DD)

Creating a bootable Kali Linux USB drive in a Linux environment is easy. Once youโ€™ve downloaded and verified your Kali ISO file, you can use the dd command to copy it over to your USB drive using the following procedure. Note that youโ€™ll need to be running as root, or to execute the dd command with sudo. The following example assumes a Linux Mint 17.1 desktop - depending on the distro youโ€™re using, a few specifics may vary slightly, but the general idea should be very similar. If you would prefer to use Etcher, then follow the same directions as a Windows user. Note that the USB drive will have a path similar to /dev/sdb.

WARNING: Although the process of imaging Kali Linux onto a USB drive is very easy, you can just as easily overwrite a disk drive you didnโ€™t intend to with dd if you do not understand what you are doing, or if you specify an incorrect output path. Double-check what youโ€™re doing before you do it, itโ€™ll be too late afterwards.

Consider yourself warned.

  1. First, youโ€™ll need to identify the device path to use to write the image to your USB drive. Without the USB drive inserted into a port, execute the command sudo fdisk -l at a command prompt in a terminal window (if you donโ€™t use elevated privileges with fdisk, you wonโ€™t get any output). Youโ€™ll get output that will look something (not exactly) like this, showing a single drive - โ€œ/dev/sdaโ€ - containing three partitions (/dev/sda1, /dev/sda2, and /dev/sda5):

2. Now, plug your USB drive into an available USB port on your system, and run the same command, โ€œsudo fdisk -lโ€ a second time. Now, the output will look something (again, not exactly) like this, showing an additional device which wasnโ€™t there previously, in this example โ€œ/dev/sdbโ€, a 16GB USB drive:

3. Proceed to (carefully!) image the Kali ISO file on the USB device. The example command below assumes that the ISO image youโ€™re writing is named โ€œkali-linux-2022.4-live-amd64.isoโ€ and is in your current working directory. The blocksize parameter can be increased, and while it may speed up the operation of the dd command, it can occasionally produce unbootable USB drives, depending on your system and a lot of different factors. The recommended value, โ€œbs=4Mโ€, is conservative and reliable. Additionally, the parameter โ€œconv=fsyncโ€ makes sure that the data is physically written to the USB drives before the commands returns:

:~$ dd if=kali-linux-2022.4-live-amd64.iso of=/dev/sdb conv=fsync bs=4M

Imaging the USB drive can take a good amount of time, over ten minutes or more is not unusual, as the sample output below shows. Be patient!

The dd command provides no feedback until itโ€™s completed, but if your drive has an access indicator, youโ€™ll probably see it flickering from time to time. The time to dd the image across will depend on the speed of the system used, USB drive itself, and USB port itโ€™s inserted into. Once dd has finished imaging the drive, it will output something that looks like this:

893+1 records in
893+1 records out
3748147200 bytes (3.7 GB, 3.5 GiB) copied, 998.442 s, 3.8 MB/s

Thatโ€™s it, really!

Creating a Bootable Kali USB Drive on Linux (DD with status)

Alternatively there are a few other options available for imaging.

The first option is dd with a status indicator. This is only available on newer systems however. To do this, we simply add the status flag:

:~$ dd if=kali-linux-2022.4-live-amd64.iso of=/dev/sdb conv=fsync bs=4M status=progress

Another option is to use pv. We can also use the size flag here to get an approximate timer. Change the size depending on the image being used:

:~$ dd if=kali-linux-2022.4-live-amd64.iso | pv -s 2.8G | dd of=/dev/sdb conv=fsync bs=4M

Creating a Bootable Kali USB Drive on Linux (Etcher)

The third is Etcher.

  1. Download and run Etcher.

  2. Choose the Kali Linux ISO file to be imaged with โ€œselect imageโ€ and verify that the USB drive to be overwritten is the correct one. Click the โ€œFlash!โ€ button once ready.

3. Once Etcher alerts you that the image has been flashed, you can safely remove the USB drive.

You can now boot into a Kali Live / Installer environment using the USB device.

Last updated