Dual Boot – How to Dual Boot Windows 8.1 and Debian Jessie

bootdebianlinuxmulti-bootwindows

I've been trying for a month now to dual boot Windows 8.1 and Debian Jessie now. I thought it was about time I asked for help as I'm becoming a little crazy.

I've tried following a lot of tutorials, I'll link a few:

http://itstuff.the-zabala.net/2013/08/dual-boot-debian-7-wheezy-on-existing.html?showComment=1391441528704#c6800486694487233060

http://www.linuxbsdos.com/2013/02/06/how-to-dual-boot-fedora-18-and-windows-8-on-one-hdd-with-grub-installed-in-a-pbr/2/

I can't post more links, a shame, because I've tried a lot.
There were some really easy tutorials, like the first one, where I couldn't continue, because sudo modprobe efivars failed. sudo modprobe efivarfs did succeed though. But when I continued after using efivarfs, there wasn't a new entry.

I also tried using EasyBCD, setting it on GRUB 2 and "automatically choose and load", but it would choose "/NST/AutoNeoGrub0.mbr". Which is of course is not correct. So basically, to sum up my problem: modprobe efivars doesn't work, and because a lot depends on that, every tutorial I follow, fails.

How I can start Linux and some background information: I had Windows 8 first and still want to keep it and use its bootloader, because it already loads windows 8 a bit. I've got Secure Boot off and UEFI on with Legacy boot options on. I can boot Debian by going into boot menu and choosing Hard Drive under Legacy Boot.

Oh yeah, Almost forgot, when I wanted to install Debian, using an USB stick with some nice Windows programs didn't work, so I had to use a DVD+RW to install it.

I've tried this order a few times now:

sudo mount /dev/sda1 /boot/efi
sudo modprobe efivarfs
sudo grub-install /dev/sda
sudo update-grub

Sometimes I had to use --force, I don't remember why anymore, I have tried so much stuff…

I really hope some of you have got a solution for me!

Best Answer

If you want Debian Jessie on the same disk as Windows 8.1, here are the steps I had to go through:

1) Turn off Windows Fast Boot

2) You need to shrink the main Windows 8.1 partition. This can be tricky, as Windows expects a certain partition scheme to be used. Let me show you a diagram:

[(Windows RE Tools)(EFI System Partition)(Microsoft Reserved Partition)(Windows 8.1)(Anything else)]

You can use your favorite tool to edit these partitions. I prefer Gparted, but any good disk partitioning tool can handle this. Backup your Windows install first. Then, resize the Windows 8.1 partition so that you have enough space for another OS. I prefer to give Debian about 100 GB of space.

3) Download your Debian Jessie iso and put it on some media (CD/DVD/USB/(insert your preferred media here)).

4) Shut off Secure Boot and Fast Boot in the UEFI. DO NOT TURN ON LEGACY BOOTING (if your motherboard supports UEFI only booting without Secure Boot and Fast Boot on.)

5) Insert your install media and install Debian Jessie in the 100 GB of space you left. Make sure that for your EFI boot partition, you make the installer use the EFI System Partition already created by Windows 8.1. The partition should be something like sdx2, but this could be different. DO NOT REFORMAT THIS PARTITION!! You are only going to tell the installer to use it as the EFI partition. It will put the grubx64.efi bootloader for Debian Jessie in this location.

6) With that done, continue the install as normal and set up your partitions as you see fit. Once the install is finished, you should be able to boot into Jessie easily.

If you are trying to fix an existing install of Debian Jessie, you will need to do:

sudo apt-get install grub-efi-amd64

sudo modprobe efivars

sudo grub-install /dev/sdx (x being the drive Debian is installed on)

sudo update-grub

From there, the UEFI should use Grub-EFI as the bootloader. I have not found a way to get the Windows 8 bootloader to see and allow Debian to boot. YYMV.

Related Question