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 !!!