multiboot oSuse XP W7 / grub accessing ntfs

OK, first some information: fdisk -l:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2a8ec759

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1349    10833920   1c  Hidden W95 FAT32 (LBA)
/dev/sda2   *        1350        3961    20980890    7  HPFS/NTFS
/dev/sda3            3962       30401   212379300    f  W95 Ext'd (LBA)
/dev/sda5            3962        4223     2104483+  82  Linux swap / Solaris
/dev/sda6            4224        6834    20972826   83  Linux
/dev/sda7            6835       14592    62316103+  83  Linux
/dev/sda8           14593       17203    20972826    7  HPFS/NTFS
/dev/sda9           17204       30401   106012903+   7  HPFS/NTFS

sda1 is vista recovery
sda2 XP (with W7 bootmgr)
sda3 start of extended
sda5,6,7 opensuse with sda6 as root
sda8 W7
sda9 some Data on ntfs

current menu.lst :

# Modified by YaST2. Last modification on Do Apr 29 12:25:47 CEST 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,5)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.2 - 2.6.31.12-0.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-Hitachi_HTS543225L9A300_090603FB2K06LEETJ96C-part6 resume=/dev/sda5 splash=silent quiet showopts vga=0x317
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.2 - 2.6.31.12-0.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-Hitachi_HTS543225L9A300_090603FB2K06LEETJ96C-part6 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x317
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows XP - 7
    rootnoverify (hd0,1)
    chainloader +1

XP was installed first, then opensuse
later i resized sda7 to get space for W7
installed W7
now W7 wrote its bootmgr to sda2 and added an entry to load ntldr
i restored grub to mbr and now menu lst is like seen above
i have to select “Windows XP / 7” then grub chainloads the bootblock of sda2 and i get W7s bootmgr

i want to change this to grub either directly loading bootmgr or ntldr from root of sda2 but grub cant access sda2 at boot time (only blind chainloads with offset +1)

i’ve searched around and found that this can be done with adding “insmod ntfs” to grub.cfg to make grub being able to find ntldr
but there is no grub.cfg in my linux fs… (/etc/sysconfig/bootloader ?? )

so, what to do that my grub menu lokks like
opensuse
XP
Win7
…? (leaving the opensuse entrys as they are)

sorry can’t edit my last post (tried to edit once but canceled it…?)

before installing win7 i saved grub to a file with

sudo dd if=/dev/sda of=/media/sda2/lnxldr bs=512 count=1 

and added lnxldr to my boot.ini of XP
so after installing W7 it adapted this boot.ini line and the W7 bootmgr loaded grub and grub started opensuse…

of course, i could restore the W7 bootmgr to my mbr of sda and would have the choice to dirctly boot osuse(via grub) w7 and xp(via ntldr) but i’d like to use grub as its much more beautiful :stuck_out_tongue:

and, yes even if grub can load ntldr directly, i will still have my boot.ini selection but then i could set the timeout of bootmgr and ntldr to 0 , so XP and W7 will start directly after their secection in grub…

i’ve searched around and found that this can be done with adding “insmod ntfs” to grub.cfg to make grub being able to find ntldr
but there is no grub.cfg in my linux fs… (/etc/sysconfig/bootloader ?? )

That procedure is for GRUB 2 , but you are currently using GRUB Legacy. GRUB Legacy can not mount and read a NTFS partition , so the only way is the current setup with chainloader.

Grub 2 can be installed but will have to let others tell you how.