# ntldr.mod missing in x86_64-efi folder

## gaebb3r

Hi,

I have set up my system to use efi-64 as the default grub platform. My system is now booting through a UEFI/GPT configuration.

But I can't boot my Windows 7 Pro any longer which is located on another disk:

```
agph-v4 ~ # parted -l

Modell: ATA INTEL SSDSC2CW06 (scsi)

Festplatte  /dev/sda:  60,0GB

Sektorgröße (logisch/physisch): 512B/512B

Partitionstabelle: gpt

Disk Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem     Name    Flags

 1      1049kB  269MB   268MB   fat16           UEFI    bios_grub

 2      269MB   4564MB  4295MB  linux-swap(v1)  swap

 3      4564MB  60,0GB  55,5GB  ext4            rootfs  boot

Modell: ATA INTEL SSDSA2CT04 (scsi)

Festplatte  /dev/sdb:  40,0GB

Sektorgröße (logisch/physisch): 512B/512B

Partitionstabelle: msdos

Disk Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags

 1      1049kB  106MB   105MB   primary  ntfs         boot

 2      106MB   40,0GB  39,9GB  primary  ntfs

Modell: ATA Hitachi HDE72101 (scsi)

Festplatte  /dev/sdc:  1000GB

Sektorgröße (logisch/physisch): 512B/512B

Partitionstabelle: gpt

Disk Flags: 

Nummer  Anfang  Ende    Größe  Dateisystem  Name                  Flags

 1      1049kB  550GB   550GB  ntfs         Basic data partition

 2      550GB   1000GB  450GB  ext4         data
```

The entry in grub.conf looks like this:

```
agph-v4 ~ # cat /etc/grub.d/40_custom 

#!/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 "Microsoft Windows 7 Professional" {

#       insmod chain

#       set root=(hd1)

#       chainloader +1

insmod part_msdos

insmod ntldr

insmod ntfs

ntldr (hd1,msdos1)/bootmgr

}
```

Windows is installed like that:

```
agph-v4 ~ # mount /dev/sdb1 /mnt/temp/

agph-v4 ~ # ll /mnt/temp/

insgesamt 396K

drwxrwxrwx  1 root root 4,0K 23. Feb 20:44 .

drwxr-xr-x 12 root root 4,0K 25. Apr 09:02 ..

drwxrwxrwx  1 root root 4,0K 23. Feb 20:44 Boot

-rwxrwxrwx  1 root root 375K 20. Nov 2010  bootmgr

-rwxrwxrwx  1 root root 8,0K 18. Feb 10:09 BOOTSECT.BAK

drwxrwxrwx  1 root root    0 18. Feb 10:09 System Volume Information
```

So, from my understanding it should boot properly - BUT: /boot/grub/x86_64-efi/ntldr.mod is missing and that's the reason my system reports a "ntldr.mod not found" when selecting Windows 7 from the grub2 boot menu.

I then installed the i386-pc package which includes its own ntldr.mod and copied it to the x86_64-efi/ directory. Surely, it doesn't work because of the architectural incompatibility.

Does anyone know how I can get the "original" ntldr.mod for x86_64-efi?

Thanks a lot!

----------

## s4e8

```

chainloader (...)/EFI/Microsoft/Boot/bootmgfw.efi

```

you should install the win7 using UEFI mode. if not, you should convert it:

```

C:

mkdir \EFI\Microsoft\Boot

cd \EFI\Microsoft\Boot

xcopy C:\Windows\Boot\EFI /s/e

xcopy C:\Windows\Boot\Fonts Fonts /s/e/i

bcdedit /export BCD

bcdedit /store BCD /deletevalue {bootmgr} device

bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi

bcdedit /store BCD /set {default} path \Windows\system32\winload.efi

```

Booting to Linux, and cp \EFI\Microsoft\Boot to ESP(/boot/efi/efi/Microsoft/Boot/), because windows don't mount ESP in non-EFI mode and most EFI firmware can't access NTFS partition(except ASUS m/b).

Some m/b prefer bootmgfw.efi over BootX64.efi, you can't boot linux after create bootmgfw.efi. You may rename bootmgfw.efi to win7.efi.

After boot windows in EFI mode, you can fix other BCD entrys

```

mountvol Z: /s

bcdedit /set {memdiag} device partition=Z:

bcdedit /set {memdiag} path \EFI\Microsoft\Boot\memtest.efi

bcdedit /set {guid_of_recovery_env!!!} \Windows\system32\winload.efi

bcdedit /set {guid_of_resume_app!!!} \Windows\system32\winresume.efi

REM examine and fix others

bcdedit /enum all

```

Don't convert /dev/sdb to GPT, win7 boot fine with mbr partitions. If you do convert it, you lost the dual boot BIOS/EFI windows, and you need to adjust all "device" entry in BCD or use bcdboot re-create it, because partition signatures changed after converting.

----------

## cryptopsy1

Doesn't work, please verify your paths because /efi/efi seems wrong. Error 0xc0000225

----------

