Well I've completed my testing and here's my results:
Normal startup under MSCONFIG: 42.650 seconds
Normal startup w/tweaked settings: 29.472 seconds
Times according to PC Boot Timer.
The features I had installed before performing this test were: .NET Framework 3.5, Desktop Experience, Windows Server Backup, Wireless LAN.
Windows Aero was enabled using the default 7 theme.
I have run similar settings under my 32-bit server 2008 box with better results but both OS showed noticeable improvements. How to apply my tweak
Download the zipped folder (attached below). Extract the contents. Inside you will find serviceson.bat, servicesoff.bat, restoreservices.bat.
Create a logoff and logon policy with the servicesoff.bat and serviceson.bat
Start > gpedit.msc > User Configuration > Windows Settings > Scripts (logon/logoff)
in script name type in the path of the servicesoff.bat file. I placed serviceson and servicesoff.bat in my system32 folder so my path for logoff would be c:\windows\system32\servicesoff.bat
Repeat this same process for logon except name you will use the path c:\windows\system32\serviceson.bat What is restoreservices.bat?
Restoreservices.bat is a fail-safe I have written that changes all of services on the machine back to its original factory setting. If you for some reason feel that the tweak is nothing benefiting your particular machine (which can be possible because this tweak is meant for dual-core and up machines) you can easily remove it by removing the logoff and logon scripts and launching restoreservices.bat. Then simply restart and you are back to the way you were before you applied my tweak!What did you like about this tweak?
Mostly the fact that it shaved close to 15 seconds off my boot time. Another plus is that you do not sacrifice the operations of any services on your computer. After your machine has booted to the desktop, within the first 5 minutes your machine is operating as if you never turned anything off. The only difference is we are delaying the critical services that are causing your increased boot time, then starting the services AFTER windows starts. Why not just change the service to Automatic (delayed start)?
This is a possibility and if you change the services to delayed start you will still see the same desired results. My problem with this setting is that it delays your services for 2 minutes. One of the services I have disabled which eats boot time is Security Accounts Manager which is a parent service that is required to run Network and Sharing Center. If you wish to run network and sharing center, you have to wait a few minutes. The disabling and re-enabling method is able to process the services faster for some reason. How does your tweak restore all my services to normal?
I have reviewed these scripts over many of times for spelling and grammar mistakes and especially to make sure that all of the dependent services are launched BEFORE the child services. For example if you launch Task Scheduler before Windows Event Log, the service will change to automatic but it will not start because the service it depends on (event log) has not been started first. I went through each line on the script to make sure all the dependencies were met. What do you not like about your tweak?
It's really hardware dependent. If you have a machine with a 5400 RPM HDD for example and a 1GB of RAM with a low end dual core CPU, the batch processing which takes place will be a tad slower then others with higher end performance parts. Another disadvantage of the logoff script it that it takes a few seconds to process, so when you want to logoff your machine it will take a few seconds longer. What problems did you come across (if any) with your tweak?
I followed a strict pattern of how I approached this tweak. I set a strict guideline on how I ran everything for example I decided to keep MSCONFIG out of the picture. It was for good reason. I come to find out that after testing (which was successful) i decided to disable some useless services via the msconfig method. For some reason this broke the integrity of my script and my boot time skyrocketed (48 seconds)! I'm not sure if Windows got confused on whether or not MSCONFIG was handing the startup of the service or my script. Or it could have been that they were both trying to process at same time which caused the lengthy boot time. I decided to re-install R2 again and re-apply my tweak to the previous method I had used. By disregarding MSCONFIG I was able to achieve consistency with the boot time. What should I know before removing this tweak?
If you decide to return back to your original configuration or would like to use the MSCONFIG method again it is important that you follow the below procedure in this exact order or you risk breaking the integrity of your server (like I did
). I was able to catch my error so as long as you follow the procedure...IN ORDER!!!... you should have no problems at all.
Step 1: Remove logoff and logon scripts from Group Policy.
Step 2: Reboot
Step 3: Launch restoreservices.bat
Step 4: Reboot
Step 5: Start MSCONFIG, go to services tab. Click disable all. Apply and restart.
Step 6: Start MSCONFIG, go to services tab. Click on enable all. Apply and restart.
To give you an idea how much of a marked improvement this tweak has been on my 32-bit Server 2008 machine I have set up a few scenarios to demonstrate. With the help of eBoostr and my tweak i was able to achieve some sick results.
I edited my logon script to launch a variety of applications on startup.
In my first scenario: Chrome, Notepad, Calculator, WMP, Powerpoint, Word, Excel were all launched. The up time showed 29 seconds.
In my second scenario I launched 25 instances of Internet Explorer. The up time showed 34 seconds. Impressed?!
In my third scenario I launched 100 instances of notepad. The up time showed 30 seconds. Nice huh?
For those willing to try out my tweak, follow my recommendations below so we can provide a benchmarking comparison of everyones machine to see how much of an effect it is having.
1. Download PC Boot Timer: http://download.cnet.com/PC-Boot-Timer/ ... 45234.html
2. Run PC Boot Timer with all your services enabled (before tweak).
3. Record your boot time.
4. Apply the tweak above and re-run PC Boot Timer again.
5. Record your new boot time.
Kind of like I did at the way top of this post. Sort of like a before and after snapshot.