Ubuntu – GRUB (2)’s role in the suspend/hibernate process

grub2hibernatesuspend

I have, like many, problems with suspending/hibernating in Ubuntu. When I resume from suspend the fans start, the HDD led glows steadily, but the screen is off. The only thing I do is hard reboot.

No solution have work for me so far. But I have found a workaround: downgrade from grub 2 to legacy grub. With legacy grub I can suspend just fine. My suspend/hibernate problems are somehow related to grub 2, but why? What is grubs role in the suspend process? Where to start digging?


UPDATE

I have now tried to disable graphical terminal in /etc/default/grub:

# Uncomment to disable graphical terminal (grub-pc only)  
GRUB_TERMINAL=console

That did not help. In /boot/grub/grub.cfg there is a function that concerns video:

function load_video {     
insmod vbe<br />
insmod vga<br />
}

I have no idea when, where or if it is called. Maybe it is not relevant at all.

Best Answer

  • Grub has no role in the suspend-to-RAM/resume-from-RAM-suspend process.

    Grub has a role to play in the resume-from-hibernation process: it loads the kernel, which then finds a system image in the swap partition and resumes it.

    If grub2 breaks hibernation with a video-related problem, while grub1 doesn't, it could be something to do with mode setting. Either GRUB2 itself is trying to change the video mode, or it's configured to pass some kernel command-line option for changing the video mode.

    If hibernation doesn't work right out of the box, that's a bug in Ubuntu, and it would be a good idea to report it (using ubuntu-bug).