There are many factors that affect loading time:
Operating System: Vista generally boots faster than XP because Vista has some new technologies that help decrease boot time.
Startup Programs: If you have plenty of startup programs, this will definitely slow down your pc as it needs to load all those programs. Ask yourself honestly, are you going to use the program frequently? If not, just disable the programs that you don't want to use. Another note: Norton AV = Resource Hog
BIOS: Depending on which BIOS you use and it's version, the load time of your pc may vary.
Fragmentation of Files: Quote from
WikipediaQUOTE
files in a file system are usually managed in units called blocks or clusters. When a file system is created, there is free space to store file blocks together contiguously. This allows for rapid sequential file reads and writes. However, as files are added, removed, and changed in size, the free space becomes externally fragmented, leaving only small holes in which to place new data. When a new file is written, or when an existing file is extended, the new data blocks are necessarily scattered, slowing access due to seek time and rotational delay of the read/write head, and incurring additional overhead to manage additional locations. This is called file system fragmentation.
File fragmentation will affect the speed of which the pc boots. Be sure to use a defragmentation utility from time to time in order to speed up your pc boot times. Do not use the built in disk defragmenter as it is quite unreliable in my opinion.
Viruses: Naturally, viruses can cause damages in many aspects such as internet connection speed and disabling certain programs. Some viruses can also slow down pc boot time because it needs to load in order to perform malicious tasks.