You are not logged in.

#1 2017-09-23 18:00:02

Leafy Greens
Member
Registered: 2017-09-16
Posts: 21

[SOLVED]GRUB cannot find /ntldr on win7/arch BIOS-MBR dual boot system

I'm setting up a dual boot system with both arch and win7 in BIOS-MBR mode. I've successfully gotten both OSes installed, and can boot into arch with GRUB easily. However, when I try to boot into windows, I get the following message for a few seconds, before being returned to the GRUB menu:

error: file '/ntldr' not found.

Press any key to continue..._

Here's the contents of my /etc/grub.d/40_custom file in full:

#!bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "System shutdown" {
        echo "System shutting down..."
        halt
}
menuentry "System restart" {
        echo "System rebooting..."
        reboot
}
if [ "${grub_platform}" == "pc" ]; then
  menuentry "Microsoft Windows Vista/7/8/8.1/10 BIOS-MBR" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr
    search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 F0A6268DA626547E
    ntldr /ntldr
  }
fi

sda1 is my system reserved partition, sda2 is my windows c: partition, and sda3 is my arch partition in ext4 format.

Searching didn't give anything useful, all results were either from when grub switched from grub legacy to grub2, or issues specific to UEFI systems. What am I missing for this to boot correctly?

Last edited by Leafy Greens (2017-09-23 22:38:51)


Explicit um est volumen
(The scroll has been completely unrolled)

Offline

#2 2017-09-23 19:09:33

2ManyDogs
Forum Fellow
Registered: 2012-01-15
Posts: 4,648

Re: [SOLVED]GRUB cannot find /ntldr on win7/arch BIOS-MBR dual boot system

arch wiki wrote:

For Windows Vista/7/8/8.1/10:

if [ "${grub_platform}" == "pc" ]; then
  menuentry "Microsoft Windows Vista/7/8/8.1/10 BIOS-MBR" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
    ntldr /bootmgr
  }
fi

For Windows XP:

if [ "${grub_platform}" == "pc" ]; then
  menuentry "Microsoft Windows XP" {
    insmod part_msdos
    insmod ntfs
    insmod search_fs_uuid
    insmod ntldr     
    search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
    ntldr /ntldr
  }
fi

You appear to be using the XP stanza, not the Windows 7 version (note the difference in the "ntldr" line).

Last edited by 2ManyDogs (2017-09-23 19:10:34)

Offline

#3 2017-09-23 22:38:22

Leafy Greens
Member
Registered: 2017-09-16
Posts: 21

Re: [SOLVED]GRUB cannot find /ntldr on win7/arch BIOS-MBR dual boot system

2ManyDogs wrote:

You appear to be using the XP stanza, not the Windows 7 version (note the difference in the "ntldr" line).

Well, that was a simple fix.

But now I can't find the any key... :P


Explicit um est volumen
(The scroll has been completely unrolled)

Offline

Board footer

Powered by FluxBB