It's either hardware or software. Below are some tests -- if any fail (except #2 below) after two minutes, wait no longer, reboot, and proceed to the next. (i.e. please don't wait 2-3 hours each time.)
Remove the SSD, try rebooting again with a known working Linux USB or CD. If that boots quickly, the problem is the SSD.
If (with no SSD) it still boots slowly, it might conceivably be a BIOS firmware bug, and perhaps there are updates that fix it. This is doubtful though and I've never heard of a firmware bug that caused hours-long boot-ups. Unfortunately, you may have to wait 2-3 hours just to see the BIOS, and getting into setup probably means hitting the F10 key or something right after the moment it comes to life, which could be a problem.
Hardware tests.
- Power supply: try plugged in, unplugged, and no battery but plugged in.
- RAM: try a different stick, or if there are no spares laying about, try with none, or if there's more than one stick, one stick at a time.
There's other possibilities, but the above are easiest to check.
The OP doesn't mention if the two hour boot applies to a soft boot, (i.e. a reboot), as well.