GRUB hard disk error booting Vista partition (NTFS is OK)

Hi all,
my current problem is the following:
after installing OpenSuse 11.1 with Grub as bootloader, Suse will boot fine but when selecting Vista, all I get is a “GRUB Hard Disk error”. The menus.lst entry is

title Windoze Vista
   rootnoverify (hd0,0)
   chainloader (hd0, 0)+1

and Vista is on the first primary partition (/dev/sda1 under linux).
The NTFS of the Vista partition is fine (I can mount it under Linux no problem), the Vista boot files ( bootmgr, Boot directory with various BCD stuff) appear to be there. The Vista OEM recovery CD, when chosing “startup repair” does not recognize an installed Vista. The log when trying the automated startup repair claim it’s not finding a Vista partition.
Here’s the account of how I created this mess:

  1. attempt to install OpenSuse 11.1
  2. auto configuration fails to create valid grub menus.lst (partition does not exist type error), the setup command ended on (hd0,1) (hd0, 5). Vista is on hd0, 0, Suse on (hd0,5), so I, as I now know, mistakenly changed the above to (hd0,0) (hd0, 5) instead of (hd0) for grub installation in MBR
  3. as a result, Vista boot sector in /dev/sda1 was overwritten and NTFS in /dev/sda1 corrupted
  4. fixed NTFS and boot sector using testdisk(Advanced NTFS Boot and MFT Repair - CGSecurity) by reconstructing boot sector first, then fixing MFT
  5. modified menu.lst as above
  6. can now mount /dev/sda1 under Linux, but not boot Vista…

Lot’s of time have gone into installing software & configuring things under the current Vista install, so any help on getting Vista to boot in this messed up situation MUCH appreciated although I’ve been able to recover data not backed up before the procedure thanks to mounting the Vista partition under Linux, of course. The OEM full system recovery from the Vista DVD will probably delete & repartition everything to original status…

Thanks a lot!!!
-Sven

Problem solved (not sure what did it, though):

-started Vista recovery
-opened command line window

bootrec /fixboot
bootrec /rebuildbcd

Thereafter, the startup repair option on the Vista DVD actually did something meaningful, which was run an NTFS check on the /dev/sda1, apparently. Vista booted fine after that, files system appears intact…

My suspicion is that the the previous NTFS repair steps left the Vista boot sector on /dev/sda1 in a condition that Vista did not recognize for some reason (although the file system itself was fine). Above steps left GRUB in MBR and Suse in working condition…

Comments from Windoze insiders welcome :slight_smile:

Hello,

I experienced a similar problem: GRUB installed itself on the boot sector of an NTFS partition.

Wouldn’t it be a good idea that GRUB or YAST checks this and refuses to install on the boot sector of an NTFS partition (or at least clearly recommends against it)?

All I wanted to do was to change the default boot option. The default settings in YAST were such that GRUB would install itself in the boot sector of /dev/sda1, a Windows NTFS partition. This is something I noticed afterward… :open_mouth: Fortunately, TestDisk was able to restore the boot sector. :slight_smile:

-Gilles-