Editor: For a more recent version of this article, using the latest edition of Kali Linux and Windows 10, see Dual-boot Kali Linux Rolling 2016.2, Windows 10 on a PC with UEFI firmware.
The last dual-boot tutorial on Kali Linux I wrote was back in March 2013 (see Dual-boot Windows 7 and Kali Linux), and that was on a computer with Legacy BIOS. That means it’s not a very useful guide if you wish to dual-boot a recent edition of Kali Linux and Windows 7 or Windows 8 on a computer with UEFI firmware.
So, following an exchange with a recent visitor to this site, I decided to make an attempt to dual-boot the latest edition of Kali Linux and Windows 7 on a computer with UEFI firmware. And since Windows 7 and Windows 8 share the same installer, it can also be used as a guide if Windows 8 is your choice of a Microsoft operating system.
The first attempt failed, but I quickly figured out why. So for the benefit of those who might want to do the same, this tutorial provides a step-by-step guide on how to get it done. If you are new to Linux and have never installed any distribution or attempted to dual-boot a Windows operating system and a Linux distribution, this guide gives you all you need to dual-boot Windows 7 or Windows 8 and the latest edition of Kali Linux on a computer with UEFI firmware. It will, however, help if you read A beginner’s guide to disks and disk partitions in Linux before attempting it.
By the time you’re through with this guide, you should have a computer with Kali Linux installed alongside Windows 7 or Windows 8 on the same hard drive, so that when you attempt to reboot into Kali Linux, the GRUB menu should look like the one shown in Figure 1.
For that to happen, you’ll first have to download the latest edition of Kali Linux from https://www.kali.org/downloads/. The edition used for this tutorial is Kali Linux 1.0.9a, which has support for UEFI booting. After downloading it, transfer it to a USB stick (recommended) or a blank DVD. See this forum post for how to transfer it to a USB stick in Linux.
You’ll also, of course, need a computer with Windows 7 or Windows 8 installed. The computer could be an OEM unit (store bought) or custom-built. Then you’ll have to shrink the C drive to create enough disk space that Kali Linux will be installed on. For this tutorial, I used a custom-built unit and installed Windows 7 on it. The hard drive is a 500 GB piece, so I recovered about 200 GB from it to use for Kali Linux. Figure 2 shows the partitions on the system as seen from the Windows 7 partition manager.
And this is what it looks like after shrinking the C drive. See this forum post for help on how to shrink a Windows 7 or Windows 8 C drive. That Unallocated space will be used for Kali Linux. Note that on a store-bought computer, there’ll likely be more partitions than shown here. But that does not have an impact here because the only partitions that come into play are the C drive and the EFI System Partition. In Figure 3, that partition is the 100 MB partition.
Once you have all you need in place, insert the installation media (USB stick or DVD) into the appropriate place and reboot the computer. It should boot into the installation media if it was configured to boot from it. Otherwise, access the computers boot menu and select the entry that points to the UEFI-aware version of the installer. Figure 4 shows the entries on the boot menu of the computer used for this tutorial. The PNY entries are for the UEFI- and non-UEFI versions of the installer.
After selecting the UEFI-aware version of the installer, you should be presented with the Kali Linux installer’s menu. Pressing ENTER should cause it to boot into the Live desktop. From there, launch the installer by accessing it from Applications > System Tools > Install Kali Linux.
After the installer starts, click through the first few steps until you get to the step shown in Figure 6. All the entries sown here are the partition methods. The installation will fail if you select any automatic partitioning method, so select Manual and click Continue.
You should now see a window with the disks connected to the system listed, along with their partitions. In Figure 7, the first three partitions are the Windows 7 partitions. Partition #1 is the EFI system partition, while partition #3 is the C drive. Below that is the Unallocated space that was recovered from the C drive. I’ll address the EFI system partition later, but for now, let’s install Kali Linux on that free space. To do that, double click on it.
You should be presented with the entries shown in Figure 8. Select Automatically partition the free space, then click Continue. Or just double click it.
The next step lets you decide how many partitions the installer should create. The first option will cause the installer to create just two partitions – the root partition and another partition for Swap space. That’s recommended for new users, but if you want your home directory on a separate partition, select the next option. Whichever option you select, click Continue afterwards.
Figure 10 shows the result of the last operation. Partitions #4, #5 and #6 are the newly created partitions. The partition number might not match with yours, but that’s not important. What’s now important is that you have to make a slight change to partition #1, the EFI system partition. To do that, double-click it.
You need to change its Use as entry to something else, so double-click the Use as line and select EFI boot partition from the list of options you’re presented with.
If completed correctly, you should have a Use as line that looks exactly like the one shown in Figure 12. Click Done setting up the partition, then Continue.
If you neglected to complete the task in the previous step, the installation of GRUB will fail and the installer will show you the message just like the one in Figure 13.
This is the installer letting you know what its about to do. Select Yes, then click Continue.
If installation completes successfully, you should get a message just like the oen shown in Figure 15. You may reboot the computer at this point.
And be sure to remove the installation media else the computer will boot into the installer again.
If you access the computer’s boot menu (via the F11 or F12 key) before it boots into the default OS, you should see entries for Windows Boot Manager (boots into Windows 7 or Windows 8) debian (boots into Kali Linux).
If you attempt to boot into Kali Linux, you’ll see the GRUB menu. However, it will not have an entry for Windows as it should.
You can fix that by booting into Kali, launch a terminal and type the following command: update-grub. The output of that command should be just like that in this code block:
Generating grub.cfg ... Found background image: /usr/share/images/desktop-base/desktop-grub.png Found linux image: /boot/vmlinuz-3.14-kali1-amd64 Found initrd image: /boot/initrd.img-3.14-kali1-amd64 No volume groups found Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi done
Finally, when you log into Windows, you may launch the partition manager to see how the number of partitions has changed.
Figure 19 shows the Windows 7 and Kali Linux partitions as seen from the Windows partition manager of the test system. In this screenshot, D is the root partition, E is the home partition of Kali Linux. In between is the Swap partition. If at any time you wish to “uninstall” Kali Linux, just log into Windows and delete its partitions from the Windows partition manager.
Kalil 2.0 yet no option for user as EFI boot. Any ideas?
Going to try what Rubab mentioned.
I haven’t tried Kali 2.0, so can’t say, but I’ll try it today. Stay tuned…
I tried to follow this guide but during “Use as line and select EFI boot partition from the list of options you’re presented with.” I didn’t find any option named “EFI boot partition ” after I double-clicked “Use as”.
So, I continued the installation without installing any bootloader and restarted the PC and booted in Windows 7. I downloaded the 64 bit ISO of “Boot-Repair-Disk” from here http://sourceforge.net/p/boot-repair-cd/home/Home/” and then used “Rufus” from http://rufus.akeo.ie/?locale=en to make a bootable USB selecting “GPT partition scheme for UEFI” option before creating the USB.
After that I booted using Boot-Repair-Disk and selected “Recommended Repair” and followed the instruction given by Boot-Repair-Disk and removed and reinstalled Grub-EFI.
Everything is working correctly now and I can boot into Windows or Kali Linux whenever I want.
for package like Aircrack-ng, I should have saparate kali installation to use or I can use them on virtual machines like Vmware-Workstation and get full functionality?
I believe all the functionality is available even in VMs.
I fallowed those steps and its almost perfect no problem with kali linux but on windows 8.1 can’t load. i think it was on grub i need information to fix this pls help me thanks
Followed the steps but cant see the use as “uefi boot partition” option, is there any other way to fix/see it?
Hi, i’m having problems with this.
When setting the “Do not use” partition to EFIboot it gives me a message “The attempt to mount a file system with type vfat at /boot/efi failed”
“Do you want to resume partitioning?”
Thanks
hello sir first of all thank you for this tutorial.
i seem to be having a problem whenever i try booting kali linux from cd or usb it won’t work i’m using a acer travelmate P253-M and i am booting the drive in uefi mode but whenever i try to boot it gives me a black screen. however i can boot in legacy mode will this have the same effect and will i adventually be able to boot windows 8 and kali linux?
i am also using the latest kali version with the uefi boot support so that can’t be the problem.
Check whether the computer has Secure Boot enabled. That’s likely the reason it can boot in Legacy mode, but not in UEFI mode.
i have secure boot disabled…
I have one HDD and multiple partions thre (Windows 7 running) so if I install linux, it will erase whole HDD ??? or just that partition on which I’m installing.
Find a partition that’s not used by Windows 7, then install Linux on partition. Provided you install Linux on that partition only, it will not affect the others.
thanks a lot. This was so much clearer than most other sites and the method worked without a hitch.
Hello,
I can see the UEFI bootscreen , when i klik on the Kali Linux then windows 8.1 starts up and nog the Kali Linux install. Can you help me ?
You probably missed a step during the installation of Kali. See this article for a fix. Look under the steps for installing Kali, and pay special attention to the step that shows how to set the boot EFI partition.
I did the same that write here but the hard disk is empty is not busy by any windows. what can i do? please i need help . sorry for my bad English 🙂
Sir , how to access the windows boot manager ? sir when i install my kali linux os to other partition the only one problem is that grub installation failed and i just ignored it and continue to install linux and now my problem is how to boot on linux .. hope you can reply thanks 🙂
Well, a little bit more info about the computer and the setup will help in helping you.
pre-installed windows 8 single language , i just followed your tutorial , i enable the hotkey f12 to open boot menu but i cant i open the boot menu.. i don’t know how to boot into kali linux when i start my laptop its like nothing happens, it boot directly to default os..
Do you see an entry for Kali in the UEFI setup utility (BIOS)? Perhaps it’s the F11 key that opens the boot menu.
i tried F2 and Del but i didnt get any uefi setup utility.
its bios
my usb stick didnt give me two options , it has only normal boot menu , there is no uefi boot menu in usb
Then use that one.
I do not have an option “efi boot partition” while selecting efi system partition as efi boot partition
I have also had situation that I could not get a UEFI-aware version of the installer, but after several reboots, I was able to.
But it’s also likely an indication that the computer is set to Legacy BIOS, not EFI Compatible ROM. Can you verify that it’s set to EFI Compatible ROM.
On the other hand, how did you transfer the ISO image to the USB stick?
i used universal usb installer , how to check if its legacy bios or efi?
its bios.. i dont understand , i tried previous method it didnt work i checked from windows it said its uefi now i checked using kali live it says bios
That’s why you’re only seeing one option in the computer’s boot menu. To verify, access the UEFI setup utility and make sure that the boot ROM is set to EFI Compatible ROM. That will require pressing either the Del or F2 key before the computer boots into the default OS.
i tried F2 and Del but i didnt get any uefi setup utility.
there was no option to make boot rom uefi compatible
It should be under the menu called Boot. Or just google how to configure it on that particular computer model.
its not possible with my model , there is no such option
I find that almost impossible to believe!
If ypu can see an EFI partition in Windows, then it surely must have a UEFI firmware. That also means that it must have a UEFI setup utility that you can use to enable/disable EFI mode.
Call the support line of the vendor and ask if they can help you change the ROM mode. Don’t tell them you’re trying to install Linux, because that will give them an excuse to not assist you.
is der any other way of installing kali as dual boot?
If you can’t install directly on the hard drive, you can install it in a virtual environment inside Windows. That will allow you to run Windows and Kali at the same time, which should be good enough for using Kali for pentesting purposes.
If you’re interested in that, I can offer some guidance.