Vista doesn't hibernate after openSUSE 11.1 install

Hey everybody,

I have openSUSE in a dual-boot environment with Win Vista. Everything worked fine with 11.0, but after installation of 11.1 Vista does not hibernate. The screen gets dark, but after a while it turns on again so I can see that Vista did not hibernate, but just lock the session. In another forum I was given the tip to add makeactive to the Vista entry in menu.lst. This worked for the initial problem, but got me a new one: the computer booted straight into Vista without showing Grub, so I had to reinstall SUSE (after doing this Vista once again does not hibernate).

Does anyone have any ideas how to fix the hibernation problem or what changed from 11.0 to 11.1?

Vista presumably doesn’t hibernate unless it thinks it is going to be booted when the machine is powered back on.

That’s because devices need to be in some sane and known state, for the assumptions of the running system.

To undo ‘makeactive’ you just need to run Live CD, and set the boot partition where GRUB was installed active again.

You must have Generic MBR code, installed on the disk, to allow a choice of which OS to reboot. You may be able to set the Linux boot partition active, with the Windows fdisk partition tool.

Another possibility would be to install GRUB into MBR and use it as boot manager, or to try an alternative boot manager available for Free and recommended often in forums, when multi-booting is considered.

I’m not sure if the Vista multi-boot sticky considers this issue. It’d be worth a section, I’m sure.

I compared the default settings of 11.0 with 11.1, and I found the solution. In 11.0 the default is “boot from MBR”, while 11.1 installs GRUB with “boot from extended partition”. I now installed 11.1 with the “boot from MBR” option and everything is fine.

Could somebody explain to me why they changed the setting?

Please excuse my lazyness,

but is there an easy way to fix the standard-bootloader-install, without reinstalling suse?

I guess a lot of users will encounter this issue, so a little howto would find it’s use.

You can put GRUB anywhere without reinstalling the OS.

/usr/sbin/grub-install /dev/sda

will install grub in the MBR.

/usr/sbin/grub-install /dev/sda6, for example, will install grub in the volume boot record (1st sector) of sda6.

grub-install /dev/sda doesn’t work for me.

Vista still refuses hibernation.

Also this seems to me like the same options i can change in yast, right?

The grub-install script in openSUSE is not the same as the vanilla script included in the grub package - it actually just uses the /etc/grub.conf script produced by YaST which is fed to the grub shell for installation. This is because the pre-configuration with YaST which produces grub.conf is considered more reliable than the “guessing” that the vanilla script uses. The original grub-install script (which is what is in Ubuntu, Fedora, etc.) in openSUSE is /usr/sbin/grub-install.unsupported.

IME the best method of installing grub is to use the grub shell from the command line.

I’ve read a lot, tried a lot, re-installed a lot…but nothing seems to work. My config is similar, I am using Vista and SUSE 11.1

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

Device Boot Start End Blocks Id System
/dev/sda1 1 1321 10608640 27 Unknown
/dev/sda2 1321 23514 178265272 7 HPFS/NTFS
/dev/sda3 * 23515 29910 51375870 83 Linux
/dev/sda4 29911 30401 3943957+ 82 Linux swap / Solaris


Modified by YaST2. Last modification on Mon Jun 29 20:42:12 CDT 2009

default 0
timeout 30
gfxmenu (hd0,2)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 -
root (hd0,2)
kernel /boot/vmlinuz- root=/dev/disk/by-id/ata-TOSHIBA_MK2555GSX_599PT19FT-part3 resume=/dev/disk/by-id/ata-TOSHIBA_MK2555GSX_599PT19FT-part4 splash=silent showopts vga=0x314
initrd /boot/initrd-

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.1 -
root (hd0,2)
kernel /boot/vmlinuz- root=/dev/disk/by-id/ata-TOSHIBA_MK2555GSX_599PT19FT-part3 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x314
initrd /boot/initrd-

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

(hd0) /dev/disk/by-id/ata-TOSHIBA_MK2555GSX_599PT19FT

So, I am able to boot both OSs, able to hibernate SUSE…but not able to hibernate Vista…please help!!!..:shame:

after installing grub to MBR, set the windows partition to bootable using cfdisk (you can find it in /sbin/)

OK, I had the same hibernation problems on two machines, I just didn’t realize they were Suse related, I just cursed windows as I generally do.

What I did to get around it was to get ahold of Gparted.
With that, I noticed that the boot flag was set, on both machines, to some extended partition. I changed that to set the boot flag to the first windows disk/partition, which is generally /dev/sda1.

Lo and behold, windows does into sleep mode again! Apparently, it can’t go into sleep mode if the first disk patition isn’t its partition and isn’t bootable. Go figure (cursing windows again).

On one of the two machines, doing that I “lost” Grub,since it was only installed on the extended partition. I used supergrub to set that right…

I hope this help!

Reply With Quote Quick reply to this message
View Public Profile
Send a private message to lenwolf
Find all posts by lenwolf
Add lenwolf to Your Contacts
#26 (permalink) Add to dich’s Reputation Report Post
Old 29-Nov-2009, 18:02

Wow…I posted my problem like 6 months ago!! LOL…well, thanks anyway for your answers. Actually I am newbie of course, so after lots of trials and lots cursing windows too…I gave up. So what I did, was installed Ubuntu and he took control of GRUB perfectly…so I have in my laptop, Ubuntu, OpenSUSE and…unfortunately windows and they all work fine now…


i had this problem on windows vista too! i followed the guide in the link bellow and made the C drive (aka: my primary windows drive) bootable/active. and it now works perfectly.

I found that the recovery drive had been made primary not the C drive - weird glitch i presume.

How to Mark a Partition as Bootable in Windows |

hope this helps

In linux, make a copy of the boot sector (the one used by grub), and put it in the Windows directory.

On my laptop, grub uses the extended partition, which is /dev/sda4

To make a copy of the boot record, I used (as root):

# cd /windows/C   ## go to Windows directory
# dd if=/dev/sda4 of=bootsect.lnx count=1

That creates a file “bootsect.lnx” in the Windows main directory.
Now mark the Windows (Vista) partition as active, and boot into Vista.
In Vista, open an Administrator command prompt.
Then use BCDEDIT to create a boot entry in Vista.

I don’t remember all of the gory details, but if you google “BCDEDIT linux” (without the quotes), you will find some pages that describe all of the steps you need to follow in Windows.

Once this is done, you will see a boot menu whenever Windows starts. I set the name of the new entry to “linux”. Then, when booting Windows, select linux from this boot menu to get the grub boot screen.

That keeps Windows happy, so hibernate will probably work and installing SPs in Windows should work.