Tuesday, June 5, 2018

How to speed up boot process under Windows Vista or Windows 7

How to speed up boot process under Windows Vista or Windows 7




NB: The guide only works if you use HDD (NOT a SSD).

To get started you need the Windows Performance Tools Kit. Read here how to install it:

If you are a Windows 7 User:
Make sure that EnablePrefetcher and EnableSuperfetch registry settings are not disabled and that the Superfetch service (sysmain) is running and set to start automatically.

If you are a Windows Vista User:
Make sure that EnablePrefetcher registry setting is not disabled and the ReadyBoost service is running and set to start automatically.

Now open a command prompt with admin rights ( http://windows.microsoft.com/en-US/windows7/How-do-I-run-an-application-once-with-a-full-administrator-access-token ) and run the following command:

Code:
xbootmgr -trace boot -prepSystem -verboseReadyBoot
 
Now your PC will be restarted 6 times. After the second reboot the 
MS defragmentation program is running and is placing the files into an
optimized layout, so that Windows will boot up faster (for the
description read what ReadyBoot is). The last Reboots are training of
readyBoot. After the training is finished, youll notice a huge
improvement in startup.
 
Note! DONT
USE OTHER DEFRAGMENTATION PROGRAMS AFTER THE OPTIMIZATION, USE ONLY THE
INCLUDED MS TOOL, BECAUSE EVERY TOOL PLACES THE FILES AT A DIFFERENT
OFFSET ON YOUR HDD, BECAUSE ALL TOOL THINK THEY KNOW IT BETTER!

 
Background:
 
With
Windows XP, MS implemented a prefetcher which loads data into the RAM,
when the CPU was busy, starting services, drivers, so that they are
already loaded when they are needed in later stages of the boot process.
 
With Vista, MS improved this prefetcher and named it ReadyBoot: 
Quote
Windows Vista uses the same boot-time prefetching as Windows XP did if the system has less than 512MB of memory, but if the system has 700MB or more of RAM, it uses an in-RAM cache to optimize the boot process. The size of the cache depends on the total RAM available, but is large enough to create a reasonable cache and yet allow the system the memory it needs to boot smoothly.

After every boot, the ReadyBoost service (the same service that implements the ReadyBoost feature just described) uses idle CPU time to calculate a boot-time caching plan for the next boot. It analyzes file trace information from the five previous boots and identifies which files were accessed and where they are located on disk. It stores the processed traces in %SystemRoot%PrefetchReadyboot as .fx files and saves the caching plan under HKLMSystemCurrentControlSetServicesEcacheParameters in REG_BINARY values named for internal disk volumes they refer to.

The cache is implemented by the same device driver that implements ReadyBoost caching (Ecache.sys), but the caches population is guided by the ReadyBoost service as the system boots. While the boot cache is compressed like the ReadyBoost cache, another difference between ReadyBoost and ReadyBoot cache management is that while in ReadyBoot mode, other than the ReadyBoost services updates, the cache doesnt change to reflect data thats read or written during the boot. The ReadyBoost service deletes the cache 90 seconds after the start of the boot, or if other memory demands warrant it, and records the caches statistics in HKLMSystemCurrentControlSetServicesEcacheParametersReadyBootStats, as shown in Figure 2. Microsoft performance tests show that ReadyBoot provides performance improvements of about 20 percent over the legacy Windows XP prefetcher.
 If you remember XP days, their was a tool called BootVis. The optimization is similar to this here, but the difference is, that is only starts the integrated MS defragmentation program for a better HDD layout, because XP doesnt have ReadyBoot.

To see the improvement in time, run those 2 commands:

Code:
xperf -i bootPrep_BASE+CSWITCH_1.etl -o 01_summary_start.xml -a boot
xperf -i boot_BASE+CSWITCH_1.etl -o 02_summary_end.xml -a boot

To determine the boot time, open the XML files and look at the value bootDoneViaPostBoot. This value (-10000 = 10seconds) shows you the time, which Windows needs to boot completely.

In the file 02_summary_end.xml it should be much lower.


I hope this small tutorial helps you to make your Windows start faster..
original source :MSFN.ORG
ALL COMMENTS ARE WELCOME


visit link download

No comments:

Post a Comment