<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>My personal blog about pre-installation and other topics : WDS</title><link>http://blogs.technet.com/svengruenitz/archive/tags/WDS/default.aspx</link><description>Tags: WDS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>WDS for cross-platform (32 bit WinPE to install a 64 bit OS) deployments</title><link>http://blogs.technet.com/svengruenitz/archive/2008/07/04/wds-for-cross-platform-32-bit-winpe-to-install-a-64-bit-os-deployments.aspx</link><pubDate>Fri, 04 Jul 2008 14:28:33 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3083577</guid><dc:creator>svengru</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/svengruenitz/comments/3083577.aspx</comments><wfw:commentRss>http://blogs.technet.com/svengruenitz/commentrss.aspx?PostID=3083577</wfw:commentRss><description>&lt;p&gt;Having a WDS server running already? How about using it to deploy 64 bit versions of Windows Vista and Server 2008 as well? &lt;/p&gt;  &lt;p&gt;The 64 bit versions of Windows Vista SP1 and Server 2008 can be deployed using a 32 bit WinPE. This means that you only need to maintain one Windows PE image.&lt;/p&gt;  &lt;p&gt;So just add to 64 bit OS images to your WDS and they will be displayed on 64 bit capable PCs:   &lt;br /&gt;&lt;a href="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSforcrossplatform32bitWinPEtoinstalla6_AF69/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="405" alt="image" src="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSforcrossplatform32bitWinPEtoinstalla6_AF69/image_thumb.png" width="542" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;This is the simple part… So how about the unattend files for the images and how about drivers?   &lt;br /&gt;    &lt;br /&gt;You only need one WDS-Client unattend file that controls the WinPE phase of the setup.    &lt;br /&gt;This one controls the 32 bit WinPE and the WDS client.    &lt;br /&gt;The potential issues you could run into are drivers pathes that your have in that file for the WinPE phase as these would reference    &lt;br /&gt;32 bit drivers that will make 64 bit OS installs fail. Solution: Remove all driver references in the WDS-Client unattend file.&lt;/p&gt;  &lt;p&gt;So how can we add boot critical drivers? Simple: Add a driver path to the “Offline Service” section of your 32 and 64 bit OS image unattend files.   &lt;br /&gt;”Offline Service”? Yes, right “Offline Service” is not only used to update an OS image using Package Manager, but also called by the Windows Setup after the image is    &lt;br /&gt;applied to the hard disk. Here is how this looks like in System Image Manager:    &lt;br /&gt;&lt;a href="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSforcrossplatform32bitWinPEtoinstalla6_AF69/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="310" alt="image" src="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSforcrossplatform32bitWinPEtoinstalla6_AF69/image_thumb_1.png" width="794" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&amp;quot;\\wds\REMINST\StorageDriver-x64” is a share on my WDS that contains all necessary storage driver for 64 bit.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;You also need to add the missing 32 bit storage drives to your WDS WinPE Image using PEIMG.   &lt;br /&gt;A sample script that will help you to automate that process and needs to be launched from the “Windows PE Tools Command Prompt”    &lt;br /&gt;looks like this:&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;imagex /mountrw wds.WIM 1 mount     &lt;br /&gt;peimg /inf=drvs\*.inf mount\Windows      &lt;br /&gt;imagex /unmount /commit mount &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;WDSUTIL /Replace-Image /Image:&amp;quot;Custom WDS WinPE Image x86&amp;quot; /ImageType:Boot /Architecture:x86 /ReplacementImage /ImageFile:wds.wim&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;This mounts my WDS image “wds.wim”. Injects all drivers in the sub directory “drvs”. Unmounts the image and replaces the    &lt;br /&gt;current image named &amp;quot;Custom WDS WinPE Image x86&amp;quot; on the WDS with the updated one.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3083577" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/svengruenitz/archive/tags/WDS/default.aspx">WDS</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/Server+2008/default.aspx">Server 2008</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/cross+platform/default.aspx">cross platform</category></item><item><title>A guide to use WDS for OEM pre-installations… not really, but some good tips and samples</title><link>http://blogs.technet.com/svengruenitz/archive/2008/07/01/a-guide-to-use-wds-for-oem-pre-installations-not-really-but-some-good-tips-samples.aspx</link><pubDate>Tue, 01 Jul 2008 11:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3081537</guid><dc:creator>svengru</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/svengruenitz/comments/3081537.aspx</comments><wfw:commentRss>http://blogs.technet.com/svengruenitz/commentrss.aspx?PostID=3081537</wfw:commentRss><description>&lt;p&gt;This is not a complete WDS guide as the title already indicates, but I want to share some examples and best practices.&lt;/p&gt;  &lt;p&gt;The generic WDS install guide can be found here:   &lt;br /&gt;&lt;a title="http://technet2.microsoft.com/windowsserver2008/en/library/7d837d88-6d8e-420c-b68f-a5b4baeb52481033.mspx?mfr=true" href="http://technet2.microsoft.com/windowsserver2008/en/library/7d837d88-6d8e-420c-b68f-a5b4baeb52481033.mspx?mfr=true"&gt;http://technet2.microsoft.com/windowsserver2008/en/library/7d837d88-6d8e-420c-b68f-a5b4baeb52481033.mspx?mfr=true&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will help you to setup or optimise your own WDS sever to do OEM pre-installations of Windows Vista and Server 2008.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The most common issue I found is that people are not aware of the different answer files that a WDS server uses, so let’s start with this one.&lt;/p&gt;  &lt;p&gt;There are two different answer files:    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;An unattend.xml file that controls the Windows PE phase (connect to the WDS server, load storage driver, partition the disk, etc.) of the setup      &lt;br /&gt;This one needs to be place in “c:\RemoteInstall\WdsClientUnattend\”.&amp;#160; Than right-click on your WDS server in Server Manager and select properties.       &lt;br /&gt;The following dialogue will be displayed and you can select the unattend file:       &lt;br /&gt;&lt;a href="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/AguidetouseWDSforOEMpreinstallationsnotr_80AA/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="599" alt="image" src="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/AguidetouseWDSforOEMpreinstallationsnotr_80AA/image_thumb.png" width="698" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;Change the settings as displayed and select the unattend file that you created and placed in “c:\RemoteInstall\WdsClientUnattend\”.       &lt;br /&gt;I created a sample unattend.xml file for you that you can download here:       &lt;br /&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-68b7c02646a1899d.skydrive.live.com/embedrowdetail.aspx/Public/WDS-Samples/WdsClientUnattend/unattend.xml" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;      &lt;br /&gt;You need to edit this file using &amp;quot;System Image Manager” (part of the OPK) to change your server, username &amp;amp; password details.       &lt;br /&gt;This sample includes an entry that points to “c:\RemoteInstall\StorageDriver-x86” for storage driver updates. You need create that directory or delete the entry.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;The image unattend file. This file controls the rest of the setup process and is image specific.      &lt;br /&gt;You can still use one answer file for all your images including Windows Vista and Server 2008. There is no need to create separate ones.       &lt;br /&gt;Right-click on an Install Image and select properties. Make the changes as shown below and select an unattend file:       &lt;br /&gt;&lt;a href="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/AguidetouseWDSforOEMpreinstallationsnotr_80AA/image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="626" alt="image" src="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/AguidetouseWDSforOEMpreinstallationsnotr_80AA/image_thumb_1.png" width="695" border="0" /&gt;&lt;/a&gt;       &lt;br /&gt;I created a sample file as well. This one works for Windows Vista and Server 2008. Get is from here:       &lt;br /&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-68b7c02646a1899d.skydrive.live.com/embedrowdetail.aspx/Public/WDS-Samples/Unattend-for-all-images.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;      &lt;br /&gt;This Zip-File contains the sample unattend file and a sample “$OEM$” Folder as well. You need to edit the unattend file to change your support information.       &lt;br /&gt;Once you select an image in WDS for an install in unattended mode a new “install” folder that contains the unattend file you selected will be created.       &lt;br /&gt;This is “c:\RemoteInstall\Images\Vista SP1\install\” in my example. This folder contains a folder called “unattend”. In that folder is a copy of the unattend file you just selected.       &lt;br /&gt;Place the “$OEM$” sample in the “install” folder, so that this folder now contains the “unattend” and the “$OEM$” folder. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Try it! You will be able to do a fully unattend installation of Windows Vista or Server 2008 now. This installation will end in Audit Mode, so that you can continue to pre-install more applications.&lt;/p&gt;  &lt;p&gt;The sample “$OEM$” folder also contains a script that will change the unattend file after the installation has finished and the PC enters Audit Mode.    &lt;br /&gt;This new unattend file is copied to ”c:\Windows\Panther” and controls the Sysprep and next OOBE experience.     &lt;br /&gt;This sample will keep all device drivers during the Sysprep Phase and not prompt the end-user for language and region specific settings during OBBE.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3081537" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/svengruenitz/archive/tags/WDS/default.aspx">WDS</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/OPK/default.aspx">OPK</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/OEM/default.aspx">OEM</category></item><item><title>WDS Client DHCP issues… Here is one solution</title><link>http://blogs.technet.com/svengruenitz/archive/2008/06/30/wds-client-dhcp-issues-here-is-one-solution.aspx</link><pubDate>Mon, 30 Jun 2008 16:07:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3080868</guid><dc:creator>svengru</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/svengruenitz/comments/3080868.aspx</comments><wfw:commentRss>http://blogs.technet.com/svengruenitz/commentrss.aspx?PostID=3080868</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I was on the road last Friday and help one of my partners to setup a network based deployment for his PC production floor.    &lt;br /&gt;It all worked fine until we hit this error message:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSClientDHCPissuesHereisonesolution_C6A1/wdsdhcperror_2.jpg"&gt;&lt;img title="wdsdhcperror" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="290" alt="wdsdhcperror" src="http://blogs.technet.com/blogfiles/svengruenitz/WindowsLiveWriter/WDSClientDHCPissuesHereisonesolution_C6A1/wdsdhcperror_thumb.jpg" width="616" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Great :-( &lt;/p&gt;  &lt;p&gt;So the first assumption was that the network card &lt;strong&gt;driver is missing in the WDS Windows PE image&lt;/strong&gt;.     &lt;br /&gt;I added the latest driver using the following steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Exported the current boot image from WDS server (right click on the boot image and select “Export Image”) to c:\PE\wds.wim &lt;/li&gt;    &lt;li&gt;Checked that the OPK (AIK will work as well) for Windows Vista was installed &lt;/li&gt;    &lt;li&gt;Opened the “Windows PE Tools Command Prompt” and changed to the c:\PE directory &lt;/li&gt;    &lt;li&gt;Created a “mount” directory (“&lt;font color="#000080"&gt;mkdir mount&lt;/font&gt;” will do) &lt;/li&gt;    &lt;li&gt;Mounted the exported wds.wim image: “&lt;font color="#000080"&gt;imagex /mountrw wds.wim 2 mount&lt;/font&gt;”       &lt;br /&gt;It’s important to use the index “2” as the wds.wim will contain 2 images. &lt;/li&gt;    &lt;li&gt;Downloaded and extracted the latest network driver to c:\PE\drvs &lt;/li&gt;    &lt;li&gt;Used the peimg.exe utility to integrate the drivers: “&lt;font color="#000080"&gt;peimg /inf=drvs\*.inf mount\Windows&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;Unmounted the image and commited the changes: “&lt;font color="#000080"&gt;imagex /unmount /commit mount&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;Replaced the current WDS image with the new one (right click on the boot image and select “Replace Image”) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here is a script that would do part 5 to 8:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font color="#000080"&gt;imagex /mountrw wds.WIM 1 mount          &lt;br /&gt;peimg /inf=drvs\*.inf mount\Windows           &lt;br /&gt;imagex /unmount /commit mount&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Tested it again… Same error!! So this wasn’t the solution.&lt;/p&gt;  &lt;p&gt;I opened a command prompt window while the error message was displayed by pressing “SHIFT + F10” and then checked the network connectivity.&lt;/p&gt;  &lt;p&gt;“ipconfig” showed that the client does not have an IP address. Some network cards take a very long time to obtain one, so it tested it again after 20 secs and the client had an IP address.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So the real error was that the client network card took to long to obtain an IP address and then the WDS Client timed out.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I checked for a solution online, but was not able to find one, so I had to create one that I am happy to share with you.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Build your custom WDS Windows PE image:&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Opened the “Windows PE Tools Command Prompt” again and typed “&lt;font color="#000080"&gt;copype x86 c:\wdsbootimage&lt;/font&gt;”.       &lt;br /&gt;This created a Windows PE image in “c:\wdsbootimage” &lt;/li&gt;    &lt;li&gt;Mounted the created WinPE.wim to “mount”: “&lt;font color="#000080"&gt;imagex /mountrw WinPE.wim 1 mount&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;Added all the necessary network and storage drivers to this image (use the steps descried earlier on…) &lt;/li&gt;    &lt;li&gt;Mounted the image exported earlier: “&lt;font color="#000080"&gt;imagex /mount wds.wim 2 mount&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;Copied the “sources” (c:\pe\mount\sources) folder to the mounted WinPE.wim (c:\wdsbootimage\mount\sources)      &lt;br /&gt;This added the necessary WDS Client setup files to the new image. &lt;/li&gt;    &lt;li&gt;Opened and edited the “startnet.cmd” file in the new image “notepad c:\wdsbootimage\mount\windows\system32\startnet.cmd”      &lt;br /&gt;This files contained one line: “wpeinit”. &lt;/li&gt;    &lt;li&gt;I changed this to:      &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;@echo off            &lt;br /&gt;wpeinit &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;@echo Waiting for the WDS server...            &lt;br /&gt;:testagain             &lt;br /&gt;ping -n 1 wds &amp;gt; NUL             &lt;br /&gt;if %errorlevel% == 0 goto pingok &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;REM wait 3 sec. and try it again            &lt;br /&gt;ping -n 3 127.0.0.1 &amp;gt;nul             &lt;br /&gt;goto testagain &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;:pingok &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;x:\sources\setup.exe /wds /wdsserver:WDS&lt;/font&gt;           &lt;br /&gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;This small script will wait until it can ping the WDS server (in this case the server is named “WDS”) and than start the setup in WDS mode.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Saved the changed startnet.cmd file &lt;/li&gt;    &lt;li&gt;Removed all unnecessary components from the new WDS WinPE image: “&lt;font color="#000080"&gt;peimg /prep mount\windows&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;Unmounted the image and commit the changes: “&lt;font color="#000080"&gt;imagex /unmount /commit mount&lt;/font&gt;” &lt;/li&gt;    &lt;li&gt;The WinPE.wim file was still around 200MB, so in order to reduce this size I had to export the new image to a new WIM-File:      &lt;br /&gt;”&lt;font color="#000080"&gt;imagex /export WinPE.wim 1 wds.wim “Custom WDS Windows PE&lt;/font&gt;”       &lt;br /&gt;The now created wds.wim was only around 120MB. &lt;/li&gt;    &lt;li&gt;Replaced the current WDS image with the new one (right click on the boot image and select “Replace Image”) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I tested it again and it now worked. :-)&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3080868" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/svengruenitz/archive/tags/WDS/default.aspx">WDS</category><category domain="http://blogs.technet.com/svengruenitz/archive/tags/WinPE/default.aspx">WinPE</category></item></channel></rss>