I have a Sony Vaio laptop, that came pre-installed with Windows 7. I resized the windows partition, then set up a dual boot scenario with Ubuntu.
I've noticed that when I run Windows and put the computer to sleep (i.e. shut the lid), and later resume it will sometimes show the grub menu. If I select the Windows 7 entry, it will resume as expected. If I select Ubuntu, then later restart, then select Windows, Windows will again resume from the last state.
The behaviour seems to be based on the amount of time it has been inactive. For example, if I shut the lid and the re-open straight away, it will return to Windows. On the other hand, if I shut the lid and come back some hours later, grub will be displayed.
On the other hand, with I put Ubuntu to sleep, it will always just go straight to Ubuntu.
- Is the behaviour I experience when running Windows - displaying grub, re-producible when running Ubuntu?
- Why does this occur on Windows?
- Can I disable the behaviour from Windows, or is it out of my control?
- How and where is the state saved - can I remove the state without rebooting back into windows and doing a hard reset, so that I can mount the disk?
You are experiencing this in Windows because you are resuming from Hibernate, not Suspend. When you leave Windows on suspend for a while while running Windows, it automatically hibernates. To change this on Windows, go to Control Panel->Power Options, select Change plan settings next to your active power plan, then select Change advanced power settings. Then expand the sleep node, followed by the Hibernate after node. There is a setting for both on battery and plugged in.
If you want Ubuntu to Hibernate if it has been on a Suspend for a while (and therefore show grub on boot), please check this thread.
NOTE: Usually a system takes longer to resume from Hibernate than from Suspend.