Results for the First Boot Performance Assessment

Applies To: Windows 8.1

The First Boot Performance assessment identifies issues that affect the time that Windows® takes to boot and display the Start screen the first time that the end user starts the computer. The results help OEMs diagnose what causes delays and provide some recommendations for improving the experience. The assessment examines the Event Trace Log (ETL) files that Windows creates when it processes image customizations during the Setup process, during the out-of-box experience (OOBE), and after OOBE. The assessment creates result metrics based on logged events.

In this topic:

  • Goals File

  • Metrics

  • Issues

For more information about this assessment, system requirements and assessment settings, see First Boot Performance.

Goals File

You can create custom goals to measure your improvements in the Results View. Goals files are a triage tool that can help you understand how a PC is performing and to compare PCs in your business.

For example, goals for a basic laptop might be different than the goals you set for a high end desktop computer, or market expectations might change in such a way that you want the flexibility to define different goals and key requirements as time passes and technology improves.

When a metric value is compared to the goal for that metric, the status is color coded in the Result View as follows:

  • Light purple means that the system has a great user experience and that there are no perceived problems.

  • Medium purple means that the user experience is tolerable and you can optimize the system. Review the recommendations and analysis to see what improvements can be made to the system. These can be software changes, configuration changes or hardware changes.

  • Dark purple means that the system has a poor user experience and that there is significant room for improvements. Review the recommendations and analysis to see the improvements that can be made to the system. These can be software changes, configuration changes or hardware changes. You might have to consider making tradeoffs to deliver a high quality Windows experience.

  • No color means that there are no goals defined for the metric.

Note

In the Windows Assessment Toolkit for Windows 8, some assessments include default goals files. The first time you view results using this version of the tools, the default goals file is used. However, you can also define custom goals for Windows 8 the same way that you can for Windows 8.1.

You can set the goals file location and add a goals file to that location before you can use the UI to apply the custom goals. Once a goals file is selected it will continue to be the goals file that is used for any results that are opened.

Only one goals file can be used at a time. Goals for all assessments are set in a single goals file. The assessment tools will search for goals in the following order:

  1. A custom goals file

  2. Goals that are defined in the results file

  3. Goals that are defined in the assessment manifest

You can use the sample goals file that is provided at %PROGRAMFILES%\Windows Kits\8.1\Assessment and Deployment Kit\Windows Assessment Toolkit\SDK\Samples\Goals to create your own goals file.

Note

You cannot package a goals file with a job, but you can store it on a share for others to use.

Metrics

The following table describes the metrics that the First Boot Performance assessment measures. Smaller values are better because they indicate that the system spent less time in the first-boot process.

Metric Description

Active Setup

Time, in seconds, to complete per-user first logon tasks.

If a time is not provided, no end event was logged before the Start screen became available for use.

App initialization

Time, in seconds, for all app packages to initialize.

App licensing validation

Time, in seconds, for all app packages to be scanned.

Component specializations

Time, in seconds, that the Sysprep tool took to process all operating system-specific and computer-specific information. Device drivers are also installed during this phase.

Final automated installations

Time to stop services before Windows is shut down, which ends the specialize configuration pass.

First logon commands

Time, in seconds, to complete the First Logon Commands.

Initialize time (per app)

Time, in seconds, for a specific app to initialize.

OOBE phase

Time, in seconds, to complete this phase of Windows Setup. The OOBE phase occurs when Windows Setup finishes and the system processes settings, and before a user first logs on to Windows. This phase runs before the Windows shell or any additional software runs. This phase performs a small set of tasks that are required to configure and run Windows.

Pending online actions

Time, in seconds, to process packages that were installed offline and that require an online action to complete the installation.

Persist all device installs

Time, in seconds, to install device drivers if the Microsoft-Windows-PnPSysprep | PersistAllDeviceInstalls setting is True in an answer file.

Post-OOBE events

The time to complete the events that occurred after OOBE completed.

Registry processing

Time, in seconds, to load all registry hives into the system memory and create new computer-specific registry keys.

Resetting disk signatures

Time, in seconds, to create computer-specific disk signatures.

Scan Time (per app)

Time, in seconds, for a specific app package to be scanned.

Services initialized during OOBE

Number of services that were initialized during the OOBE phase.

Services initialized during Setup Specialize

Number of services that were initialized during the specialize configuration pass.

Setup Specialize

Time, in seconds, to complete the specialize configuration pass. This includes the time to create and add computer-specific SIDs, process operating system-specific and computer-specific information, process answer file settings (these include RunSynchronous commands), and process packages that require online actions.

Setup Specialize completed before the first boot

A Boolean value that indicates whether the manufacturer ran the Setup Specialize phase as a part of the manufacturing process, so that the customer does not have to run this phase on the first boot of the computer. True means that the manufacturer completed Setup Specialize. False means that the manufacturer did not complete Setup Specialize.

If the restart between Setup Specialize and OOBE takes longer than 20 minutes, it is assumed that the manufacturer ran Setup Specialize before the end user received the computer.

SetupComplete.cmd

Time, in seconds, to run custom scripts after Setup finishes but before the logon screen appears.

SID replacement

Time, in seconds, to create and add computer-specific security identifiers (SIDs).

System configuration

Time to process answer file settings in the oobeSystem configuration pass in Setup.

System reboot after Setup Specialize

Time for the system to reboot after the specialize configuration pass. If the manufacturer completed the specialization configuration pass before the end user received the computer, this value might indicate the computer shelf time.

Third-party device drivers

Time, in seconds, to enumerate all devices and load the corresponding drivers.

Time before Animation (per app)

Time, in seconds, for a specific app to animate after the Start screen appears.

Time to Start

The total number of seconds that the computer required from the start of Setup to the time that the Start screen is ready for user input. This measurement does not include user input time during OOBE.

Time after Start for app animations

Time, in seconds, for apps to animate after the Start screen appears.

Time user spent in the Setup Specialize phase

The time that the end user spent completing the Setup Specialize phase of the first-boot process, and the time that is spent during the required restart after the Setup Specialize phase. This is zero if the manufacturer completed the Setup Specialize phase before the end user received the computer.

User profile processing

Time, in seconds, to reset access control lists (ACLs) for user profiles.

Volume processing

Time, in seconds, to reset ACLs on drives.

Issues

The following table describes the issues and recommendations that appear based on the results of the assessment.

Issue Description Recommendation

Active Setup delays

It took longer than expected to complete per-user first logon tasks.

Adding per-user first logon tasks extend the length of time that it takes to reach the Start screen. Consider removing these tasks.

Component specializations delays

It took longer than expected to complete component specializations.

Investigate the individual issues that contributed to these delays.

Delays caused by SetupComplete.cmd

The SetupComplete.cmd file extends the length of time that it takes for the user to reach the Start screen.

The SetupComplete.cmd file extends the length of time that it takes to reach the Start screen. We recommend that you do not use the Setupcomplete.cmd file to add customizations to the Windows image.

Delays occurred during the OOBE phase

It took longer than expected to complete OOBE.

If consistency is important, you can automate the user input in OOBE.

For more information about how to optimize OOBE, investigate individual issues that contribute to this delay.

Delays occurred while animating apps

It took longer than expected to animate apps after the Start screen appeared.

Investigate animation delays or consider removing apps from the image.

Delays occurred while animating this app

It took longer than expected to animate this app after the Start screen appeared.

Investigate animation delays or consider removing this app from the image.

Delays occurred while initializing apps

It took longer than expected to initialize apps.

Consider decreasing the amount of apps that you include.

Delays occurred while installing third-party device drivers

It took longer than expected to install third-party device drivers.

When you include device drivers in the Windows image, the Component Specialization phase takes longer to finish. Remove extraneous drivers. Consider running the Driver Verification assessment to make sure that all drivers are up-to-date and that the computer does not have unnecessary drivers.

Delays occurred while processing the registry

It took longer than expected to load and create new computer-specific registry keys.

Remove unnecessary registry settings.

Delays occurred while processing user profiles

It took longer than expected to process user profiles and reset the Access Control Lists (ACLs).

Consider removing unnecessary user profiles to reduce the time that is required to reset the ACLs.

Delays occurred while resetting ACLs on drives

It took longer than expected to reset the ACLs on volume drives.

Consider removing unnecessary disk drives to reduce the time that it takes to reset the ACLs.

Delays occurred while resetting disk signatures

It took longer than expected to create computer-specific disk signatures.

Remove unnecessary disk drives and make sure that the disk drivers are up-to-date.

Delays occurred while stopping running services

It took longer than expected to stop running services.

Adding custom or third-party services lengthens the time that is required to stop the services and shut down the computer. Add only necessary services and make sure that all services are up-to-date.

First logon command delays

It took longer than expected to complete the first logon commands.

Adding first logon commands to the answer file extends the length of time it takes to reach the Start screen. Consider removing these commands.

Overall delay

It took longer than expected for the computer to boot and the Start screen to appear.

Investigate the individual issues that contributed to this delay.

Pending online actions delays

Some packages that were installed offline required an online action to finish. This took longer than expected.

When you service the offline image with updates, language packs, and other packages, each package can also have online actions that must be processed. This lengthens the time that is required for the specialize configuration pass to finish. Process pending online actions before you complete your image and ship the computer.

Persist device drivers delays

Device drivers that were removed during the Sysprep /generalize process were reinstalled during the specialize configuration pass.

When you install Windows on a computer that has the same devices as the reference computer, set the PersistAllDeviceInstalls value to True in the answer file. This prevents Sysprep from removing device drivers during the Sysprep /generalize process and installing them during the specialize configuration pass.

Setup Specialize delayed first boot

The manufacturer did not complete the Setup Specialize phase.

The manufacturer should run Setup Specialize before the end user receives the computer.

SID Replacement delays

It took longer than expected to create and add computer-specific security IDs (SIDs).

Investigate the individual issues that contributed to this delay.

System Configuration delays

It took longer than expected to process answer file settings during the oobeSystem configuration pass.

Additional time is required to add answer file settings in the oobeSystem configuration pass. Add only the settings that are necessary.

The assessment reports an exit code of 0x80050006

This error occurs when maintenance tasks have been registered on the PC but have not completed before the assessment run. This prevents the assessment from running, as maintenance tasks often impact assessment metrics.

To resolve this issue, do one of the following:

  1. Ensure that the computer is connected to a network and is running on AC power. Manually initiate pending maintenance tasks with the following command from an elevated prompt:

    rundll32.exe advapi32.dll,ProcessIdleTasks

  2. Disable regular and idle maintenance tasks, and stop all maintenance tasks before running the assessment.

See Also

Concepts

Assessments
First Boot Performance

Other Resources

Windows Assessment Toolkit Technical Reference
Windows Assessments Console Step-by-Step Guide