Boot with Ubuntu live CD or live USB, assuming you have one, and see if you can even mount the main Ubuntu partition on your hard drive. If you can, unmount it.
Now install GSmartControl on the live CD/live USB. Start up GSmartControl after install and look at the S.M.A.R.T. attributes of your hard drive.
If nothing highlighted in pink for your HDD, that's good. The drive probably isn't failing.
Next, you can run
e2fsck on the
/ partition of your hard drive. Maybe there's some corruption you can clean up. You want the partition not mounted before running this. Go into a terminal and run
sudo fdisk -l to find out which partition it is if you aren't sure. Then (let's assume it's
sudo e2fsck /dev/sda1
and see if it's not clean - and maybe it will fix some stuff. If there is serious corruption, you may be asked to fix a lot of stuff. There's an option in
e2fsck to say 'yes to everything' - but if you get that many problems, you probably won't be booting this thing again, anyway.