theres a lot that could be contributing to the slow start up. i bet its not any one thing....
1: could be too much dust on the inside of the computer. consider opening it up and using compressed air to cleain the dust out.
2: could be that the hard drive itself is really full. generally, if i hard drive is full, it takes longer to start up. my solution was that i purchased a second hard drive, and now i have windows running on the main hard drive, while the second drive is used for storage of music, movies, software, games, and whatever. that leaves the main hard drive fairly empty and able to do its job much quicker.
3: you may need to add RAM. this may not be the cause, but RAM isnt too expensive, so it may be worth a shot.
4: go to start, programs, accessories, system tools, disc defragmentor. use this tool to defragment your hard drive as many times as it takes, until it tells you that you dont need to do it anymore. this can be time consuming, so i usually start it as i go to bed, and let it run overnight. if you do that each night, your computer will begin to run a bit faster, not just at start up.
5: programs that are all starting up at the same time. a lot of programs that you may have on the computer, you may have set up so that they start automatically when the computer is turned on. disable as many of the automatic startups as possible. the less programs your computer has to process at the same time, the faster it will boot up.
6: run a bunch of virus, adware and spyware scans. a lot of times, these can slow your computer down, so it may help to give your computer a good cleaning. and dont just use one program. use one the first day, a different one the second day, maybe even a third one on another day. alternate your virus software so that you dont miss anything.
7: if all else fails, wipe your hard drive and start from scratch.
hope this helps!