Helping people with computers... one answer at a time.
Windows startup is a complex process further complicated by the number of software packages that add themselves to the list. Paring it down takes work.
How do I determine what I absolutely need to load at start-up? Do I really need all of my protection programs like virus and spyware to load at start-up?
Ultimately, in practical terms, this is an unanswerable question. For many items the answer will be "I don't know".
But there are definitely steps to at least understand much of what is happening at startup, and perhaps even make a few decisions based on that.
First, realize that there simply is no single answer. There is no "minimum set" of processes that I could list here that would work for everyone. Everyone's machine is different, everyone has different software installed, and everyone has different ideas of what is and is not important.
So I'll give you an overview of the steps I take when managing my startup.
The first tool I run when diagnosing or tuning startup is autoruns. That's a free utility from the SysInternals folks out at Microsoft. Now, I'll warn that it can be extremely overwhelming at first. For example, here's an image of what it shows me when I run it on my XP SP3 system:
That's the first of many, many pages listing 650 individual items of interest. That's way more than any reasonable person would want to look through, and to be honest, includes areas that you shouldn't touch.
Fortunately, autoruns allows us to filter by what we're really concerned about. Click on the tab labeled Logon, and autoruns lists only those items that apply when you login to Windows. It's a much shorter list - in my case only 36 items. (The other tabs look at other aspects of the software that runs in Windows in various ways - everything from services to network and print providers.)
My first step is just a visual review of the items I find. Many I can ignore right off the bat because I know I want them. For example, the Acronis items in the list above are all about performing automated backups, something that's extremely important to me, and accessing mounted backups images for recovery. I choose to leave those running.
Similarly the AVG8_TRAY application is the quick launch icon for the AVG Antivirus program. To answer at least part of your question: yes, you do want your anti-malware programs to run at start up. Depending on your particular programs, not doing so could leave you unprotected until you do run them. Again, depending on what you do during that unprotected time, you run the risk of infection.
This is also the time at which I'll turn off things I know don't want. A good example is MSMSGS, which is the Windows Messenger:
As you can see, I've unchecked the checkbox in front of MSMSGS, which causes it to no longer be automatically run on login.
Now, one annoyance that I'll warn you about up front: some programs are extremely persistent. You may stop a program from starting automatically only to find that the program has reset that later when you run it manually or when you take an upgrade or a patch. Personally, I find this extremely annoying and arrogant. However, I have better things to do than to keep monitoring this kind of stuff. Unless the program is truly expendable, I'll typically leave the autostart setting in place if it's going to be that annoyingly persistent.
Alternately, if I can live without the offensive program uninstalling it also resolves this issue - permanently.
The second step is research: I'll look up the items that I don't recognize. Let's use this thing called "Groove Monitor" from the first image above. The description "GrooveMonitor Utility" is useless. It supposedly comes from Microsoft, and it lives in "c:\program files\microsoft office\office12" which would indicate that it's a part of the latest version of Microsoft Office.
But what does it do?
I turned to Google and searched for "groovemonitor.exe".
Sometimes the answer is quickly clear, and sometimes there's a bit of research to figure out what the application is. Some hits are about as informative as the description - in other words not very. However, in this case one hit lead me to a discussion that included a link to the Microsoft Office web site that includes this description:
Office Groove 2007 is a collaboration software program that helps teams work together dynamically and effectively, even if team members work for different organizations, work remotely, or work offline.
OK, sounds kinda cool. But it's also something that I simply don't do. I don't need this. I turned it off. It's possible that doing so might have unexpected side effects, so I might find myself coming back to turn it back on later.
I now repeat that process for the rest of the startup items I don't recognize.
Lastly, if as part of this process you run into something where your research turns up things you don't understand or aren't certain about, then the best advice is to leave that entry alone.
Is it worth all this effort?
In my honest opinion: no. In practice this can be a lot of effort for very little return unless you're experiencing a problem and are trying to diagnose a solution.
It's very tempting to want to have a "lean and clean" machine, and I can totally understand that. The problem is that most of these startup items are minor offenders in the big picture. Sure, some might take up visible space in the notification area, but that's about as bad as it gets. Most use very little memory and almost no CPU. Most are nearly benign.
That's not to say that many might be totally unnecessary, because in concept many - if not most - are. The services that they perform could be designed completely differently so as not to require software to be resident all the time.The vendors have chosen to write their software this way. It's annoying, and it's unnecessary.
It is what it is.
In general, I don't think it's worth the time and effort to try and pare it down beyond the obvious.
But what if there is a problem?
Then diagnose the problem.
The problems tend to fall into two categories: programs that take excessive resources, and programs that take excessive startup time.
To diagnose the resources issue, get a copy of Process Explorer and use the "Working Set" column to see who's using lots of memory, and the "CPU" column to see who's using lots of CPU resources. Then investigate the offender.
Diagnosing startup timing issues is more difficult, but one excellent potential work around I've discussed before is the use of software to delay when certain startup items actually start up. It appears that Windows tries to start everything all at once. The problem is that this can bog down your system while all those startup applications compete for resources like disk access or CPU time. Delaying and sequencing the start up process can help.
You need to choose which startup programs can and should be delayed. You wouldn't want to delay your anti-malware packages, but you might well be perfectly happy delaying other applications like an IM client. The net result is that the system becomes more usable more quickly as these startup tasks are delayed and initiated one by one.
One possible side effect is that by paying attention to the delays and sequence, you might also be able to determine which of the programs might be taking excessively long to startup.