Hard-drive fails to boot if suspend was activated prior to restarting. Booting a live USB/CD fixes the issue (temporarily)

I am running 12.04 64-bit and am dual booting with Win7, for full disclosure, although I suspect that has nothing to do with my problem.

The boot-loader(GRUB) fails to load often and I will be presented with a black screen with a single blinking line. This has happened to me eight out of ten power cycles now and I can fix it consistently, however, I have no idea why it happens.

My current fix is to boot a live CD (I've tried both KNOPPIX and Ubuntu with the same result) and that's it. Somehow booting with the live CD is enough to "wake-up" my hard drive. I then reboot and GRUB magically appears again.

So what is going on? Is it possible that a program is corrupting my MBR and the live CD is restoring it? How can I narrow down the possibilities? Thanks.

Additional

This is still a problem. I'm convinced now that it is not hardware related as I've spent the last month and several boot cycles on Windows without a hiccup. Recently when I started using Ubuntu again the problem started again.

I am more interested in figuring out what is going on rather than actually fixing the problem. Are there any tools, logs, etc. I can use to unravel this mystery?

Update

I can now consistently recreate the issue. It seems that if the computer is put into suspend mode at any point prior to restarting, the problem comes up. The computer goes into and out of suspend mode just fine but when I restart the system it fails to boot. I've tried this command before and after suspending the computer:

sudo hdparm -I /dev/sda > hdsettings.txt

Then I ran a diff on the two files and found that one thing changed: under security settings frozen changed to not frozen. I have no idea what that means but it's a difference anyhow.


Solution 1:

EDIT: It seems like there is no error with Grub so this answer is not applicable. Sorry. @Web-E seems to be on the right track.

Boot from the live CD. Open the terminal

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

Press Enter - Then type:

sudo apt-get install -y boot-repair && boot-repair

Then open boot repair. Perform recommended repairs. If that does not fix it then paste the link here for the boot summary.

Solution 2:

I had a similar problem not long ago. I was using a hard drive I took from a DVR I wasn't using. These drives use a custom firmware with a feature called Power-up in Standby mode which prevents the drive from drawing too much current at boot time; the custom firmware then sends a special command to the drive to get it spinning. This can be prevented by restarting the computer or you can disable the feature from the drive completely using hdparm. The drive will then be in active mode.

Note: Read the man page for hdparm (-s option).

  1. Boot from any linux live cd (Linux >= 2.6.22)
  2. Enter this in a terminal as root:

    hdparm -s0 /dev/sdX (your drive letter)

  3. Shutdown the computer completely and re-open it again

Hope this helps!