Migrating to Windows 2008 R2 from a 32-bit (x86) Server



Since Windows 2008 R2 only comes in a 64-bit flavor it is impossible to perform an in place upgrade on a Server running on x86 architecture for P2V or for whatever reason.  As such, a migration to a new 64Bit server is required. These are the two possible options:


  • Deploy a new machine and manually copy, recreate share permissions, Local users, groups etc.
  • Use Windows Server Migration tools to copy and create local users and groups, copy data, copy share and folder permissions, etc.


This document covers the second bullet point.


Prepare the Target:


  1. Deploy the target machine from an approved template.
  2. After target is joined into the domain, install Windows Server Migration tools feature: ServerFeatures
  3. Open Server manager click on features, then click on add features
  4. Scroll down and select the migration tools option, as shown:serverFeatures1
  5.  After selecting the Windows Server Migration tools, install it.
  6. Open a command prompt and navigate to c:\Windows\System32\ServerMigrationTools
  7. Share out a folder that the administrator account will be able to access across the network from the source machine, create this migration folder on the target server. In other words, Just create a folder named migration, share it so that you’ll be able to access it from the source.
  8. Create the migration package, go back to your command prompt and into the server migration tools directory under system32 and input the following command. Note: the shared folder used in this example is named Migration and is on the C:\
SmigDeploy.exe /package /architecture X86 /os WS03 /path C:\Migration



(Image of actual command being run in a window on a machine that has the path to the servermigrationtools folder defined in its environment variable)


Prepare the Source


  1. Install powershell v 1.0 or higher on the source, go to this site http://support.microsoft.com/kb/968929 scroll towards the bottom and download and install the appropriate version of powershell for your servers architecture. (WARNING: don’t install x64 architecture onto x86 machines or vice versa). A restart is not needed to complete the install for version 2.0 powershell.
  2. Make sure .Net Framework 2.0 or higher is installed, if it isn’t go here and download the appropriate installer for you architecture: http://www.microsoft.com/net/download , A restart will be needed to complete the install.
  3. Navigate to the migration shared folder that you created on the target
  4. Copy the entire folder from within the migration folder to the C:\ drive of the source machine. If you created a package to migrate from a windows Server 2003 32 bit machine the folder you will be copying in this step is named SMT_WS03_X86.
  5. Open a command prompt with admin priviledges (e.g. right click cmd.exe and choose run as administrator)
  6. Navigate into the folder that you just copied in step 2, (e.g. cd c:\smt_ws03_x86)
  7. Run the following command to register the tools in the 2003 machines registry





  1. This will register the migration tools and open a powershell command window allowing you to proceed to the next section.


Migrate Local users and groups


Migrate the local users and groups prior to migrating files, folders, IIS webs, ntfs permissions, and share permissions.


Firewall Pre-Requisites


To do this you’ll need to run the following commands on your windows 2008 R2 target and might have to run one command on the 32 bit machine:


2008 or 2008 R2


netsh advfirewall firewall add rule name=ServerMigration(TCP-In) dir=in program=%windir%\System32\WindowsPowerShell\v1.0\powershell.exe action=allow protocol=TCP localport=7000

netsh advfirewall firewall add rule name=ServerMigration(UDP-In) dir=in program=%windir%\System32\WindowsPowerShell\v1.0\powershell.exe action=allow protocol=UDP localport=7000




The 2003 machine will more than likely not have the firewall enabled and as a result will not need this command.






netsh firewall add allowedprogram program=%windir%\System32\WindowsPowerShell\v1.0\powershell.exe name="ServerMigration" mode=ENABLE





  1. In the powershell window that opened after you registered the migration package on the source computer enter the following command:


Export-SmigServerSetting -User All -Group -Path \\ServerName\Migration –Verbose



Notice: the –Path points to the server name and the migration share; so, if you shared your migration folder out as WindowsMigration, the path would be different.


  1. Go to the target server, open a Windows PowerShell session with elevated user rights. To do this, click Start, click All Programs, click Accessories, open the Windows PowerShell folder, right-click Windows PowerShell, and then click Run as administrator.
  2. Enter the following:


Add-PSSnapin Microsoft.Windows.ServerManager.Migration



(Note: this loads the server migration tools snap in into powershell)


Then enter,


Import-SmigServerSetting -User All -Group -Path c:\Migration –Verbose



Notice: the –Path points to C:\ drive and the migration folder since it is on this server


  1. Wait for the task to complete and then verify local users and groups from the source to the target
  2. Once you have verified that all users and groups were migrated, you’re ready to migrate files, folders, shares, etcetera


Migrate Files and folders


Source server – Step One


  1. In the elevated powershell window enter the following:


Send-SmigServerData -ComputerName <DestinationServer> -SourcePath d:\users -DestinationPath d:\ users -Recurse -Include All -Force



Note: <DestinationServer> = the netname of your destination server and there is a space in between/ in front of -, but it is hard to see.


Hint: If you make the source path the same as the destination path, the migration will create the folder on the destination and copy all files into the destination folder while creating all permissions, share permissions, and webs. We found that running the send-smigserverdata prior to the receive works better in SSANet.


If this fails, reverse steps one and two.


Target Server – Step Two


  1. In an elaveted powershell window make sure you have the migration tools snap in loaded (see step 3 from the previous section). Note: if you didn’t close the powershell window from the import you’re good to go.
  2. Enter the following within 5 minutes of kicking off the send





All progress will be shown on the source server, don’t restart the server or close the powershell windows on either source or target.




http://technet.microsoft.com/en-us/library/dd379474(v=ws.10).aspx – Contains detailed instructions, including what was described in this document.

Technet Video on Migration tools install into a 32 bit or 64 bit server. – http://technet.microsoft.com/en-us/windowsserver/ee914657.aspx

Good luck and Cheers, Stacy