Install Windows 7 over PXE from Linux without WAIK

Menu
  • 1. Overview
  • 2. Services
  • 3. Boot Files
  • 4. Unattended files
  • 5. Troubleshooting
  • 1. Overview

    1.1 Introduction

    Here's a way to get the Windows 7 PXE deployment from Linux to work. There's no need for a 'Technician Computer' with the WAIK (Windows Automated Installation Kit) installed, you just need a linux system. I use a 32 bit Centos 5.3 installation, but if you know what you're doing I'm sure that you'll get it to work on you own pernsonal favorite flavor of Linux. Here's what you need:
    • tftp server
    • dhcp server
    • samba server
    • ris for linux
    • PXELinux
    • hivex
    • My stuff (wimlib/bcdedit.pl/getbcdlocation.sh)
    The last four things are wrapped together in a package you can download at www.ultimatedeployment.org. Get the package here
    The other things either come with your linux distribution or can be installed most easily with the package manager of your linux distribution (yum, apt-get etc.)
    Download the package and untar it in your systems root. It will create a /work directory where everything will go. In the rest of this document I'm assuming yo did this, and the scripts and configuration files inside the archive also assume this. You could always untar it somewhere else and see whats in it of course...

    Disclaimer: This info is still under construction, there may be (obvious) errors in here. This info is actually a write-up of how I got windows 7 depoyment to work in the UDA. I'm working on it, so let me know if you have corrections or other hints and tips.

    1.2 The goal

    Once you're done your filesystem should look something like this. Most of these files are already prepared in the archive, but not the ones of course that I'm not supposed to redistribute, like the windows boot binaries. This tutorial will tell you where to get them or how to retrieve them from your windows 7 installation media..
    /work/tftproot
    /work/tftproot/pxelinux.0
    /work/tftproot/pxelinux.cfg/default
    /work/tftproot/pxeboot.com
    /work/tftproot/boot.sdi
    /work/tftproot/bootmgr.exe
    /work/tftproot/winpe.wim
    
    /work/tftproot/system1/bcd
    /work/tftproot/system1/wdsnbp.0
    
    /work/tftproot/system2/bcd
    /work/tftproot/system2/wdsnbp.0
    
    /work/sambashare
    /work/sambashare/win7
    /work/sambashare/system1.xml
    /work/sambashare/system2.xml
    
    /work/bin
    /work/bin/bcdedit.pl
    /work/bin/wimextract
    /work/bin/wiminfo
    /work/bin/updatewim
    /work/bin/wimxmlinfo
    /work/bin/binlsvr.py
    /work/bin/binl
    /work/bin/getbcdlocation.sh
    
    /work/drivers
    /work/drivers/netamd.inf
    /work/drivers/pxntpci5.sys
    
    /work/wim/actionfile.txt
    /work/wim/install.cmd
    /work/wim/winpeshl.ini
    
    /work/conf/dhcpd.conf
    /work/conf/tftpd.conf
    /work/conf/smb.conf
    
    /work/log
    /work/log/tftpd.log
    
    /work/doc/default.css
    /work/doc/win7pxelinux1.html
    /work/doc/win7pxelinux2.html
    /work/doc/win7pxelinux3.html
    /work/doc/win7pxelinux4.html
    /work/doc/win7pxelinux5.html
    
    

    1.3 References

    I've found some interesting reads on the internet, combined them, did some trial and error and came up with this method. Here's some references with more information. Let me know if you've found more interesting articles! (please do so in the forum at www.ultimatedeployment.org).

    Continue to part 2

  • Go to part 1: Overview
  • Go to part 2: Configuring and starting services
  • Go to part 3: Prepare the windows boot files
  • Go to part 4: Prepare the unattended installation files
  • Go to part 5: Troubleshooting