Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ntldr.mod missing in x86_64-efi folder
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
gaebb3r
n00b
n00b


Joined: 22 Oct 2007
Posts: 56
Location: 48°31′N, 9°3′E

PostPosted: Tue Aug 12, 2014 8:06 pm    Post subject: ntldr.mod missing in x86_64-efi folder Reply with quote

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:
Code:
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:
Code:
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:
Code:
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!
_________________
Core i7-3960X - X79-UD3 - 16384 MB
Back to top
View user's profile Send private message
s4e8
Guru
Guru


Joined: 29 Jul 2006
Posts: 309

PostPosted: Wed Aug 13, 2014 12:21 am    Post subject: Reply with quote

Code:

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

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

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
Code:

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.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum