[Tutorial] Deploy Windows7 Enterprise with UDA & Intel E1000

This forum discusses topics about the Ultimate Deployment Appliance

Moderators: the_dude, Posters

[Tutorial] Deploy Windows7 Enterprise with UDA & Intel E1000

Postby notafake » Fri Feb 11, 2011 10:45 am

In this Tutorial i will explain how to PXE-deploy Windows 7 Enterprise using UDA 2.0 Build 17 and the beta-patch for Windows 7. Cause of my bad english i'll try to bring it as short and functional as possible.

What i used:
- Windows DHCP Server
- Workstation Network with DELL Optiplex Computers
- UDA 2.0 Build 17 & windows 7 BETA Patch (running on a ESX-Server)
- 32-bit Windows 7 Enterprise ISO Image
- Windows Automated Installation Kit (WAIK)
- IMGBurn to recreate Boot-ISO
- Some ISO unpacking-software (a.e. WinRAR)

Step 1: Install
Install the UDA witch isn't difficult. I use these settings to explain:
Name: uda-win7
IP: 192.168.100.10
Subnet: 255.255.255.0
Gateway: 192.168.100.1

DHCP is OFF cause we use a Windows DHCP Server here. It's on you.

Expand the local storage if needed, but do not upload the image now.
Also add the UDA Beta Patch using "System => Upgrade"

Step 2: Add Driver to ISO
Because the included drivers did not work for me, i added the correct ones (Intel E1000 in my case) to my ISO image using WAIK: (PEdriver-upload created a Bluescreen in my example)

1. Download WAIK, Install and open the console out of the start-menu
2. Create tempfolder "wintemp" on c: with subfolders "iso" , "mount" and "isodriver"
3. Extract your 32-bit Windows 7 Enterprise ISO into c:\wintemp\iso (i used WinRAR)
4. Switch to the WAIK Console, type in the command
Code: Select all
C:\>"C:\Program Files\Windows AIK\Tools\x86\Servicing\Dism.exe" /Mount-Wim /WimFile:C:\wintemp\iso\source\boot.wim /Index:2 /MountDir:C:\wintemp\mount
and wait till it's mounted
5. Browse to the folder c:\wintemp\mount\sources and add the driver files just copying the whole folder in there.
6. Unmount and save the boot.wim image using the command
Code: Select all
C:\>"C:\Program Files\Windows AIK\Tools\x86\Servicing\Dism.exe" /Unmount-Wim /MountDir:C:\wintemp\mount /Commit

7. Download and install IMGBurn and start it.
8. Important: Add every folder and file witch is in c:\wintemp\iso single, not the whole ISO folder at once.
9. Type in the destination "c:\wintemp\isodriver\win7x86enterprise_driver.iso
10. Start creating ISO and accept the alert that he will create an Operating System ISO or somewhat, you don't have to create a boot-image.

Step 3: Upoad and point windows7.cmd to driver-file
- Upload the ISO image to the UDA storage using hopefully some better tools than WinSCP.
Now we got to change the /var/public/bin/windows7.cmd file on our UDA to load the correct drivers. We could discuss about the design, but i just added some lines on line 81, after he is trying all network drivers:
Code: Select all
74:    :tryall
75:    echo Trying all network drivers
76:    FOR /F "eol=; tokens=1,2,3,4" %%A in ( %SYSTEMDRIVE%\sources\uda\drivers.txt ) DO (
77:        echo Driver=%%A Number=%%B Inffile=%%C Ssysfile=%%D
78:        %DRVLOAD% %%C && goto doneloading
79:        echo Could not succesfully load driver %%A, trying next one
80:    )
81:   
82:    echo Trying E1000 Driver
83:    drvload x:\sources\drv\NDIS62\e1c6232.inf && goto doneloading
84:   

...where "drv" and "NDIS62" are the previously added driver-folder and subfolders, the .inf file is just the first driver file in this package.
Note: Of course, backup the file first. And: it's like a template, means it will be copied if you create a new OS-Flavour and not every time you start/use it. Changes everytime followed by re-creating the OS to see/use the changes!

Step 4: Changes to the Windows DHCP (optional)
Now we got to set the win DHCP server to forward PXE requests to our UDA. Means only changing two scope options.
Enable the option 066 Boot Server Host Name, and set the empty string value to be the IP address of your UDA
Enable the option 067 Bootfile Name, and set the empty string to be, pxelinux.0
As written on: http://www.rtfm-ed.co.uk/2007/05/15/switching-the-uda-to-use-microsoft-dhcp/


Step 5: Set up OS and Template
From here there's no more special. Create a OS using webinterface, choose your driver-ISO and add a temlpate.
Start any workstation in this network, choose PXE-boot (has to be enabled sometimes in BIOS) and be happy with automated installation!


So this is work out of 1 or 2 weeks, hopefully this helps people witch were in the same situation like me.

Helpful links were:
http://www.rtfm-ed.co.uk/2007/05/15/swi ... soft-dhcp/
http://www.gtkdb.de/index_17_548.html


Greetings from sunny switzerland

Notafake
notafake
 
Posts: 20
Joined: Tue Jan 25, 2011 7:29 am

Re: [Tutorial] Deploy Windows7 Enterprise with UDA & Intel E1000

Postby notafake » Tue Feb 15, 2011 9:28 am

By the way: My System is working now, except if i add the following to the template unnattend file to auto set the computer name:

Code: Select all
 <settings pass="specialize">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <ComputerName>*</ComputerName>
      <RegisteredOrganization>Schweizerische Teletext AG</RegisteredOrganization>
      <RegisteredOwner>Owner</RegisteredOwner>
      <ShowWindowsLive>false</ShowWindowsLive>
    </component>
    <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Identification>
        <Credentials>
          <Domain>swisstxt.ad.prod</Domain>
          <Password>$admin32x</Password>
          <Username>Administrator</Username>
        </Credentials>
        <JoinDomain>swisstxt.ad.prod</JoinDomain>
        <UnsecureJoin>true</UnsecureJoin>
      </Identification>
    </component>
  </settings>


It goes on with the error "windows could not parse or process unattend answer file "path\unattend.xml for pass [specialize]. the answer file is invalid

can anyone help me out with this?
notafake
 
Posts: 20
Joined: Tue Jan 25, 2011 7:29 am

Re: [Tutorial] Deploy Windows7 Enterprise with UDA & Intel E

Postby the_dude » Mon Feb 28, 2011 9:28 pm

You may be running into a problem with the $ in the password. I have not tested it but that would be my fist guess.
The file gets parsed with perl so the $ may be lost in translation or something...
the_dude
 
Posts: 127
Joined: Fri Apr 27, 2007 7:03 pm

Re: [Tutorial] Deploy Windows7 Enterprise with UDA & Intel E

Postby notafake » Tue Mar 01, 2011 9:42 am

I'm not sure about this but the $ could have been the problem. For now i solved it by turning the <PlainText>false and adding the computername using subtemplates.
Maybe it's usable for some, so i add here my actual unattended.xml file. There are several options like turning of the firewall, activating the admin account using autologin (no password required he won't login anyway) and so on.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
       <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <InputLocale>0807:00000807</InputLocale>
            <SystemLocale>[LANGUAGE]</SystemLocale>
            <UserLocale>[LANGUAGE]</UserLocale>
            <UILanguageFallback>[LANGUAGE]</UILanguageFallback>
            <UILanguage>[LANGUAGE]</UILanguage>
        </component>
        <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <ImageInstall>
                <OSImage>
                    <WillShowUI>OnError</WillShowUI>
                    <InstallTo>
                    <DiskID>0</DiskID>
                    <PartitionID>1</PartitionID>
                    </InstallTo>
                    <InstallFrom>
                        <Path>i:\[OS]\[FLAVOR]\sources\install.wim</Path>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/INDEX</Key>
                            <Value>[IMAGEID]</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <UserData>
                <AcceptEula>true</AcceptEula>
            </UserData>
      </component>
    </settings>
  <settings pass="specialize">
     <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Home_Page>http://www.google.ch</Home_Page>
      <FilterLevel>Medium</FilterLevel>
      <BlockPopups>yes</BlockPopups>
      <ShowInformationBar>true</ShowInformationBar>
      <FavoritesDelete>true</FavoritesDelete>
      <IEWelcomeMsg>true</IEWelcomeMsg>
      <PlaySound>false</PlaySound>
   </component>
   <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <ComputerName>[SUBTEMPLATE]</ComputerName>
      <RegisteredOrganization>RegisteredOrganization</RegisteredOrganization>
      <RegisteredOwner>Owner</RegisteredOwner>
      <ShowWindowsLive>false</ShowWindowsLive>
    </component>
   <component name="Networking-MPSSVC-Svc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <FirewallGroups />
      <DomainProfile_EnableFirewall>false</DomainProfile_EnableFirewall>
      <PrivateProfile_EnableFirewall>false</PrivateProfile_EnableFirewall>
      <PublicProfile_EnableFirewall>false</PublicProfile_EnableFirewall>
      <PrivateProfile_DisableNotifications>false</PrivateProfile_DisableNotifications>
   </component>
   <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Identification>
         <Credentials>
            <Domain>domain.com</Domain>
            <Username>DomainUser@domain.com</Username>
            <Password>DomainUserPasswort</Password>
         </Credentials>
         <JoinDomain>domain.com</JoinDomain>
         <!-- <DebugJoin>true</DebugJoin> -->
      </Identification>
   </component>
   </settings>
    <settings pass="oobeSystem">
         <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                 <ProtectYourPC>3</ProtectYourPC>
                <NetworkLocation>Home</NetworkLocation>
            </OOBE>
          <AutoLogon>
            <Password>
               <Value></Value>
               <PlainText>true</PlainText>
            </Password>
         <Username>Administrator</Username>
         <Enabled>true</Enabled>
         <LogonCount>5</LogonCount>
         </AutoLogon>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>encryptedadminpasswort</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
               <LocalAccounts>
                  <LocalAccount wcm:action="add">
                     <Password>
                        <Value>MyPassword</Value>
                        <PlainText>true</PlainText>
                     </Password>
                     <DisplayName>DeleteMe</DisplayName>
                     <Description>Delete This Account</Description>
                     <Group>Guests</Group>
                     <Name>Install</Name>
                  </LocalAccount>
               </LocalAccounts>
            </UserAccounts>
            <TimeZone>W. Europe Standard Time</TimeZone>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:i:/[OS]/[FLAVOR]/sources/install.wim#Windows 7 HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
   <settings pass="offlineServicing">
      <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
         <EnableLUA>false</EnableLUA>
      </component>
   </settings>
</unattend>
notafake
 
Posts: 20
Joined: Tue Jan 25, 2011 7:29 am

Re: [Tutorial] Deploy Windows7 Enterprise with UDA & Intel E

Postby notafake » Tue Mar 15, 2011 12:30 pm

Away from the possibility to format using the unattend file i post my prescript.cmd to show how i tried format as i wanto (only the important part)
Code: Select all
echo select disk 0                                   >%DISKPARTTXT%
echo clean                                           >>%DISKPARTTXT%
echo create partition primary  size=20000            >>%DISKPARTTXT%
echo select partition 1                              >>%DISKPARTTXT%
echo assign letter=c                                 >>%DISKPARTTXT%
echo format fs=ntfs LABEL=^"Windows^" QUICK OVERRIDE >>%DISKPARTTXT%
echo create partition extended                       >>%DISKPARTTXT%
echo create partition logical  size=4000             >>%DISKPARTTXT%
echo select partition 2                              >>%DISKPARTTXT%
echo assign letter=d                                 >>%DISKPARTTXT%
echo format fs=ntfs LABEL=^"Data^" QUICK OVERRIDE    >>%DISKPARTTXT%
echo create partition logical                        >>%DISKPARTTXT%
echo select partition 3                              >>%DISKPARTTXT%
echo assign letter=g                                 >>%DISKPARTTXT%
echo format fs=ntfs LABEL=^"Ghost^" QUICK OVERRIDE   >>%DISKPARTTXT%
echo select partition 1                              >>%DISKPARTTXT%
echo active                                          >>%DISKPARTTXT%
echo exit                                            >>%DISKPARTTXT%
notafake
 
Posts: 20
Joined: Tue Jan 25, 2011 7:29 am

Re: [Tutorial] Deploy Windows7 Enterprise with UDA & Intel E

Postby onlinecna » Fri May 06, 2011 11:21 am

Hiiii

All,

>>>>In this Tutorial i will explain how to PXE-deploy Windows 7 Enterprise using UDA 2.0 Build 17 and the beta-patch for Windows 7. Cause of my bad english i'll try to bring it as short and functional as possible.<<<<<<<<
onlinecna
 
Posts: 1
Joined: Fri May 06, 2011 11:17 am
Location: United States


Return to Ultimate Deployment Appliance

Who is online

Users browsing this forum: No registered users and 0 guests

cron