Laptop takes forever to start(windows 8)?

Alright so recently my laptop has been taking an hour or more to start up(and i'm pretty sure it takes a long time to shut down but that doesn't bother me). When i hit the power button i hear the fan or something turn on if i put my ear close to it, but whatever turns on only stays on for a few seconds and then i don't hear it anymore. My computer will just sit as a black screen… Like the monitor is asleep or something, suspecting that it was asleep i tried hitting the space bar a few times to wake it up but nope it doesn't. After what seems like years i finally see the lenovo loading screen and it quickly starts up from there. I have tried running ccleaner, tried doing a hard disk clean up/ optimization, I've scanned for virues/malware, I've fiddled around in the startup settings by running "msconfig", disabled some startup programs, and nothing i have tried has even worked. I did go on to GeekSquad.com and they tried to remotely help me and they said that "it looked like i just needed a good tuneup," so if any of you know what they do for tuneups that could be helpful and i could try and do it myself.

When i go to the startup menu with Ctrl Alt Delete it says my last bios time is around 2.8 seconds

I guess i can give you the specs of my computer just to save time incase someone asks:

Lenovo IdeaPad N580
Windows 8

Processor: Intel Pentium CPU B960 @ 2.20GHz 2.20GHz
Installed memory(RAM): 4.00GB (3.87 GB usuable)
System type: 64-bit Operating System, x64-based processor

Added (1). I originally posted this on the microsoft forms and i got an answer with a bunch of links telling me what i have already tried to do. So if you guys could not be like that, that would be great lol.

1. Eject the DVD or CD.
If that doesn't do it…

2. I wonder if your hard drive has some marginal sectors.
If you have a spare blank hard drive, then image your hard drive onto it. Then swap in the new hard drive and see if it works better.
If you don't have a blank spare hard drive, you might try some non-destructive hard drive tests. I use the free version of HD Tune 2.55, but I'm not sure that this will work under a 64 bit operating system.
Have you already tried
chkdsk /R

I would not recommend any automated tune up programs.

Cceaner should be all you need.
Clear out all your temporary files, there's a basic startup manager in tools (msconfig based) , use the obsolete registry cleaner with caution and create backups at the prompt.

Personally i would "RESET" the system, create a system image from time to time when it is working well.
(Store the system image in a non system partition or on external drive, access it at start up if a restore is needed)
"Create system image" and " RESET " and "REFRESH ", restore from image (At start up) should be built in.