In the never ending quest for speed, as in faster Windows computer start up times, many solutions exist for disabling programs that are set to auto start after logging on to your PC.
But that's only half of the solution.
During the boot up process, Windows also needs to start up a series of services. The more services that need to be started, the longer it will take for your PC to finally display the login screen (unless Windows is set to auto login).
One solution is to disable services that are not needed. Another, is to start up services that need to be running, after Windows has started, Here's how…
Solution 1 – Delay Service Start Up in Vista
Unlike previous versions of Windows, Vista now includes an option to delay the startup of services.
Services that are designated as delayed auto-start still start automatically when the system is started up. However, they are not started during the boot sequence. Instead, they are started shortly after the system has booted. This improves boot performance while still providing these services with an unattended start.
To set it for a particular service, open up the Services console by clicking on Start \ Administrative Tools \ Services (or by typing services into the start menu search box and clicking on Services in the search results).
NOTE: Now before you go and mess around with how Services start up, make sure you understand the purpose of each service. A good source to check is BlackVipers Windows Vista SP1 Service Configurations.
Once you have the Services console open, double click on a service that you want to delay starting, and in the properties window, click on the drop down arrow next to Startup type:.
Select Automatic (Delayed Start) and click OK.
Repeat for any addition services that you want delayed during Windows boot, making sure you're careful with the service selection. Stay away from any internal Windows functions or Networking related services. Stick with application service types (such as my example with VMWare).
Solution 2 – Delay Service Start Up in XP And Vista using Batch Files
Unlike Vista, XP has no built in functionality to delay service start up. Some utilities exist to accomplish this, but the best method I found is to use a batch file that will auto start services after you have logged on.
This method has the benefit of faster boot times, but will also speed up Windows logon time (when most auto start programs are started). Additionally, you can control when a service will start, unlike Vista's delayed auto start feature, which cannot be controlled as to exactly when the service will start.
Note: For Windows XP service definitions and default settings check out Windows Service Pack 2 Service Configurations.
In the batch file example below, the VMWare services on my computer will startup two minutes after I log on.
ECHO Starting Delayed Services After Wait Time Has Ended
@ping -n 120 127.0.0.1>nul
net start "VMware Authorization Service"
net start "VMware DHCP Service"
net start "VMware NAT Service"
net start "VMware Registration Service"
net start "VMware Virtual Mount Manager Extended"
- @ping -n 120 127.0.0.1>nul = forces Windows to wait 120 seconds (-n 120) before proceeding to the next line in the batch file. (If you have the Windows 2003 Resource Kit installed ,you can also use the sleep.exe command).
- net start "service name" = net start is the command that starts up the name of service in quotes.
- exit = ends and closes the batch file.
To create your batch file:
1 - Right click on your Desktop and select New \ Text Document and name the file servicedelay.cmd
2 - Right click on servicedelay.cmd and select Edit to open the file, then copy and paste the batch file example (above).
3 - Identify the service or services. To do this, open up the Services console and double click on the service (you want delayed) to open it's property page.
- Change the Startup type to Manual and click the Apply button.
- Copy the service name (see arrow in below screen shot).
4 - Paste the service name in between the quotes of the first net start command.
5 - Repeat steps 3 and 4 for any additional services. If no other services will be started, delete the remaining lines that contain net start.
6 - Modify the sleep command to the time you want (in seconds)
7 - Copy servicedelay.cmd to your user profile startup folder.
- In XP – C:\Documents and Settings\yourusername\Start Menu\Programs\Startup
- In Vista -C:\Users\yourusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
NOTE: When the batch file runs, you will see the black command prompt window. If needed, you can minimize it (do not close it).
Your all finished! Next time you boot up and log on to your Computer, take notice of the difference in how fast your PC starts up.