Microsoft Deployment Toolkit Error: No physical adapters present, cannot deploy over wireless

I was helping a customer in deploying the Microsoft Deployment Toolkit 2010 to capture and deploy Windows 7 x64 reference Image. We soon ran into issues where the capture fails immediately after the LTIApply.wsf script tries to apply the WinPE.

On checking the BDD.log file i saw that it is complaining about no network adapters in the machine

<![LOG[No physical adapters present, cannot deploy over wireless]LOG]!><time="20:46:03.000+000" date="01-21-2010" component="Wizard" context="" type="3" thread="" file="Wizard">

And, when I saw the network sharing center in Windows 7 machine, it was blank with no network adapters. So, we started investigating this issue. We found that as per the article http://technet.microsoft.com/en-us/library/dd744512(WS.10).aspx#SysprepProcess it says that until and unless you have <PersistentAllDeviceInstalls></PersistentAllDeviceInstalls> set to true, By default, these device drivers are removed from the system when you generalize the system. So, the sysprep was doing the right thing.

We then again dig deep into the BDD.log file and found something suspicious

<![LOG[LTI applying Windows PE]LOG]!><time="20:46:00.000+000" date="01-21-2010" component="LTIApply" context="" type="1" thread="" file="LTIApply">
<![LOG[Will boot into Windows PE architecture x86 to match OS being deployed.]LOG]!><time="20:46:00.000+000" date="01-21-2010" component="LTIApply" context="" type="1" thread="" file="LTIApply">
<![LOG[Copying \192.168.0.10deployment$BootLiteTouchPE_x86.wim to E:sourcesboot.wim]LOG]!><time="20:46:00.000+000" date="01-21-2010" component="LTIApply" context="" type="1" thread="" file="LTIApply">
<![LOG[ZTI ERROR – Unhandled error returned by LTIApply:  (-2147024784  0x80070070)]LOG]!><time="20:46:01.000+000" date="01-21-2010" component="LTIApply" context="" type="3" thread="" file="LTIApply">
<![LOG[Litetouch deployment failed, Return Code = -2147467259  0x80004005]LOG]!><time="20:46:01.000+000" date="01-21-2010" component="LiteTouch" context="" type="3" thread="" file="LiteTouch">

On, resolving the HEX error code 0x80070070 I got 112. using the NET HELPMSG command, we got the following description:

I checked the available space on C drive and there was ample space in it. I dint notice first that it was actually trying to copy the WIM image from the deployment share to the “E” Drive. As shown in the above logs "Copying \192.168.0.10deployment$BootLiteTouchPE_x86.wim to E:sourcesboot.wim"

When I checked the partitions, I found the following

“E” drive was the “System Reserved” partition which was of 100MB and the WIM file was 163MB so it was here were things were going wrong.

So, what really happened? 

MDT has two Task Sequence variables DestinationDisk and DestinationPartition. They have a default value of 0 and 1 respectively. Which means that the System partition will be the partition 1 and the variable “DestinationLogicalDrive” was being set to “E” as shown in the below log from BDD.log file.

<![LOG[Property DestinationLogicalDrive is now = E:]LOG]!><time="20:44:12.000+000" date="01-21-2010" component="ZTIConfigure" context="" type="1" thread="" file="ZTIConfigure">

** This is applicable if you see the System Reserved partition under “Computer”

~~ Workaround ~~

To set the right DestinationLogicalDrive value you need to define the correct values for DestinationDisk and DestinationPartition. So, we made some modifications to the Capture Task Sequence we created.

1. First, Add two "Set Task Sequence Variables" tasks. Name it as shown below.

2. Next, select the "Set DestinationDisk" task and on the right side in the "Task Sequence Variable" write "DestinationDisk" and in value type "0" as shown below

3. Next, select the "Set DestinationPartition" task and on the right side in the "Task Sequence Variable" write "DestinationPartition" and in value type "2" as shown below.

You may also set the values for the DestinationDisk and DestinationPartition in the BootStrap.ini or the CustomSettings.ini file.

Cheers !!!

Windows Server 2008 R2 BranchCache Considerations

 

BranchCache in Windows Server 2008 R2 allows you to optimize the WAN traffic by locally caching them on either Windows 7 client machines or on a dedicated Windows Server 2008 R2. There are few considerations to keep in mind when deploying or planning for the BranchCache scenario.

1. The Web server or the File server which you want to optimize for BranchCache should be installed on a Windows Server 2008 R2

2. The traffic between the Windows Server 2008 R2 and the Windows 7 machines will only be optimized

3. All windows XP or Vista machines in Branch office will communicate directly with the original source over the WAN link and there will no BranchCache optimization for them. Microsoft has no plans for the legacy OS support in this scenario

4. Windows 7 machines which are part of domain can only leverage BranchCache as it requires a request from an Authenticated User to request the Identifiers. Workgroup machines can not participate in BranchCache

5. For the Hosted Cache mode you would require at least one Windows Server 2008 R2 machine in the Branch office to act as a BranchCache server

6. For Distributed Cache mode, Windows 7 clients machines in the Branch office will be used for caching the content

More about Windows 7 Deployment Tools

Deploying Windows 7

Windows 7 can be deployed on machines running Windows XP, Windows Vista or pre-RTM releases of Windows 7. Depending upon how many machines are to be migrated, you may use an appropriate option to do. It also depends on what kind migration are you doing. Is it a hardware migration or an in-place upgrade from one operating system to Windows 7?

Windows 7 can be deployed using below mentioned tools. All these tool are available *Free* of cost

1. USMT (User State Migration Tool)
2. MDT 2010 (Microsoft Deployment Toolkit 2010 RC)
3. Windows Deployment Services
4. Easy Transfer Tool

 

User State Migration Tool 4.0

USMT 4.0 can be used to migrate from Windows XP or Windows Vista SP1 to Windows 7. You may also use this tool to migrate from Windows XP to Windows Vista but i think this would be a rare case now. USMT uses Scanstate and Loadstate commands to scan the source machine for user specific data files and then Loads it to the destination computer respectively. There are two kind of scenarios associated with this deployment

1. Installing Windows 7 Formatting the Hard Drive : In this option USMT ScanState.exe command should be run before you run the Windows 7 setup. You would need a network location to store the user data which will be used to load when Windows 7 is installed. The Syntax looks something as below

             Scanstate.exe \<network path> /<switches> /i:<XML files> /nocompress (optional)

Where, network path is the network location to store the user data.
Switches are the options available with ScanState.exe command
XML files define the files used to scan the documents and store them on the network location. MigDocs.XML, MigUser.XML and MigApp.XML are the options available which can be used

2. Installing Windows 7 Without Formatting the Hard Drive : In this kind of installation you get a Windows.OLD folder in the C Drive after installing Windows 7. You will then use the Scanstate command with “/OfflineWinOld:C:Windows.oldwindows” to create the store and then use the LoadState command to load it back on the new OS. You may also run the Scanstate before installing the OS but since you are not wiping your HDD so you can run it after installing Windows 7.

Microsoft Deployment Toolkit 2010

This kind of Deployment is usually recommended when you have few hundred computers to be migrated. This tool uses inbuilt tools like WAIK, USMT, ImageX etc to create the Windows 7 Images for deployment. using this tool you can create two kinds of deployments

1. LiteTouch Installation
2. ZeroTouch Installation

The tool is fairly easy to use with very simple steps. You need the Windows 7 source files and the Drivers which you would want to include in the Image. This is a powerful deployment tool because it can Install, upgrade and preserve the user state. Using the deployment files created with MDT 2010 you may upgrade the Windows XP machines without loosing the user state.

Windows Deployment Services (WDS)

WDS is the next generation of BDD (Business Desktop Deployment tool) which was released to deploy Windows Vista. WDS can be used to deploy Windows XP SP3, Windows Vista, Windows 2008, Windows 2003, Windows 2008 R2 and Windows 7. This is an inbuilt role with in Windows Server 2008 and 2008 R2. You really don’t have to buy any additional software to install and run the WDS. The only required thing with WDS is that the client machines connecting to WDS should be PXE Boot Enabled so that they can boot from network.

Easy Transfer Tool

Easy Transfer Tool can be used when you need to migrate less than 10 machines. Easy Transfer comes with Windows Vista and Windows 7. It can be used along with USMT. You may collect the user data with USMT without using the “/nocompress” switch and then load it on the Windows 7 machine using the Easy Transfer. If you are migrating your Windows Vista machine, you may back up the data using the Easy Transfer and then Load it back on Windows 7 using the same tool. Easy Transfer for Windows XP can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=2b6f1631-973a-45c7-a4ec-4928fa173266&DisplayLang=en 

 

Microsoft Resources

USMT : http://technet.microsoft.com/en-us/library/dd560801(WS.10).aspx 
MDT Team Blog : http://blogs.technet.com/msdeployment/ 
Windows Deployment Services : http://technet.microsoft.com/en-us/library/cc772106(WS.10).aspx
Easy Transfer Tool : http://technet.microsoft.com/en-us/library/dd446674(WS.10).aspx

Additional Useful Resources

Migrate Windows XP to Windows 7 using USMT: http://blogs.technet.com/danstolts/archive/2009/09/02/migrate-windows-xp-to-windows-7-using-usmt-user-state-migration-tool-upgrade-xp-or-vista-step-by-step.aspx
Prepare Image using the MDT 2010: http://blog.augustoalvarez.com.ar/2009/01/31/microsoft-deployment-toolkit-2010-beta-1-using-mdt-to-prepare-install-and-capture-customized-windows-7-images-part-i/