Windows Vista Imaging and Installation Performance
PC World got the conversation going on installation times in Windows Vista. While they quote Jim Allchin that Windows Vista can take as little as 15 minutes to install, my installs have been more like 20 minutes (still rocking fast), so I thought I would talk with David D'Souza who manages our Deployment and Installation team to get some more information about the different deployment scenarios and their installation time. In his own words ...
Hi, my name is David D’Souza and I am the Director of Development in the Windows Core OS Division. I run the development team responsible for the deployment technologies in Windows Vista.
Windows Vista Setup has dramatically improved since Windows XP. This has been one of the deepest and most comprehensive investments Microsoft has made in deployment. Our goal was to dramatically enhance the reliability and performance of OS deployment across end users, OEM, and Corporate scenarios. Windows Vista deployment had to be fast and reliable across a wide variety of scenarios and it had to easily integrate into the deployment processes our customers already used. Generally, our internal goal that rolled this all together was “15 minute OS installation using imaging”. Technically, we focused on three things:
1) End to end tool set for local and remote image based deployment of Windows Vista.
2) Reduction in number of images due to easy addition/removal of language packs and drivers.
3) Modularization to facilitate agility in engineering, deploying, and servicing all the new Windows Vista flavors.
In this note, I will cover the first item.
Ideally, installation of an operating system is two fairly simple steps. First, copy all the OS files to the hard disk. Second, configure the machine dependent files & registry settings such as security identifiers, machine name, and specific hardware drivers required for the system. Install time should scale with the size & number of files in the operating system.
However, the software development process is structured around smaller, isolated, components – kernel, file system, shell - that combine to produce the full OS. Thus, our developers create an installation script that is a long list of individual components, each with their own state, configuration, and instructions for installation. Each component copies its files, builds its databases, and individually adds its registry keys. This makes it easy for Windows developers to change one component without disturbing other components. Unfortunately, this means install time scales with the number of components, files, and registry keys. This is the process we used to install Windows XP.
Imaging allows us to execute the “slow” installation process internally at Microsoft and capture the resultant files and a list of machine dependent state. Subsequent installs simply copy all the files – the OS image - and reconfigure the machine dependent state. The imaging process allows us to have the best of both worlds – an agile internal software development process that is component centric and a final installation process that optimizes towards installing the full operating system. Additionally, imaging is highly reliable because significantly fewer & simpler operations are performed to install an image. Imaging is the default installation process we use in Windows Vista.
How We Image
Windows Vista supports a collection of imaging tools & file formats to enable image based deployment by OEMs & Corporations.
Windows Imaging technologies (WIM) – Also includes the Windows Image Format that contains all the files required to install the operating system. WIMGAPI is an API set developers can use to read or write WIM image files so more tools can be developed around this. This is a file based imaging technology that enables a greater degree of hardware independence.
ImageX is the tool that allows users to capture a WIM image, edit certain files offline, deploy it onto a harddisk, and configure the machine dependent state so the OS boots & runs.
Setup provides a friendly user interface around ImageX to install the Windows image stored on the DVD. Setup can do a clean install or upgrade an existing operating system such as Windows XP or Windows Vista. When doing an upgrade, Setup first captures all your documents, settings, drivers, & applications, lays down the clean image, and then reapplies your state into the new OS. Supporting upgrade scenarios via imaging ensured our imaging technology worked across a huge variety of hardware configurations. This helps reduce the number of images corporations & OEMs need to maintain.
Windows Deployment Services (WDS) – is a server product that allows you to boot your bare metal PC from the network and install an image onto your hard disk. This is primarily used by corporations & OEMs for large scale, remote image deployment.
Let’s first look at the overall performance numbers we are seeing from our latest RC builds:
Overall “Mode” External Installs
% of RC1 installs
All Clean Installs
Overall clean installs using any mechanism described below
Clean Installs starting from XP
Overall clean installs starting from XP (DVD, Net)
Clean installs starting from WinPE
Boot from DVD or boot from external media (USB etc.)
Clean installs using WDS
Windows Deployment Services (network boot) installs
This data represents Windows Vista Ultimate clean installation times across hundreds of thousands of RC1 installations on diverse hardware with varying DVD drives and network traffic. The time is based on the start of copying the files to the disk to the time the OS is ready to run – the time to enter the product key (PID), select your drive, and enter the language and do the performance check during OOBE is not included.
Overall, we come very close to our 15 minute install time goal across a broad array of hardware and installation mechanisms using the Windows Vista Ultimate product. There are many things that influence this time - speed of the network or dvd drive, the flavor of Windows Vista you install (Home is smaller than Ultimate), and the number of PnP devices on your system.
Additionally, we also support in place upgrades from Windows XP to Windows Vista. During an in place upgrade, we install the image and ensure your applications, drivers, settings, and documents are properly moved into Vista. This process of finding and moving your state adds at least 30 minutes to the upgrade process. And some machines with large numbers of files, applications, or drivers can take up to 120 minutes.
The deployment team has put a lot of effort into the install process, and in some scenarios installation is going to be as short as 20 minutes and in others, it will be longer. I hope you all have a better understanding of installation and the great progress we have made. Please install RC1 and try it for yourself. To get all the deployment tools I mentioned, go to connect.microsoft.com and download the Business Desktop Deployment solution (BDD 2007) – this has best practice guidance on how to use these tools as well.