Fast System Startup For PCs Running Windows
Fast System Startup For PCs Running Windows
Disclaimer: The information contained in this document represents the current view of Microsoft
Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and
Microsoft cannot guarantee the accuracy of any information presented. This document is for informational
purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS
DOCUMENT.
Microsoft Corporation may have patents or pending patent applications, trademarks, copyrights, or other
intellectual property rights covering subject matter in this document. The furnishing of this document does
not give you any license to the patents, trademarks, copyrights, or other intellectual property rights except
as expressly provided in any written license agreement from Microsoft Corporation.
Microsoft does not make any representation or warranty regarding specifications in this document or any
product or item developed based on these specifications. Microsoft disclaims all express and implied
warranties, including but not limited to the implied warranties or merchantability, fitness for a particular
purpose and freedom from infringement. Without limiting the generality of the foregoing, Microsoft does not
make any warranty of any kind that any item developed based on these specifications, or any portion of a
specification, will not infringe any copyright, patent, trade secret or other intellectual property right of any
person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights
where appropriate. Microsoft shall not be liable for any damages arising out of or in connection with the use
of these specifications, including liability for lost profit, business interruption, or any other damages
whatsoever. Some states do not allow the exclusion or limitation of liability or consequential or incidental
damages; the above limitation may not apply to you.
Microsoft, Win32, Windows, and Windows NT are trademarks or registered trademarks of Microsoft
Corporation in the United States and/or other countries. Other product and company names mentioned
herein may be the trademarks of their respective owners.
Contents
Windows XP and Fast Boot/Fast Resume...............................................................................3
Operating System Boot Improvements....................................................................................4
Windows XP Support for BIOS Improvements:...................................................................5
Boot Loader Improvements.................................................................................................6
Operating System Boot Improvements...............................................................................6
Overlapping Device Initialization.....................................................................................6
Prefetching......................................................................................................................8
Operating System Hibernation Improvements..................................................................13
Operating System Standby Resume Improvements.........................................................13
Measuring Boot Time .............................................................................................................14
Preparing System for Fast Boot....................................................................................15
Factors Effecting Boot Time..........................................................................................15
Windows XP Fast Boot/Fast Resume Tools ..........................................................................17
Using Bootvis.exe..............................................................................................................19
CPU Usage Graph........................................................................................................19
Disk I/O Graph..............................................................................................................19
Driver Delays Graph......................................................................................................20
Process Creates Graph................................................................................................20
Using Bootvis.exe to Measure Resume Performance......................................................20
Measuring Resume from Standby (S3)........................................................................20
Resume Activity Window...............................................................................................22
Resume Summary Window...........................................................................................22
Measuring Resume from Hibernation (S4) Time....................................................................24
Actions for Achieving Fast Boot/Fast Resume.......................................................................25
Actions for BIOS Fast Boot Improvements.......................................................................25
Actions for BIOS Wake Improvements..............................................................................26
Actions for Driver Fast Boot/Fast Resume Improvements................................................26
Actions for OEM Pre-load Fast Boot Improvements.........................................................27
Hardware Fast Boot/Fast Resume Improvements............................................................27
Resources...............................................................................................................................27
This article provides guidelines for system manufacturers to improve boot and
resume times for new PCs. This article also briefly summarizes several of the
changes in Windows XP that promote quick system availability.
The design goals for the consumer version of Windows XP on a “typical” consumer
desktop are as follows:
Note: High-end PCs with high capacity, multi-platter hard drives, RDRAM, ECC or
parity memory, or a far eastern language operating system may take longer. SCSI
systems will boot slowly due to expansion ROMs on SCSI adapters and
sequentially powering up disk drives.
Microsoft has several OEM notebooks resuming from S3 Standby in less than 2
total seconds. This is approximately the time it takes to fully open the lid of the
notebook, delivering a PDA-like experience in availability. Although the Windows
XP design goal was 5 seconds, we fully expect OEMs to compete on this with the
measure of good equaling the time to open the lid. End-users will shop and make
purchase decisions based on this performance similar to other criteria such as
battery life, CPU speed, RAM size, and so on.
Boot and resume times are measured from the time the power switch is pressed to
the display of the desktop shortcuts.
This paper assumes that the reader has a background in the related OnNow
technologies, which are described at http://www.microsoft.com/hwdev/onnow/.
System power state terminology used in this paper is based on definitions in the
Advanced Configuration and Power Interface (ACPI) specification, available at
http://www.acpi.info/index.html.
Figure 1 shows the major phases of operating system boot in more detail. Time at
Zero seconds corresponds to the start of kernel instrumentation shortly after the
kernel starts.
Note: The vertical bars for BIOS and NT Loader can not be measured by kernel
instrumentation because the kernel is not running at that time.
Do not attempt to hand time boot and correlate to a boot trace by using the boot
done mark + boot loader time + BIOS POST time. The overhead of tracing will
skew the results. Start by hand timing, then use a boot trace to view what
happened during the hand timed boot.
1. Disk time is the time to enumerate all the devices in the non-page able device
path. This is everything from the CPU to the boot disk drive; multiple IDE
devices and slow IDE devices can affect this time. Typical disk time in Windows
XP is 2 seconds, which is 4 times faster than Windows 2000.
2. Driver time is the time to initialize devices.
3. Prefetching time is the time spent reading pages in from disk used later as
devices initialize, and Winlogon, services, the shell, and other applications start
during boot.
4. Registry+Page file is time spent to read the registry and initialize the page file.
5. Video is the time spent as the display mode is set for the final resolution and
refresh rate. Video driver and Video BIOS affect this time.
6. Logon+Services and Shell are the times to start Winlogon, services, the shell,
and so on. This is mostly the operating system. However, value added
components such as anti-virus software can effect this time.
• Prefetching pages from disk to avoid page faults during boot. As device drivers
are loaded, services started, and so on, then pages will be needed from the
disk drive. Prefetching these pages means reading ahead before the pages are
needed so that they are already in memory thereby eliminating disk I/O delays.
• Device initialization is overlapped where possible and overlapped with Disk
I/Os. Windows overlaps the initialization of devices such as serial and network
thereby shortening the overall device init time. It is crucially important that
device drivers not spin writing/reading registers at 100% CPU since that will
lengthen boot.
• De-serialization of the boot process, elimination of processes, deferment of
services, footprint reduction.
• Windows XP has been scrutinized to remove any item from the boot path
that does not need to be there. In some cases there were optional items
not needed at all, in others services can be deferred to run later after boot.
• An example of De-serialization is Winlogon no longer waiting for network
initialization to complete.
• Several services are now combined under common processes (Svchost) to
reduce the overall number of processes. This reduces memory footprint by
approximately 1.5 MB per process eliminated.
Note: BIOS time on the good boot path should be approximately 7-10 seconds. A
PC with a multi-platter hard drive may take as long as 14-15 seconds due to
additional mass to spin up in the drive. This includes both BIOS POST and the time
taken to spin up the hard drive.
Each system file is now read with a single I/O operation. The resulting improvement
in Windows XP is that the boot loader is approximately four-to-five times faster than
in Windows 2000. If a system is configured for multi-booting both Windows XP and
Windows 2000, even the Windows 2000 boot time will benefit from the Windows XP
boot loader improvements.
Tip: For best hibernation resume times, scrutinize the performance of the BIOS
INT13 routine used by the boot loader to read the hibernation file. If resume from
S4 is slower than cold boot, look at INT13.
Optimizing the time for loading the operating system is achieved by overlapping
device initialization with the required disk I/Os, and removing or delaying the loading
all other processes and services from boot that are unnecessary at boot time.
In tuning a system for fast booting, it is crucial to look at both the efficiency of
device initialization and the disk I/Os.
is the CPU is at 100%, all Disk I/O has stopped, and there is no parallelism in
device initialization at that time.
Note: Although the boot activity graph shows prefetching overlapped with the
network card delay, it is misleading in the graph. All disk I/O is stalled. This could
be seen by looking at the disk activity graph.
Tips:
• Device drivers should only do what is required to initialize the device during
boot, and defer all else to post-boot. The goal is that the device is usable after
boot, but does not unnecessarily delay boot.
• Device drivers should never spin writing/reading registers at 100% CPU since
that will lengthen boot.
• When taking boot traces, unplug any network cables to avoid external network
delays. If unplugged, no entry for network should show in Bootvis that is
blocking boot.
1. Network initialization is now done in parallel to boot. Winlogon does not wait for
network initialization.
2. Serial Plug and Play is now overlapped. Serial PNP detects attached serial
devices. This used to take 2.5 to 3 seconds for typical PCs, and could take
several minutes in large servers with many ports.
3. Previously, NDIS caused boot delays while binding protocols to adapters, due
to the adapter negotiating link speed with hubs and switches. This also affects
PCs that have network adapters but no network cables attached. Protocol
binding is now done in parallel to boot.
4. ATAPI boot disk enumeration has been improved to take about two seconds (it
previously took approximately 6 seconds). Boot disk enumeration delays all
disk I/O during boot.
5. Delays to detect PS/2 keyboards on USB keyboard based systems are
reduced.
6. Reduction in processes and grouping of services under common Svchost
processes
Prefetching
In versions of Windows earlier than Windows XP, while device drivers, system
services and the shell load, the required memory pages will not be in memory until
loaded from the disk drive on demand. Another key improvement in Windows XP is
prefetching these pages before they are required, which avoids page faults. Page
faults delay boot to perform the needed disk I/Os.
The Windows XP Prefetcher accelerates both boot and application launch. It does
this by monitoring the pages required during boot and the pages required after an
executable is started. These pages are logged in scenario files in %windir
%\prefetch.
On the next application launch or boot, the scenario file is referenced for which
pages to prefetch.
Periodically, the scenario files are parsed and a list built in %windir%\layout.ini that
defrag will reference to lay these pages out contiguously on disk. Although the
pages are prefetched, the disk I/Os used to prefetch them will be more efficient
after a disk layout occurs.
boot trace, depending on the detection of IDE devices, and continuing for several
seconds. The duration of prefetching is dependant on the performance of the disk
drive, available memory and anything that might stall a disk I/O. Efficiency in
prefetching is important; disk I/O delays could stall the operating system boot.
To disable prefetching for the next boot and take a boot trace with Bootvis.exe,
delete the boot prefetch scenario file: %windir%\prefetch\ntosboot-b00dfaad.pf and
then take a boot trace.
Prefetching can also be disabled with the following registry key and value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management\PrefetchParameters EnablePrefetcher set to 0
Note: Overall boot time several seconds faster with prefetching due to fewer seeks.
The red bars are reads and blue writes. In this trace, most of the disk reads needed
to boot the system are done between 2-7seconds in the graph.
Note: Longer boot time overall, much more seeking. The disk I/O’s are very
inefficient.
width of the selection gives the data rate per second. Disks can be compared
for performance in this manner.
The sector offset graph is displayed by right clicking on the selected area and
selecting “Show Detailed Graph”. The detailed graph shows the disk seek patterns
within the selection. Figure 4 shows excessive seeking without prefetching, while
Figure 3 shows efficient seeking with prefetching due to contiguous page layout.
Boot Monitoring
Pages accessed during boot are logged in
%windir%\prefetch\notosboot-B00DFAAD.pf. This file logs the previous 8 boots and
is created or updated 1 minute after every boot. This is not idle time dependant.
The prefetcher uses this file to know which pages to prefetch. The .pf file extension
is referred to as a scenario file. Notosboot-B00DFAAD.pf is the boot prefetch
scenario file.
Tips:
Periodically pages used in boot and application launch are laid out contiguously on
disk during idle time. This occurs transparently for end-users but can be confusing
in a lab environment if the system is not allowed to idle or meet the other rules for a
layout.
The prefetcher service parses both the boot and application launch scenario files,
determines what pages to be prefetched, and builds a file named %windir
%\prefetch\layout.ini. Layout.ini is used for defrag to lay these pages out
contiguously on disk for improved disk I/O.
Layout.ini is built after 32 application starts. It is also built periodically after boots
excluding the first boot which runs the out of box experience. Layout.ini is
generated and a defrag initiated by the prefetcher service after an idle timeout of
approximately 5 to 30 minutes after boot.
Predicting exactly when a system will have optimized itself in the lab is difficult
since it requires idle time. If Windows XP is installed, booted two times while
allowing for the update of the boot prefetch scenario file, and then allowed to idle,
the timeline for the layout would look similar to the following:
For boot, idle time layout is scheduled using the following criteria:
The following registry keys can be monitored for status as well as the timestamps
on the layout.ini and boot prefetch scenario files.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher]
"LastDiskLayoutTime"=hex:30,cb,3d,2b,34,ed,c0,01
"LastDiskLayoutTimeString"="2001/06/04-13:23:08" (should match time on layout.ini)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"FileTimeStamp"=hex(b):30,cb,3d,2b,34,ed,c0,01
"OptimizeComplete"="Yes" (yes = layout completed successfully)
A normal file system defrag optimizes the system for application launch or fast boot
in addition to defragging the file system. However, it will not optimize for boot of app
launch if layout.ini does not yet exist.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"Enable"="Y" (Y = defrag will optimize for boot and app launch)
"LcnStartLocation"="1396416" (these numbers will vary, do not edit)
"LcnEndLocation"="1443782" (these numbers will vary, do not edit)
Because many devices may take significant time to go from D3 to D0 state, the key
to good resume performance is to overlap device initialization as much as possible.
Therefore, the ordering chosen by the operating system is important in maximizing
parallelism.
The following changes have been made to optimize the resume performance in
Windows XP.
In order to correlate more meaningful numbers with the Windows product team,
cold boot time is divided into three phases:
1. BIOS POST. The time for the POST to run and spin up the hard disk drive and
for the reading of the operating system boot loader. This ends with the display
of the boot menu in the boot loader.
2. Pre-Logon. The time from the boot menu to the Windows Logon screen.
3. Post-Logon. The time from clicking on an account in the Logon screen to the
Windows Desktop. This measurement is helpful in assessing delays introduced
by items in the Startup group, Run key, and so on.
1. Follow the “Preparing System for Fastboot” instructions later in this document.
After completing step 1, the system is ready for hand timing or tracing.
2. Time from pressing the power switch to the display of the boot menu from the
boot loader. Log this time as POST.
3. Time from the boot menu to the display of the welcome logon screen user
accounts. Log this time as Pre-Log.
4. Time from clicking on a user account to the display of the desktop icons. Log
this time as Post-Log.
5. The sum of the times from steps 2–4 is the total boot time.
In working with the Windows product team, it is important to report all three
numbers. Wherever a problem is suspected due to resulting times, use the
Bootvis.exe tool to get a trace of boot. When taking traces, ensure the system auto-
logs on by deleting any extra user accounts. There should be only one user account
in addition to the guest account for auto-logon to occur.
Because the number of platters in a disk drive, the memory type, and other factors
effect POST time, it helps to isolate these factors away from operating system time
by breaking into three numbers. Driver issues tend to show in the pre-log number.
Value added software issues normally show during post-log.
Tips:
• Be sure to allow the disk to fully spin down between measurements. A delay of
20secs is recommended before booting again.
• Make sure you have fully booted the operating system and performed a typical
shutdown before timing POST on a system where the BIOS implements the
Simple Boot Flag specification. The BIOS implementation of the Simple Boot
Flag specification may interpret a shut down from the boot menu as a failed
boot, affecting subsequent BIOS POST timing.
• To avoid external network boot delays, unplug network cables. If boot times
increase when cables are unplugged, look at the media-sense support in the
network adapter and its driver.
The biggest influencers in achieving a fast boot time are to have enough RAM and
a fast disk drive.
2. Although prefetching helps, the operating system image has to move from the
disk to memory. The faster the bits come off the heads of the disk drive and
into memory, the faster boot will be. Moving from a 5400 RPM disk to a 7200
RPM disk can save several seconds in boot time. Larger buffers on disk drives
can also help.
Note: When comparing disk speeds, make sure to compare disks with the
same number of platters for a direct comparison of spindle speed effects.
3. CPU performance has little effect in the first half of boot but does help in the
Winlogon phase of boot if the CPU is faster. CPU is often at 100% utilization in
this portion of boot.
4. Use the Bootvis.exe tool if your hand timings seem to be too long. Bootvis.exe
will expose areas that warrant deeper investigation. Most commonly these are
in device drivers.
5. Value added software can also slow boot. Bootvis.exe will show you the start of
these processes, the CPU load, the disk I/O’s caused by them. Evaluate the
software you bundle for good boot time.
Note: The Windows XP prefetcher stops monitoring boot 10secs after the start
of the explorer process so the software you add to boot is likely to be loaded
faster due to prefetching.
Figure 6 shows the effects on boot time as the hard drive motor speed and memory
configurations are varied. It is important to note that 128 MB with 5400 RPM is a
better overall experience than a small memory configuration with a faster disk.
Small memory means more paging and even with a fast disk that is not a great
experience. Therefore choose more ram before a fast disk and always start with
128 MB minimum for a reasonable end user experience.
24
22
20
18 7.3
16 1.9 3.8
14
1.8 Post-Log
12
Pre-Log
10
8
14.9 14.2 14.8
6 12.4
2
0
128MB- 128MB- 64MB- 64MB-
7200RPM 5400RPM 7200RPM 5400RPM
Note: These numbers taken on Dell Dimension model 4100 with Windows XP
Home Edition build #2458.
For a fair comparison, make sure when comparing disk speeds that both disks have
the same number of platters.
Far eastern languages also are longer to boot since there are three additional
processes that must be loaded to handle the far eastern input methods. This can be
as little as 1.5 seconds on a fast disk with 128 MB to several seconds on slower
disks or memory constrained systems.
• Next Boot
• Next Boot with Driver Delays
• Next Standby/Resume
• Next Hibernate/Resume
Bootvis.exe can show many types of useful details, so the best way to start is by
dragging an area on the graph and then either double-clicking it or right-clicking to
view the options available on a context menu.
IMPORTANT: The Bootvis tool is provided to help you develop a general idea of
where there may be issues or problems with boot or resume. They graphs may
provide information that will help idenify where to use more specific development
tools. Bootvis.exe will not specify the exact fixes that need to be made; it should
only be used as a tool to help locate or identify potential problem areas.
The boot activity graph shows BIOS and NT Loader bars as place holders prior to
the start of the boot trace. Times are offset from BIOS and NT Loader indicating the
need to add BIOS+NTLoader to any boot timings being taken.
The boot activity graph clearly shows the overlap of prefetching and device
initialization. Remember to look in more depth at the prefetching disk I/Os to check
for sequential I/O and note the disk throughput by viewing the summary table for
this time window.
The boot activity graph shows a mark for boot done. This corresponds to the Start
Menu being available for use.
Taking boot traces with Driver Delays will lengthen boot by 2 to 5 seconds. The
resulting binary file will be several megabytes in size.
Bootvis.exe has the ability to loop, taking the number of traces specified and storing
them in files automatically incrementing the file name. This is very convenient in
taking a batch of timings. In taking boot timings, it is a good practice to take 5
timings per configuration to ensure there are no unusual deviations. If the repetition
option in Bootvis.exe is used, there is an option for shutdown or restart. If shutdown
is chosen, the system will be turned off between boots such that a hand timing can
be taken capturing the BIOS POST and NTLoader times to correlate to the boot
trace.
Using Bootvis.exe
To use Bootvis.exe
1. Create a directory named Ptools. Copy Bootvis.exe to Ptools.
2. Start Bootvis.exe.
3. From the Trace Menu, the following traces are available:
• Next Boot
• Next Boot with Driver Delays
• Next Standby/Resume
• Next Hibernate/Resume
Note: Tracing Driver Delays during boot will add several seconds of boot time
delay.
4. Select the desired trace Bootvis will prompt with a couple questions for file
naming and looping and reboot the system to take the trace.
5. You have the option of setting a repetition count if taking multiple traces. The
file name will be named after the trace type with an incrementing number on the
end of the file for each trace.
6. Bootvis_sleep will be created in the folder containing Bootvis.exe. This is a
small stub used to start bootivs.exe after a delay after boot to keep Bootvis.exe
from effecting the trace. Bootvis.exe is a large MFC application.
7. Bootvis.exe will restart and save the trace to the last folder used by
Bootvis.exe. It will then open and display the trace.
Drill downs:
• A summary table shows a breakdown of the time spent in each process during
the selected time.
• Double-clicking a process line in the summary table will display a table that
breaks the time within a process by module.
Drill downs:
• A summary table shows the breakdown of I/Os by file for the selected time
region.
• A Details Graph shows the sequence of I/Os and illustrates disk seeks between
I/Os.
Drill downs:
• A Summary chart shows the logged information for the selected I/Os.
Drill downs:
• A Summary chart displays the delays experienced for the selected time region
or driver.
The prefetcher attempts to optimize boot speed by monitoring files accessed during
boot, ending 10 seconds after the start of Explorer.exe. If the added software is
large, the optimizations gained by using prefetching will diminish late in boot.
1. Start Bootvis.exe
Tip: For the purpose of measuring the best resume performance, turn off
"Prompt for password when computer resumes from standby" from
Control Panel->Power Options->Advanced.
5. The system will awaken automatically after the Sleep Time period has elapsed.
6. After the system resumes from Standby, Bootvis.exe will automatically open
and display the resume trace file, as shown in Figure 8.
Figure 8. Bootvis.exe Resume Trace
Note: If you have selected to collect multiple traces Bootvis.exe will not
automatically open the resume trace file when the last trace is complete. Use the
File menu to open the desired trace file for viewing.
Drill downs:
• The vertical marker lines indicate the various phases of the resume process.
Placing the mouse cursor over the square boxes at the top of the marker lines
will present a tool tip with additional information.
• The green horizontal graph bars graphically illustrate the resume phases in
time. Placing the mouse cursor over the graph bars will present a tool tip with
the bar title and time elapsed.
Drill downs:
• The following summary information is displayed:
• BIOS wake time
• Device initialization time
• Application initialization time
• Total resume time
• A tabular view lists those device drivers taking longer than the Driver Delay
Threshold to complete their S0 IRPs.
Note: The Driver Delay Threshold time is specified in the Options dialog box.
• Clicking on the Save Table button will export this summary date in either .CSV
or .TXT file formats for use with other application software.
Figure 10: Resume Summary Window
Drill downs:
1. The green horizontal graph bars show device drivers taking longer than the
Driver Delay Threshold to complete their S0 IRPs.
Note: The Driver Delay Threshold time is specified in the Options dialog box.
2. The Driver Delay window is initially displayed with Device (Dx) IRPs hidden. To
display Device IRPs, right click on the driver delay window to bring up the
context menu, and click on Show Device IRPs.
3. Placing the mouse cursor above a driver delay bar will display a tooltip with
further information about the driver.
4. Double-clicking on a driver delay bar will open a tabular summary window of
information about the driver.
• BIOS POST — the time needed for the POST to run and spin up the hard disk
drive, and the time needed to read the operating system hibernation file.
• Device Initialization — the time needed for devices to process system power
notifications and restore their context.
The sum of these two phases is the total hibernation resume time for a PC.
6. Measure the time from pressing the power switch to the completion of the
“Resuming Windows” screen; this provides a close measure of BIOS POST
and hibernation file read time.
7. After the system resumes from Hibernate, Bootvis.exe will automatically open
and display the hibernate resume trace file, as shown in Figure 12.
8. Hibernation resume time is the total of the BIOS POST and hibernation file read
time measured in step 6 above, plus the Device Initialization time shown in
Bootvis.exe.
• Remove advertisements from expansion ROMs. The video BIOS often includes
such advertisements.
• If the PC does not support IDE expansion past a single hard drive and CD/DVD
drive, configure the BIOS to not look for other devices on the primary and
secondary IDE channels.
• For the Windows XP operating system, there is no need to restore drive timing
on secondary IDE channels.
• For systems implementing PXE boot, do not run POST on a network adapter
ROM if the user did not initiate a PXE boot.
Resources
Related tools and information about optimizing for fast system startup on PCs
running Windows XP can be found at:
http://www.microsoft.com/hwdev/onnow/
When sending data or reporting issues, please include the build number of
Windows XP that you are using and explicit details about the hardware
configuration.