Ok I have done some more testing... rebooting, shut down fully and then restarting, unplugging, etc. Turns out it is not me going into the BIOS that is "fixing" anything, I ended up having the problem even doing that. I just didn't notice because it seemed to work. But what is happening is this:
1. Computer unplugged or shut down or restarted normally
2. Gets past BIOS screen, hard drive spins a while but no GRUB menu and then screen fills with garbage (see attached photos - not always the same pattern)
3. I then hold down power button (or unplug/replug) until it reboots
4. Second time around GRUB menu appears and then it does a "recovering journal" and "clean" stuff
5. Boots successfully
If I now reboot the machine or unplug any which way, it will go through the exact same cycle AGAIN... requiring 2 boots to get up and running again. The first boot will always end up with no GRUB menu and garbage on screen. The forced restart will then show the GRUB menu and proceed to boot normally and end up doing the "recovering journal" / "clean" message which seems to indicate Ubuntu was loading the first time and froze.
I mistakenly thought it was me fixing it by going into the BIOS after the first unsuccessful boot that somehow fixed it and allowed it to boot the second time... but it had nothing to do with me. It will boot the second time even if I am not involved. This is consistent as I've now tested it numerous times. Always takes 2 to boot.
It's almost like something is happening in boot cycle one that doesn't let it boot but allows it to boot on cycle two, but once it successfully boots it reverts to a state that will not allow it to boot again (until it goes through the failed first boot cycle).
I'm not too worried but out of curiosity it would be nice to understand what is happening. Probably an Ubuntu thing. Perhaps there is a boot log which may point to the failure. Some driver detect for video going funny and Ubuntu resetting it back to a more default generic, but then once it boots successfully it tries to revert back to the faulty driver automatically once it is up and running some process? I don't know, just guessing here. Very flip-floppy behavior.
They should call it Two-buntu!!!!