How to Create a Kali Linux Virtual Machine

One huge advantage I love about Kali is that it is supported on various architectures. I can even install a version of Kali on my Android phone, and of course you can also install it on any iOS device.

In this article, I will walk you through the steps of creating a Kali Linux virtual machine on my Windows 10 computer machine, as I take notes mainly from the book Wireshark for Security Professionals: Using Wireshark and the Metasploit Framework by Jessey Bullock and Jeff T. Parker.

System Requirements

The installation requirements for Kali Linux will vary depending on what you would like to install and your setup. For system requirements:

  1. On the low end, you can set up Kali Linux as a basic Secure Shell (SSH) server with no desktop, using as little as 128 MB of RAM (512 MB recommended) and 2 GB of disk space.
  2. On the higher end, if you opt to install the default Xfce4 desktop and the kali-linux-defaultmetapackage, you should really aim for at least 2 GB of RAM and 20 GB of disk space.
    • When using resource-intensive applications, such as Burp Suite, they recommend at least 8 GB of RAM (and even more if it is a large web application!) or using simultaneous programs at the same time.

Here is how I went on with the installation process:

  • I downloaded Kali Linux (the recommended image marked Installer) from https://www.kali.org/get-kali/ . The installer image was 3.6GB, so I had to make sure I had enough space on my hard drive. I then fired up VirtualBox when the download finished and selected the New icon to create a new guest VM.
Creating a new virtual machine: I named my machine Kali, I set the type to Linux and version to Debian as Kali is based on Debian.
  • I gave my VM 1GB RAM as my machine has 4GB of memory, and then clicked Next.
Selecting a virtual machine memory.

  • I selected Create a virtual hard disk now and clicked on Create.
Creating a virtual disk.
  • I selected the default VDI (VirtualBox Disk Image) and clicked on Next.
Creating a virtual disk type.
  • To ensure the only space taken up by the VDI is what is needed by the VM, I opted for the default option, Dynamically Allocated. This means that my Virtual Disk Image (VDI) file will grow as the VM requires, up to the stated limit. This helps save my hard drive space, and if the required space gets smaller, the VDI size will not shrink but remain at the largest needed at that particular time.
Storage on physical disk.
  • I opted for the recommended Kali disk size which is at least 20GB.
Virtual disk size.

I created my VM successfully and before I started it, I had to enable the Physical Address Extension (PAE) feature so that I will be able to install Kali. The Kali Linux kernel, which is the core of the operating system, is configured with PAE, so it expects to be running on a CPU that can support that.

  • To enable PAE, I selected Settings, highlighted System in the left pane, and then clicked the Processor tab (taking note that clicking Settings applies to whatever VM I highlighted— which is an important tip for whenever I have several VMs built). I checked the Enable PAE/NX checkbox and clicked OK. The NX refers to the No-eXecute processor bit that helps defend a CPU against malicious software attacks. On a physical PC, enabling the NX bit, if available, is done through the BIOS.
Enabling PAE. The NX refers to the No-eXecute processor bit that helps defend a CPU against malicious software attacks. On a physical PC, enabling the NX bit, if available, is done through the BIOS.
  • Now that I was ready to start my VM, I made sure that my Kali VM was highlighted and then clicked Start. I was prompted for a start-up disk, which was an ISO file I downloaded earlier, so clicked on the icon that displayed the open file dialog box and selected the 3.6GB Kali ISO image I downloaded.
Selecting start-up disk. Clicking Start started the VM with my Kali ISO image as the boot device.

Installing Kali Linux

  • Now that I had a VM that started up at boot menu, I installed the Kali Linux operating system.
Kali boot menu: I moved down the options using the arrow keys to Install.

The installation proceeded to prompt me for configuration questions like the preferred language, country, and keymap (keyboard letter assignment).

  • I then named my system “kali4moha”.
Entering a hostname.
  • I skipped the Name server addresses and Domain prompts by simply clicking on Continue.
  • I set up my new user account by entering my details and choosing my password.
Entering full name.
Entering username.
Entering password. This is the very same password I will use when logging in to my Kali VM.
  • The next prompt was about disk partitioning. I chose the default Guided – Use Entire Disk option.
Disk partitioning.
  • I confirmed to partition the disk SCSI2 (0,0,0).
Disk confirmation.
  • After the confirmation, I was prompted to select whether I wanted all files in one partition. I went with the default, All files in one partition.
Confirming single partition disk.
  • I was then shown an overview of my partition-related selections. I selected the option Finish partitioning and write changes to disk to continue.
Writing changes to a disk.
  • I selected Yes to write changes onto the disk.
Confirming disk changes.
  • A status bar popped up showing installation progress.
Installation progress bar. The installation took quite a bit of time.

I selected the default Desktop environment, and clicked on continue to proceed with the installation process.

Selecting the software.

I selected Yes, and went on to install GRUB on my partitioned hard drive.

Confirming GRUB boot loader installation.
Installing GRUB boot loader onto the hard drive.
  • I rebooted the system clicking on continue, and immediately after reboot I was presented with the username and password for my Kali account.
Installation is complete.
Kali welcomes Moha!
Picture of admin

admin

Leave a Replay

About Me

Telecommunications Engineer | Full-stack Developer | Cloud and Internet Security Enthusiast. 

Recent Posts

Follow Us

Weekly Tutorial