VMware Fusion Kali USB Boot
One of the fun, and often necessary, features of Kali Linux is the ability to create really killer, completely customized live-boot installations. Normally stored on a USB drive, these installations put the power of Kali Linux in your pocket, ready to launch whenever you need it.
Building Kali live USB installations is pretty straightforward, whether you’re going for plain installation, building in persistence so you can store files, going fully-encrypted (even arming a self-destruct passphrase), or customizing and building your own tailored install.
However, the process of testing your USB install can be a bit of a pain, especially if you’re a Mac user. You could, under certain circumstances, reboot your Mac and boot from the USB, but that can be a real hassle.
However, wouldn’t it be great if you could use a product like VMware Fusion (which is the industry-leading product and does a fabulous job running every other OS on our Macs already) to boot and test your live USBs? No rebooting. No fuss. Just pop it in and let it fly.
That seemed like a great idea but the Fusion product has been in flux for awhile, and seems to get “special” treatment from VMware. The company seems to think that Mac users don’t need extensive options, like a checkbox for EFI booting. Instead, they set it up so that if your guest is Mac or Windows-based, it will automatically do an EFI boot for you. That’s helpful, but if you create a Mac or Windows guest and try to boot from the USB, you’ll get the Kali boot screen, followed by a boot-halting message that the USB doesn’t contain a version of Mac or Windows.
Because of this flux, and core differences between Fusion and the rest of the VMware line, this EFI USB booting issue had us stumped. A few workarounds have been introduced, like booting a specialized VM that would attempt an EFI boot, but they had their own problems.
Thankfully, Fusion has matured enough that now we can get under the hood and make this process work. Here’s how you do it.
Select “Linux” -> “Debian 8.x 64-bit”.
Create a new virtual disk. Settings do not matter.
Shut down the machine. Go to “Virtual Machine” -> “Settings” -> “Processor and Memory”, set memory to at least 2048 MB, and set cores to “2”:
Next, head to “Settings” -> “Display”, and check “Accelerate 3D Graphics”. This is optional, but it really helps the performance of your Kali experience. “Use full resolution..” is also optional.
Head to “USB Devices”. Insert your Kali USB and set USB compatibility to USB 3.0 (if you have a USB 3.0 compatible system and drive). Note that USB-C, dongles or not, make no difference here. Just make sure that if you’re using a USB-C device, select USB 3.0 compatibility. Select “Connect to Linux” as the “Plug in Action” and set the machine to “Connect to this virtual machine” when it is plugged in:
Go to “Settings” -> “Disks”. Select “Advanced Options” and “Remove Hard Disk”, sending it to the Trash. You won’t need it.
Next, you’ll need to enable EFi booting. There is no GUI setting for this so, you need to find this VM on your hard drive. Virtual hard drives are stored by default in ~/Documents//Virtual Machines.localized. Change to the directory containing this VM. Ours is called “Kali USB Boot” so the full path is ~/Documents//Virtual Machines.localized/Kali USB Boot.vmwarevm«. Within that directory is a .vmx file named after the VM. Ours is called Kali USB Boot.vmx. Edit that file with your favourite editor and insert the following line:
Be careful with copy and paste. If you paste this line into the editor, you may get funny “Mac quotes” and this will break the VM. Your .vmx file should look something like this:
Now, power on your VM, and it should boot to Kali Linux:
Troubleshooting USB Connections
If you run into problems, you have a few options. First, power off your VM. Go to “Settings” -> “USB Devices” and leave this settings screen up next to your powered-off VM. (You can also expand your toolbar and look at the USB icon). Now, power on the VM. Immediately, you should see the USB Settings screen update with a check next to your USB device:
If you don’t get a check mark, this means that your Mac has grabbed the USB drive. Power off your VM, eject the drive from the Mac, and power on the VM again with the USB settings screen up. You should see the check mark and get the Kali boot screen.
Troubleshooting EFI
When booting with EFI, your boot screen should look like this:
This indicates that EFI is enabled. If it’s not, triple-check that you entered the firmware line correctly in the .vmx file. Note that in some cases, this EFI Network check may hang. Simply pressing ESC within the VM nudges the process along.
On a normal boot, you can click inside the VM screen and press ESC quickly just as the VMware logo is appearing on the screen to get to the Boot Manager:
From here, you can select “EFI Internal Shell” to get into the shell. If you get something like this, missing an fs0 map, then EFI doesn’t see your USB drive. If this is the case, power off the virtual machine, unplug the USB, start the VM, and immediately after pressing start, insert the drive, looking for the checkmark in settings.
If everything goes well, you’re booted into Kali. Otherwise, you can get to an EFI shell with ESC, “EFI Internal Shell”. A “happy” EFI shell looks like this:
Note the fs0 map. Next, you can enter ‘fs0:’ and ’ls’ to look around.
You can enter ‘cd efi\boot’ (notice the backslash, not a forward slash!) and boot the device manually with ‘bootx64.efi’
This should give you a happy EFI boot:
Note that on some installations, the shutdown, followed by removing the drive, powering on the VM and inserting the drive might be required. This likely has much to do with the Mac grabbing the USB drive, or half-grabbing it (without mounting).
Install Kali Linux On M1 Or M2 Mac Using VMWARE Fusion
Install Kali Linux On M1 or M2 Mac Easily. VMWARE Fusion brings support for apple silicon Mac that allows the installation of kali Linux inside a virtual machine.
To install kali Linux inside a virtual machine using VMWare you need to reserve a free space of 30GB or higher on your apple silicon Mac.
Download VMWare Fusion & Kali Linux ISO
That being said it’s time to start installing Kali Linux on any Mac with apple silicon Using VMWare Fusion. Go ahead open your browser and head over to this Link.
VMWare Fusion is free to use for personal computing. You can also buy the premium version based on your demand. Then click register for a personal use license. Create a user account if you don’t have one. Log into with your credentials. Once you logged in, under the license & download section you will see VMware fusion 13 for apple silicon and the license key. Go ahead copy the free license key, and download the dmg file.
Then, head over to the Kali. Click on download and choose apple silicon arm64. By the time of writing this post, kali Linux 2022.4 is the latest release. Go ahead and choose the installer, and start downloading the image file.
Create Virtual Machine
Then go ahead double click on the VMWare Fusion DMG File and follow the on-screen instructions and install it. Using the free license key, activate the VMWARE Fusion. Allow, VMWare to use the system accessibility features. Once it’s done, restart the VMWare Fusion. Then, click on install from disc or image, and import Kali Linux ISO.
Now, click on continue, Choose Linux and select Debian 12 or 11 64-Bit Arm preset & continue.
Then choose to customize settings, name the virtual machine and click on save. Using the settings of the Virtual machine, choose processors and memory then increase the CPU Cores to 4 for better performance. I am gonna allocate the 4 gigs of ram for Kali Linux.
Then choose a hard disk and increase the size of the virtual disk based on your usage. By default, VMWare allocates 20GB of free space for any guest OS.
Once it’s done, start the virtual machine by clicking on the play button.
Keep in mind, when you click inside a virtual machine, the cursor control will be bounded to the Guest OS. To Release press control and command to get the control of the cursor back to the macOS.Then, choose normal or graphical install mode to boot into the installation screen.
Kali Linux Installation
Go ahead and set the system language. Then select your location and set the keyboard language.
Then, Leave kali as the hostname and click on continue. For the Domain name leave it empty.
Create a user account and password. Then, choose USE the entire disk, then select the virtual disk, choose all in one partition and finish partitioning the virtual drive.
Don’t worry this won’t format the macOS, the free space that we allocated for Kali, will be used to install, and runs the kali Linux in an isolated environment and has nothing to do with macOS.
Lastly, you need to choose the desktop environment, I tried XFCE and gnome both works fine without any issues faster.
Then click on continue, to finish installing kali Linux, wait for some time, sit back and relax.
Once the installation is complete, click on continue to reboot. You don’t have to unmount the ISO, VMWARE Fusion will do it automatically for us.
Voila, now you see the login screen. Type your username and password to log in.
Post Things To Do
The first thing to do after installing Kali Linux is to go to settings, choose the display to select the resolution, and use the Native Mac version.
Then go back to the Main settings, and enable the HIDPI mode for the desktop.
Now head over to mouse and trackpad settings, choose a theme and increase the size of the cursor by 60%. Restart the VM to affect these changes.
Bugs
The only caveat is that VMWare uses software rendering and you won’t see any animations or transitions which is kinda a bummer. Apart from that, the software rendering is outstanding. You won’t face any lag or hiccups in terms of performance. The UI feels very responsive and faster. Most of the preinstalled apps and tools are working fine without any issues.
Unfortunately, I could not able to install VMWare tools that will enable hardware acceleration, directory sharing, and more. So, Whenever I choose to mount the VMWare tools, it says the GUEST OS is not compatible. If anyone of you has a solution let me know in the comments section down below. Now, Other than that, with the help of clipboard sharing, you can copy and paste the text between the guest and Host OS.
Delete Kali Linux
Now if in case you decide to delete or remove Kali Linux, shut down the VM. Using the Menu bar, choose Window, Virtual machine library then right-click on the kali Linux, choose to delete and move to trash. This will free up the space on macOS.
That’s pretty much it, this is how you install Kali Linux on any Mac with Apple Silicon Using VMWare Fusion.