Rule out anything medical first - ear infection, cutting molars, etc. Second, are there major changes or stresses going on in your house? (new job, sibling, daycare, etc)
If no, then my best guess? He's probably overtired. 5 AM - 2 PM is a long time for a 2 year old to be awake. (my 2 year old would probably act similarly if he was awake that long!)
I would try bumping back his naptime by 15 minutes each day.
Day 1 = 1:45 PM, Day 2 = 1:30 PM, etc. Then, bump his bed time back by the same amount of time.
Also, if it were me, I'd let him cry it out a bit in the morning....in short blocks of time, but adding more on each day, similar to above. That way, his body will be "trained" to sleep a little later, and ultimately feel more rested.
You could also consult a sleep book for toddlers.
Whatever you choose to do, stick it out - your best "weapon" will be consistancy.
Sleep is the ever-present battle, isn't it?! Grrr....I hope you find a happy solution, and quickly!