How to get Suspend and Hibernate Working for Linux (Ubuntu 11.04, Mint 11)

Suspend and hibernate have always been screwed up with Linux, however luckily there is hope. I got mine working after scouring google. In this tutorial I will share with you how I got it working in hopes that it will help others out there in the Linux universe.

If you are running something different than I am above, don’t panic this still have a good chance of working for you.

I have several fixes that I performed below and you may not need to complete them all. Please thoroughly check to see if hibernate and suspend are working after each section you try. I know, you’ll have to hold the power button down a lot for a cold reset, but its worth it.

My Symptoms Before I got it Working

When I sent my computer in Hibernate the computer would look like it was doing what I told it to up until the part where the screen and the CPU fan turn off. I just got a screen of black that would not respond. The hibernate was very similar except there was a white cursor frozen at the top left of the screen. The only option I had was to hold the power button until it turned off.

Suspend — An Easy Fix for Most People

I scoured the web looking for something that might help me. I ran into this article which gives instructions on installing a script that would fix the problem. There are dozens of people who have left comment in the post as to whether it worked for them or not. Most of them left comments said that the script fix worked perfectly well for them.

Unfortunately for me and some others it didn’t work perfectly. In my case it was bitter sweet, my suspend worked, but my hibernate still didn’t work. However, it did change the way that suspend didn’t work. Now instead of a black screen, the computer just acted as if it was a normal restart. On power up instead of continuing the session it just restarted.

Hibernation Doesn’t Work

Not Enough Swap

SWAP is a special partition on your hard drive that steps in if you run out of ram and it also serves as the place where your session is stored on the computer. If you don’t have any swap or don’t have enough swap you will not be able to hibernate for lack of space. When a computer hibernates it flushes all of the data in its ram onto the swap partition. This means that it is a good idea to a swap partition that is just as big as your amount of RAM. To check out how much swap you have type the commands outlined in red.

This lists the memory usage for your ram and swap in megabytes. If your total swap is greater than your total memory then you’re in good shape. If it’s not then if you are using more ram than your swap your hibernate will fail. Sometimes if it’s nice it will give the error “not enough swap.”

Solution -> Create a swap partition or make one bigger. In order to do this you will have to boot from a live disc as you cannot change the size of your hard drive while you are using it. Boot from a live disc and start gparted. Delete your old swap parition and shrink your main hard drive partition by enough room to fit the swap. Then

The Hibernation acts Like a Restart

Okay so why would hibernation act like a restart? Well the reason might be that the hibernation files saves but grub (the boot loader) doesn’t know that it’s there. We can check this quickly. First got to terminal and type