MBR Windows 10 + Debian 9.1 ext4

#1
Cannot boot Debian 9.1 using ext4 / with Windows 10 and EasyBCD 2.3 final. Any suggestions?

I have existing Windows 10 Pro installed on MBR disk using Windows MBR boot loader, with the usual three Windows partitions (System, C:, Data/Recovery). I installed Debian 9.1 into two logical partitions, and installed Grub into the / partition. Booting into Ubuntu USB I can verify the Debian / partition appears to correctly have /boot and grub configured.

The physical layout and partition numbers are (counting partitions from 1):
Primary 1 Windows System
Primary 2 Windows C:
Logical 5 Debian swap
Logical 6 Debian / (including /boot and grub)
Primary 3 Windows Data (recovery?)

When I boot I get the Windows boot menu choice. If I select the EasyBCD added Debian entry just get grub4dos command line. Does not matter if in EasyBCD I selected the auto option, or partition 6.
 
#2
One update - grub4dos (2014) does not support ext4. I re-installed Debian with an ext3 /boot partition as well as the swap and ext4 / partitions. System still did not boot into Debian, but grub4dos can ls the ext3 partition eg

# This works on ext 3 partition (/boot)
ls (hd0,4)/
# This does not work on ext4 partition (/) - Error 14: Filesystem compatibility error, cannot read whole file
ls (hd0,6)/
 
#3
And from the grub4dos command line this will now load the Debian Grub2 menu if I type the commands:

chainloader (hd0,4)+1
boot

So does anyone know how I can get EasyBCD to do this step directly from the WIndows boot menu? To summarize the partition structure now looks like:

Primary 1 Windows System
Primary 2 Windows C:
Logical 5 Debian ext3 /boot (includes gruib2 and /grub/grub.cfg)
Logical 6 Debian swap
Logical 7 Debian ext4 /
Primary 3 Windows Data (recovery?)
 
#4
Finally came back and figured this out. This is working with the partition layout from post #3. It does use one extra chained loader, but this adds less than one second delay.

In EasyBCD select "Add New Entry" then Operating Systems - NeoGrub, click Install. This is instead of using the Linux/BSD tab and adding a specific type.

Edit C:\NST\menu.lst. I only needed to boot a single Linux instance, so this works. Add these lines to auto-chain load Grub2 installed on (hd0,4) i.e. partition #5 /boot

default 0
timeout 1

title Debian 9.1
chainloader (hd0,4)+1
boot​
 

Ex_Brit

If you're going through hell, keep going.
Staff member
#5
Glad you knew what you needed as it appears nobody else did. All the best :wink:
 
#6
Finally came back and figured this out. This is working with the partition layout from post #3. It does use one extra chained loader, but this adds less than one second delay.

In EasyBCD select "Add New Entry" then Operating Systems - NeoGrub, click Install. This is instead of using the Linux/BSD tab and adding a specific type.

Edit C:\NST\menu.lst. I only needed to boot a single Linux instance, so this works. Add these lines to auto-chain load Grub2 installed on (hd0,4) i.e. partition #5 /boot

default 0​

timeout 1​


title Debian 9.1​

chainloader (hd0,4)+1​

boot​
Hi debuser. Your thread has been very helpful. Thanks a lot!

I would like to point out just one little detail for the ones who 'll read this in the future: In EasyBCD 2.3 (the only one I tri ed with) I tried to write the MBR menu with 3 entries, one for Windows, one for my Linux OS generated through "Linux/BSD" tab, and one entry for the same Linux/OS generated with the method described above by debuser. The MBR write was successful but after reboot, the last menu entry was missing. It finally appeared only after deleting the 2nd entry (the one generated through the "Linux/BSD" tab). I don't know why this happens, I just tried random things, even if without any logic, and it worked :smile:
Have a nice day. Bye.