Friday, November 04, 2011

WAIK: Install Windows XP via WinPE

To install Windows XP via WinPE/PXE without DVD installation, Windows XP needs:
  1. A bootable partition
  2. The partition contains the installation files

Prepare Windows XP installation

  1. Network boot bare bone machine and execute WinPE via PXE
  2. Use “diskpart” to create and format the parition.  Assign driver letter C: to the partition.
  3. Run
    X:\> Bootsect.exe /nt52 c: /force /mbr
  4. Mount the Windows installation share:
    X:\> net use s: \Windows-xp-setup-folder">\Windows-xp-setup-folder">\Windows-xp-setup-folder">\\<server>\Windows-xp-setup-folder
  5. Prepare local installation files:
    X:\> s:\<win-xp>\i386\winnt32.exe /syspart:c: /tempdrive:c: /makelocalsource
  6. Follow the screen instruction to enter proper information
  7. After the files has been copied to hard drive, Winnt32.exe will exit and back to WINPE
  8. Type "Exit" to restart PC
  9. Windows XP installation will continue as usual

Unattended Windows XP installation

  1. Prepare unattend answer file:
    ;SetupMgrTag
    [Data]
    AutoPartition=1
    MsDosInitiated="0"
    UnattendedInstall="Yes"
    [Unattended]
    UnattendMode=FullUnattended
    OemSkipEula=Yes
    Setting OemPreInstall=Yes is necessary if you create an $OEM$
    directory under \i386 to copy files to the target PC and/or are using a cmdlines.txt
    file.  If you aren't copying files to the target PC or using a cmdlines.txt file,
    then set it to No
    OemPreinstall=Yes
    TargetPath=\WINDOWS
    The 2 lines below are used to convert the file system to NTFS
    and then extend the boot/system partition an extra 4GB.
    FileSystem=ConvertNTFS
    ExtendOEMPartition=4000
    
    [GuiUnattended]
    AdminPassword="happyday"
    EncryptedAdminPassword=NO
    OEMSkipRegional=1
    TimeZone=35
    OemSkipWelcome=1
    The following 2 lines tell setup to login 1 time automatically after
    the installation has finished. Setup will only use the local Administrator
    account to login
    AutoLogon=Yes
    AutoLogonCount=1
    
    [UserData]
    You could add a ComputerName= line in this section. However,
    if you are installing multiple PCs, and since each PC needs a
    unique computer name, leaving out this line causes Setup to prompt
    you for a computer name.  Alternatively, you could use a UDF file to provide
    unique user information.
    ProductID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
    FullName="Jane Doe"
    OrgName="Widgets"
    
    [Display]
    BitsPerPel=32
    Xresolution=1024
    YResolution=768
    Vrefresh=75
    
    [Components]
    This section is where you tell XP to not install certain components.
    The line below tells XP not to install MSN Explorer.
    msnexplr=off
    
    [TapiLocation]
    CountryCode=1
    Dialing=Tone
    AreaCode=305
    
    [RegionalSettings]
    LanguageGroup=1
    Language=00000409
    
    [Branding]
    BrandIEUsingUnattended=Yes
    
    [URL]
    Home_Page=www.svrops.com
    
    [Proxy]
    Proxy_Enable=0
    Use_Same_Proxy=1
    
    [Identification]
    This section joins your PC to the domain indicated, creates a computer
    account and uses the username and password indicated to create the account.
    JoinDomain=MYDOMAIN.com
    CreateComputerAccountInDomain=Yes
    DomainAdmin=msmith
    DomainAdminPassword=password
    
    [Networking]
    This section and the ones to follow were generated by Setup Manager.
    They describe what networking protocols and components to install.
    InstallDefaultComponents=No
    
    [NetAdapters]
    Adapter1=params.Adapter1
    
    [params.Adapter1]
    INFID=*
    
    [NetClients]
    MS_MSClient=params.MS_MSClient
    
    [NetServices]
    MS_SERVER=params.MS_SERVER
    
    [NetProtocols]
    MS_TCPIP=params.MS_TCPIP
    
    [params.MS_TCPIP]
    DNS=Yes
    UseDomainNameDevolution=No
    EnableLMHosts=Yes
    AdapterSections=params.MS_TCPIP.Adapter1
    
    [params.MS_TCPIP.Adapter1]
    SpecificTo=Adapter1
    DHCP=Yes
    WINS=No
    NetBIOSOptions=0
  2. Install Windows XP with unattend answer file:
    s:\<win-xp>\i386\winnt32.exe /syspart:c: /makelocalsource /unattend:unattend.txt

Troubleshoot: "setup cannot load the keyboard layout file kbdus.dll"

If you encounter errors during the installation (e.g.: "setup cannot load the keyboard layout file kbdus.dll"), please make sure the installation partition is not hidden if you have hide it unintentionally.
To check if the partition is hidden:
  • diskpart
  • select disk 0
  • select part 1
  • detail part
To unhide the volume:
  • diskpart
  • select disk 0
  • select part 1
  • attributes volume clear hidden

2 comments:

garegin said...

the line
Bootsect.exe /nt52 c: /force /mbr
is extremely important. it makes the mbr compatible with pre-vista OSes. I wasted a few days before understanding the problem.

Unknown said...

Amazing how simple it can be to communicate with people and have them understand a certain topic, you made my day.

Bare bones networking