When it does this, go in to the bios and see what time it is (don't let it boot). Make a note of the time (if it's wrong - set it to current time) and then shut the PC down and leave it for a day or so, then give the boot another go and go in to the bios, if the time is. If it's reset to the wrong time again, it's likely the battery - though some boards have super-caps rather than batteries (google the laptop and it might show up if this is the case). If not then it could be a range of things.
It could just be a case of you need to reset the bios to defaults as something might have become corrupt (make a note of any critical settings first through
)
re HD, Boot up and see if you have the SMART deamon running, if you do, see what the result of the last SMART test was or if there were any SMART errors logged in dmesg - if its not running (or not installed) install/run it and see if it throws up an error from a self test. This will give you an idea of any issues with the drive. 'sudo apt-get install smartmontools' will install the packages lot more detail here:
https://help.ubuntu.com/community/SmartmontoolsIf you are struggling to boot the internal drive, using a USB live disc might get you to a position you can mount the internal drive and see whats happening...
I am of course assuming you have some linux CLI knowledge here - but a lot of it is google-able on how to do if not
I've had issues before with Ubuntu not removing the old files from the /boot partition but I don't recall it manifesting itself with the problem you've shown here (you can check disk usage with 'df' command from the CLI.
You've probably already done this but have you Googled the make, model and Ubuntu together? eg "acer phoenix boot issues ubuntu" etc It might turn up something similar...