Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm in a bit of a trouble after trying to apply Vista SP2 on a dual-boot (GRUB, Windows Vista 32 bits and Linux OpenSUSE 11.1 x64). Here is the history:

  • SP2 would fail to install at the last stage (after rebooting), by searching I assumed it was due to the dual-boot because many other people reported the same error message in the same conditions.
  • Waiting for the MS support, I tried a few things from the DVD "Repair your computer", console:
    • bootrec /fixmbr, no effect;
    • bootrec /fixboot, gives an "Element not found" error;
    • bootrec /rebuildbcd, gives an "Element not found" error;
    • bootrec /scanos, finds the Windows Vista OS on C:, trying again the commands above without result.
  • Microsoft support told to try a startup repair from the DVD: "Repair your computer", "Startup repair", which is supposed to re-install the Windows boot in the MBR. From that moment on, the HD would not boot.
  • From the DVD repair / console, I tried the commands above once more:
    • bootrec /fixmbr, no effect;
    • bootrec /fixboot, no error anymore, no effect;
    • bootrec /rebuildbcd, no error anymore, no effect;
    • bootrec /scanos, does not find any OS.

Then I tried from an OpenSUSE 11.1 installation disk,

  • restoring the boot sector, adding a chainloader for Windows to the Linux entry that it had already found automatically;
  • rebooting successfully gave me the GRUB menu, from which I could start Windows Vista (or Linux).

The troubling issue is that now, I have to do that everytime. If I switch the computer off, either from Windows Vista or OpenSUSE, the next time it cannot boot from the HD directly, I have to boot from the DVD, re-install GRUB, then restart. Then, when it hot-reboots, it successfully uses the restored boot loader.

It could be a HD failure, and the BIOS reading the cached MBR at hot-reboot, which would explain the symptoms. But I find it hard to believe grub-install would not check the MBR properly. Besides, it would be very suspicious that the MBR cluster would suddenly break down right when I used the Vista repair option (and would not be detected either).

Here is the list of the partitions, from TestDisk (fdisk agrees with this): Current partition structure:

 1 * HPFS - NTFS              0  32 33 16709 117 48  268435456 [OS]
 2 P HPFS - NTFS          16709 117 49 50128  33 17  536870912 [Projects]
 3 E extended LBA         50129   0  1 60800 254 63  171445680
 5 L Linux Swap           50129   1  1 50390 254 63    4208967
   X extended             50391   0  1 53001 254 63   41945715
 6 L Linux                50391   1  1 53001 254 63   41945652
   X extended             53002   0  1 55612 254 63   41945715
 7 L Linux                53002   1  1 55612 254 63   41945652

Vista uses 1 and 2, OpenSUSE 3 (with 5, 6 and 7 as extended partitions). Nothing out of the ordinary.

I didn't try Windows Drive:\boot\Bootsect.exe –NT60 All yet, because I have no idea what it would do. There might be other solutions too, but I would like to know if anyone out there already has suffered from the same problem and found a good solution? (Microsoft support seems not to have any clue and says to re-install everything, which I'm not even sure would work).


Edit: just seen that the GRUB boot loader would still work after a Windows session when restarting from shutdown /t 0 /r, so it appears the only boot that fails is a cold boot from the BIOS. It invalidates the cache theory for good.


Edit2:

Noticed that the grub-install was in fact disabled with OpenSUSE 11.1, it ignores the parameters and uses the standard configuration file. Trying a manual install gave some hint:

I get an "Error 17 : Cannot mount selected partition".

Which means GRUB can't identify the partition type, whereas I can mount it normally by specifying it's NTFS. fdisk -l also recognizes it:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9913fa82

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       16710   134217728    7  HPFS/NTFS
/dev/sda2           16710       50129   268435456    7  HPFS/NTFS
/dev/sda3   *       50130       60801    85722840    f  W95 Ext'd (LBA)
/dev/sda5           50130       50391     2104483+  82  Linux swap / Solaris
/dev/sda6           50392       53002    20972826   83  Linux
/dev/sda7           53003       55613    20972826   83  Linux

My guess is that somehow the "repair" of Vista messed up information related to the first partition. Does that gives an idea to anyone?

share|improve this question
    
Wow, I wouldn't want to be in your shoe. Microsoft won't be so forthcoming as it concerns another OS. Can't offer any help, just offering my sympathy. An advice though, try to backup your data just in case (touch wood). –  o.k.w Oct 17 '09 at 13:25
    
That I will certainly do! (and the wood touch bit too, just in case) :-) –  RedGlyph Oct 17 '09 at 13:37

2 Answers 2

up vote 1 down vote accepted

It turned out the problem was two partitions were flagged as bootable as you can see in my second edit, a side-effect of using the Vista DVD to restore the MBR. Apparently it messed up with the extended partition, giving it the boot... (normal from Microsoft you would say).

The solution was to use gparted and clear the boot flag.

I still have to fix the MBR and update to SP2, for that there is those two links, for anyone interested. It has not been tested!

Some thorough explanations on MBR, Vista changes and so on can be found here.

Thanks for helping out!

share|improve this answer

It actually sounds like a BIOS or controller issue. It appears the drive is configured properly, and the first partition is marked active, so that's not the problem (as evidenced by it working properly on warm-boot/reboot).

I've seen cold-boot issues happen with failing controller chips on the motherboard. I've also seen those symptoms when the BIOS tries to boot before the harddrive has completed its spin-up routine, so it's not ready when the BIOS attempts to boot from it. Spin-up problems can also be caused by an under-powered system; drive spin-up takes a lot more power than normal operation. They could also be caused by a failing drive-controller (the electronics on the harddrive itself, not the motherboard IDE/SATA controller).

I'd try the following:

  • Put the drive on another interface (plug it into a different slot on the motherboard).
  • Put the drive on another controller (use an add-on controller card and not the built-in motherboard controller).
  • Put the drive in another computer (if it boots to Grub, it's not a drive problem).
  • Check that all BIOS settings are sane; you might even record the current settings and do a "restore defaults".
  • Try disconnecting any other drives and unnecessary devices -- if necessary, strip the system down to basics (mobo, CPU, RAM, harddrive -- use onboard graphics if available).
  • Try using another drive as the system drive.
  • Try another (more powerful) PSU.
share|improve this answer
    
That doesn't seem to be the case, another computer just gives the same symptoms. Thanks though. –  RedGlyph Oct 20 '09 at 18:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.