Migrating XP to Windows 7 While Maintaining Users Settings and Data
Migrating your XP SP2 (and later) desktops to Windows 7 doesn’t need to be difficult or costly. Microsoft’s Deployment Toolkit 2010 (MDT 2010) does it all for you and at the right price *free*. MDT 2010 can even migrate XP machines while maintaining your users documents and settings like IE favorites and Outlook settings.
The steps in this article assume you have already installed the Windows Automated Installation Kit 2.0 (WAIK) and Microsoft Deployment Toolkit 2010 (MDT 2010). The instructions for installation can be found on http://www.deploymentdr.com/subpage.html. The MDT snap-in we’ll do most of our work in is the Deployment Workbench — you can find it by clicking Start / All Programs / Microsoft Deployment Toolkit / Deployment Workbench. You can easily pin the Deployment Workbench to your taskbar (if on a Windows 7 or Windows Server 2008 R2 OS) so it’s always close at hand.
In this article I’ll begin by showing you how to create a deployment share. The deployment share is where your target machines connect to deploy an OS image. Then, you’ll need to import an operating system (Windows 7) and create a Task Sequence. A task sequence determines which tasks are performed during your deployment and the order in which the tasks are performed (this will make more sense once you’ve seen a task sequence.
Creating a Deployment Share
The deployment share is the network folder your target machines connect to during the deployment process, so be sure you have network connectivity and permissions to the deployment share folder (input permissions here). Create a deployment share within the Deployment Workbench by right-clicking the “Deployment Shares” node and choosing New Deployment share. The New Deployment Share Wizard opens to the “Path” page. Then follow these steps:
- On the Path page click the Browse… button to navigate to where you would like to store your deployment share or type in a path. If you specify a folder that doesn’t exist MDT will create it for you. I recommend storing your deployment share on a driver other than your system drive. I changed the C:\ drive to F:\ and accepted the default folder name then clicked Next.
- On the Share page provide the name you’d like the F:\DeploymentShare folder shared as. I’ve accepted the default shared folder name of DeploymentShare$ ($ indicates a hidden share, so this folder name won’t show up on browse lists). Accept the default or type a different share name and then click Next.
- On the Descriptive Name page type in a description for the deployment share shared folder and click Next.
- The Allow Image Capture page is configured (by default) to prompt you during deployment to capture an image of the target machine before you replace the OS. You’ll also have the option of storing the image locally or on a network share. This is handy if for some reason you need to roll back the target machine to the previous OS image. I like to accept the default setting, you can always answer No during deployment but it’s nice have the option. Make your selection and click Next.
- The Allow Admin Password page is set to not ask users during deployment to set the local administrator password of the target machine. I like to leave this at the default and assign the local admin password in your task sequence which I’ll show you a later. Then click Next.
- The Allow Product Key page allows you to choose whether you want to be prompted during the deployment process for a product key or not. Just as the local admin password can be included in a task sequence so can a product key. Accept the default setting and click Next.
- The Summary page displays the selections you’ve made in the New Deployment Share Wizard. To make changes click the “Previous” button until you are on the page you’d like to change. Clicking Next on the Summary page kicks off the creation of the deployment share. The steps run to create a deployment share are displayed in the Progress page which appears quickly, disappears and advances you to the Confirmation page.
- The Confirmation page has two new buttons: Save Output and View Script. Clicking the Save Output… button opens the Save As dialog box, browse to where you would like to store the file that contains the output (the output is exactly what you see on the confirmation page), give the document a name and click Save. The View Script button shows the Powershell commands that were run to create the deployment share. Click Finish to complete the creation of your deployment share.
Once the New Deployment Share Wizard has completed your new deployment share appears in the Deployment Workbench under the Deployment Shares node as shown below. Expanding your new deployment share reveals six nodes: Applications, Operating Systems, Out-of-Box Drivers, Packages, Task Sequences and Advanced Configuration. We’ll begin in the Operating systems node.
The New Deployment Share
Importing Operating Systems
Before you can deploy an operating system (OS) you’ll need to import one into the deployment workbench. The steps for importing an OS are the same whether you are importing XP SP3, Vista SP1, Windows 7, Windows Server 2003 R2, Windows Server 2008, or Windows Server 2008 R2 (these OSs are all supported). To import an OS right-click the Operating Systems node and choose Import Operating System. The Import Operating System Wizard opens to the OS Type page, follow these steps:
- On the OS Type page there are three selections:
Full set of source files – Files from the Windows 7 DVD or .iso file.
Custom image file – .wim file you’ve created using ImageX or the MDT.
Windows Deployment Service images – OS images stored on a WDS server, all the OS images from a WDS server you cannot pick and choose specific OS images to import. Select Full set of source files and click Next.
- On the Sources page click the Browse… button and navigate to either the root of a Windows 7 DVD or a folder where you have copied the entire Windows 7 DVD.
- On the Destination page type the name of the folder that will be created to store your Windows 7 source files. This folder will not appear in the deployment workbench. But you can find it by using Windows Explorer and navigating to F:\DeploymentShare\Operating Systems\. Type the name of the new folder and click Next.
- The Summary page displays the details of the Import Operating System Wizard just as the “New Deployment share Wizard” did. Review your choices and click Next. The Progress page appears and when the OS is fully imported the Confirmation page appears. Importing OS images can take a while depending on the speed of your server and the size of the image file. Click Finish on the Confirmation page and your newly imported OS will be displayed in the deployment workbench under the Operating Systems node.
TIP – One of my favorite new features of MDT 2010 is the ability to organize my operating systems by creating folders and storing the OSs in separate folders as shown below. For example you could create a folder under the Operating Systems node by right-clicking Operating Systems and choosing New Folder. Give the folder a name (Win 7, or XP etc…) and click Next twice then click Finish. Moving OSs within the deployment workbench is a piece of cake just right-click the OS you’d like to move and choose Cut and then right-click in the new folder and choose Paste. You can also organize your applications, drivers, and packages by creating similar folder structures within those nodes.
Organizing your Deployment Workbench
You can import applications, drivers and patches in much the same way that you imported the OS although with different options.
Creating a task sequence
A task sequence contains a list of tasks that will be run during the deployment and the order in which they are run. To create a task sequence right-click the Task Sequences node under your deployment share and choose New Task Sequence. The New Task Sequence Wizard opens to the “General Settings” page.
- On the General Settings page provide a Task sequence ID, Task sequence name and Comments. I’ve typed:Task sequence ID = W7x64
Task Sequence name = Windows 7 64-bit
Task sequence comments = provides an easy way to quickly and easily document when and why you created the task sequence.
Then click Next.
- On the Select Template page choose Standard Client Task Sequence from the drop down box and click Next.
- On the Select OS page navigate to the edition of Windows 7 you want to migrate the XP machine to and then click Next.
- On the Specify a product key page type in a product key if needed (Enterprise clients won’t need to worry about this) and click Next.
- On the OS Settings page provide Full name, Organization and Internet Explorer Home Page (all required fields) then click Next.
- On the Admin Password page type in a password that will be the target machines local administrator password, and then click Next.
The Summary page let’s you review your settings, make changes by clicking the Previous button when everything looks good click Next. The Progress page appears and displays the steps being run to create the task sequence. When finished the Progress page disappears and the Confirmation page is displayed, click Finish.
Update the Deployment Share
Updating your deployment share is when things really start to happen. Updating your deployment share copies the tools needed by the MDT into your deployment share and custom MDT WinPEs are created: LiteTouchPE_x86.wim and LiteTouchPE_x64.wim. To update your deployment share from within the deployment workbench expand the Deployment Shares node. Then right-click your deployment share name and choose Update Deployment Share to launch the Update Deployment Share Wizard, then follow these steps:
- The Options page presents two options: Optimize the boot image updating process and Completely regenerate the boot images. If this is the first time you have updated the deployment share either option will do the same thing. Accept the default Optimize the boot image updating process and click Next. On subsequent updates choosing Optimize the boot image updating process will modify the existing WinPEs. Choosing Completely regenerate the boot images will create new boot images (I use this one whenever I want to know for sure that there are no left over (from previous WinPEs) issues).
- The Summary page is displayed, review your selections (make any changes) and click Next. The Progress page displays the steps performed to update your deployment share. When the deployment share is updated the Confirmation page appears, click Finish.
You’re ready to migrate your first XP machine to Windows 7. Remember the target machine needs networking functionality and the ability to physically connect to the MDT deployment server’s deployment share.
Migrating Your First XP Machine to Windows 7
To migrate your XP SP2/SP3 (both are supported by Microsoft) target machine to Windows 7 you’ll need to start with XP booted and logged into your domain with an account that has read/write permissions to the MDT deployment share. Then you’ll need to connect to the deployment server and run LiteTouch.vbs to kick off the migration. Follow these steps:
- On the XP target machine click the Start button and then Run. In the Run box type the network path to your deployment shares\Scripts folder and run LiteTouch.vbs which launches the Windows Deployment Wizard. My deployment server is named 2010Server and my deployment share name is DeploymentShare$ so my network path looks like this:\\2010Server\DeploymentShare$\Scripts\LiteTouch.vbs
- Select the only available option Refresh this computer. You cannot upgrade an XP machine to Windows 7 so that option (Upgrade this computer) is not available. Click Next.
- On the Configure the computer name page the current name of the XP machine is displayed. Accept the existing name or type a new computer name and click Next.
- The Join the computer to a domain or workgroup page lets you Join a domain or Join a workgroup. To join the target machine to a domain supply credentials for an account that has permissions to join a machine to the domain (and create a computer object). Specify which OU to create the new computer object in by using the distinguished name. For example my domain = Deploy.com and I want the new computer object created in the Workstations OU I created. My distinguished name looks like this: OU=Workstations,DC=Deploy,DC=com after choosing domain or workgroup click Next.
- On the Specify where to save your data and settings page you have three choices: Automatically determine the location with the sub-setting “Allow data and settings to be stored locally when possible” enabled runs USMT hardlink migration so your data and settings will stay in tact (not applications – just the users data, IE and Outlook settings etc…). Do not save data and settings which does exactly that, and Specify a location which allows you to choose where to store the users settings and data. I Choose Specify a location and typed in the UNC path of \\2010Server\USMT (I created and shared the USMT folder on the 2010Server).
Within the 2010Server USMT shared folder a new folder is created named USMT and within the new USMT folder a file containing the instructions for the user’s settings and data named USMT.mig will be created.
- The Specify where to save a complete computer backup page lets you create a .wim image of the XP target machine before you replace the OS with Windows 7. Choosing Automatically determine the location will store the .wim image file locally if there is enough room. The Do not back up the existing computer is pretty self-explanatory. The Specify a location option allows you to provide an UNC path where you want to store the .wim image file. I’ve stored my .wim image on my 2010Server in the Backups folder that I created, so my UNC path looks like this:\\2010Server\BackupsOnce you have chosen whether you want a backup image of the target machine before you replace the OS and where you want to store it click Next.
- On the Language and other Preferences page choose your Language you’d like to install the new OS in, the Time and currency format and Keyboard layout then click Next.
- The time zones are displayed on the Set the Time Zone page, select your time zone and click Next.
- Choose any applications you would like to install from the Select one or more applications to install page. You would need to first add applications to the deployment workbench before they will appear on this list. After you have added applications to the deployment workbench you can select them from this list then click Next.
- The Specify the Bitlocker configuration page let’s you enable/disable BitLocker on the target machine. If you enable BitLocker you’ll need to specify where to store the BitLocker recovery key. For now accept the default setting “Do Not Enable BitLocker for this computer” and click Next.
The Ready to Begin page is the last page in the deployment wizard. Clicking Details… shows your selections. After reviewing your settings (make changes by clicking the blue circle with the left arrow in the bottom left corner) click Begin and let it rip. The deployment begins and displays the Installation Progress bar that shows each stage of the installation.
Under the hood USMT runs scanstate and stores the user’s settings and data in the path you provided. Then the XP target machine reboots into a custom MDT Windows Pre Installation Environment. This custom MDT WinPE contains the scripts needed for the deployment wizard. After Windows 7 is installed USMT runs again and this time performs a loadstate command that will migrate the users data and settings from the USMT.mig file created from the scanstate process. You can tell if the migration has completed successfully when you see the Operating system deployment completed successfully page shown below:
MDT 2010 is capable of much more than just migrating XP machines to Windows 7 while maintaining your users IE favorites, Outlook settings, data etc… But for now I hope these steps will make it easier for you to migrate your XP SP2 and later machines to Windows 7 no muss, no fuss and most importantly no money spent on the deployment tools. Yes all this from a free Microsoft deployment tool.
Please let me know if you have any questions or comments!