I am running a laptop with two SSDs. On one SSD I installed Win 8.1 Pro, and on the other I installed Debian 9.1.

My laptop has no issue identifying the Windows Boot Manager, but can not find any bootloader for Debian. I followed the instructions from the Debian Wiki:


It seems that my boot entry is disappearing after restarting. I am able to boot into my Debian installation using the Refind tool on a USB, however if I use the Refind tool to create a Refind bootmanager from within Debian in my current installation, it too disappears after a restart. I have no idea why this is happening. Here is my output from efibootmgr --verbose | grep HD:

Boot0001* USB HDD: KingstonDataTraveler 2.0 PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0)/HD(1,MBR,0x0,0x800,0x737f800)RC Boot0002* Windows Boot Manager HD(2,GPT,eac81798-a589-4662-bbaa-48ec8e3b4153,0x96800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.}...a................ Boot0004* Unknown Device: HD(2,GPT,fbc0aa4f-98c8-4ce5-91c6-17dd88a42cad,0x96800,0x32000)/File(\EFI\ubuntu\shimx64.efi)RC

I am not sure what's going on with the 'Unknown Device' and the ubuntu entry.

I just noticed that if I run df -h, the output seems suspicious:

Filesystem Size Used Avail Use% Mounted on udev 16G 0 16G 0% /dev tmpfs 3.2G 9.6M 3.2G 1% /run /dev/sdb2 116G 2.8G 112G 3% / tmpfs 16G 15M 16G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sda2 96M 27M 70M 28% /boot/efi /dev/sdb2 116G 2.8G 112G 3% /home /dev/sdb2 116G 2.8G 112G 3% /var/cache /dev/sdb2 116G 2.8G 112G 3% /.snapshots tmpfs 3.2G 16K 3.2G 1% /run/user/117 tmpfs 3.2G 24K 3.2G 1% /run/user/1000

sda2 is my Windows boot manager. I must have made a mistake during setup and perhaps set it that way, or perhaps the installer is somehow responsible for selecting sda2 instead of sdb1.

I actually tried booting with just the drive that has Debian on it, but that yields the "no bootable device" error from my laptop. Something is wrong error, the problem seems solvable, would appreciate your input.

The sudo fdisk -l output also seems relevant here, as it shows that there is a reserved partition for EFI on sdb1:

Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9092C715-CAFB-40B5-80FF-060E522DE1E9

Device       Start        End   Sectors   Size Type
/dev/sda1     2048     616447    614400   300M Windows recovery environment
/dev/sda2   616448     821247    204800   100M EFI System
/dev/sda3   821248    1083391    262144   128M Microsoft reserved
/dev/sda4  1083392 1000214527 999131136 476.4G Microsoft basic data

Disk /dev/sdb: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DD0B661F-72D6-437A-991D-8034AB2C81CE

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048    391167    389120   190M EFI System
/dev/sdb2     391168 242579455 242188288 115.5G Linux filesystem
/dev/sdb3  242579456 250068991   7489536   3.6G Linux swap

Disk /dev/sdc: 57.8 GiB, 62008590336 bytes, 121110528 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdc1  *     2048 121110527 121108480 57.8G  c W95 FAT32 (LBA)
  • It sounds like the linux bootloader is being installed to a different disk than windows, so the windows bootloader is found first by default. One solution that may work for you is to add an entry for the linux installation to the windows bootloader. (superuser.com/a/499652/76251) Another possible solution would be installing Grub to /dev/sda, and making sure it has a Windows entry that points to the right place. – Tim Kennedy Aug 28 '17 at 13:07
  • Like I said, I uninstalled the drive with Windows on it from my laptop, so it is not that Windows Bootloader is taking priority, the drive with Linux is simply not bootable, and I expect it has to do with something that the file system under Linux itself is pointing to Windows Boot Manager. I am aware of the possibility of installing GRUB on my Windows disk, as I have ran dual-boot setups in the past, in fact I will probably do that, so that I don't have to use Refind anymore to boot into Debian, but I would still like to fix the bootloader for Debian. – insideman Aug 29 '17 at 9:16
  • I am now able to boot from the drive. My BIOS boot menu acknowledges that there is a bootloader, however BIOS seems to currently be ignoring my preferred hard drive boot order, which would put Debian loading before Windows by default, however pressing F12 on start up brings up a menu that allows me to select which drive to boot into. The way I achieved this was by following the steps in "Problem1: Weak EFI implementation only recognizes the fallback bootloader" (wiki.debian.org/GrubEFIReinstall). I skipped this initially, since it technically isn't the issue, but I was missing dirs. – insideman Aug 29 '17 at 17:52
  • I had a laptop that used to do that. So I set both boot loaders to dual boot, by adding the win installation to Grub, and the linux installation to the windows boot loader. Then no matter which drive the bios decided to boot that day I could get either of my OSes. – Tim Kennedy Aug 29 '17 at 22:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.