Greetings, all!  I am on my way to a working automated install of
Windows 7.  I have got all of the OS installation via network automated
but have not yet attempted to get the post-install todo.pl stuff
working.  I am posting my notes on how I got this to work for reference
and comment, as I couldn't find a complete guide for getting this to
work on the mailing list (or anywhere else).  I borrow heavily from the
following website, and extend my thanks to skaven for providing a sound
starting point:

http://doomclaw.de/index.php/2009/08/18/installing-windows-7-with-a-pxe-boot-server/

Without further ado, here is the procedure.

Pre-requisites:
I'm assuming you already have an unattended environment set up,
including the ability to pxe boot (dhcp, dns, etc).  I'm also assuming
you've got a samba server set up serving \\ntinstall\install as
described in the normal unattended distribution and have copied the
contents of the windows 7 setup disc to the os/win7 directory within
your unattended distribution.

First, we created a WinPE environment that gets loaded via pxe.  This
gives us a launchpad to start setup.exe.  To do this, you will need
access to a windows 7 computer running the same architecture (x86 or
amd64) as your target machines.  We follow skaven's guide at the above
website for a lot of this.  As instructed, download the WAIK and install
it, then run the first script (remembering to modify architecture
variable as needed).  By default, this script outputs all the files
you'll need to pxeboot WinPE into c:\tftp.  As it is, when we pxeboot to
this, it will dump us to a shell, but we want this to be automatic.  To
do this, we need to mount the image and make a small change.

To mount the image, use the command "Dism /Mount-Wim
/WimFile:C:\tftp\Boot\winpe.wim /index:1 /MountDir:C:\winpe_x86\mount".

This mounts the image to c:\winpe_x86\mount (or wherever you specified
with /MountDir).  Edit c:\winpe_x86\mount\Windows\System32\startnet.cmd.
 There should be a single line consisting of 'wpeinit'.  Add the
following lines:

net use z: \\ntinstall\install
z:
cd os\win7
setup.exe /unattend:\\ntinstall\install\unattended.xml

and save the file.  Now we need to update the image with this command,
which unmounts it and updates it: "Dism /unmount-Wim
/MountDir:C:\winpe_x86\mount /Commit".

Now we can copy the contents of the tftp directory over to the server,
as described in skaven's guide.  You'll have to play around a bit with
the naming and remap stuff on your tftp server to get pxe to find the
correct image.  I copied mine over to a folder called Boot at the main
tftp directory, but still had to use skaven's remapping file, replacing
'windows/7/' with 'Boot/'.  Also, his pxe config requires you to choose
the image, so you'll want to edit your pxelinux.cfg/defualt to something
akin to this:

default 1
timeout 100
prompt 1
label 1
kernel Boot/startrom.0

Assuming you have the proper symlinks set up and get the remapping
working, you should now have a pxeboot environment that starts the
windows setup.exe with a given unattended.xml answer file (as sepcified
with the /unattend: switch for setup.exe in the startnet.cmd file).

Creating this answer file is going to be site specific, but I've got a
couple notes on it.  You'll be using the WAIK on your windows 7 computer
again  Load the install.wim image from your windows 7 setup disc, and
perhaps load a sample answer file from c:\Program Files\Windows
AIK\Samples.  See the links at the bottom of this email for Microsoft's
documentation on answer files.  It will probably take you several
installs to get a working answer file, but fortunately each install
usually never took more than thirty minutes (for me, anyway).  Here are
my notes on building an answer file:

Disks start at 0, partitions at 1.
Disable UAC with Microsoft-Windows-LUA-Settings compoenent, setting
"EnableLUA", value "false".
A windows 7 install normally boots into the Out Of Box Experience (OOBE)
welcome screen for its first boot.  To avoid this, follow the page
"Automate Windows Welcome" in the help files (which are invaluable to
getting a working answer file).  I could not get the built-in
Administrator account to work, so i just created a new account with
administrative privileges.
Under
Microsoft-Windows-Shell-Startup/FirstLogonCommands/SynchronousCommand
you can specify a command to be run post installation, and I have
verified that this will mount the \\ntinstall\install automatically, so
here is where we'll want to hook into the unattended distribution to use
todo.pl to automate the installation of all our other packages.  I'm
sure there are different ways of doing this post-install automation, but
since we've already got a huge library of todo.pl-dependant scripts from
our WinXP isntallations, I'm just sticking with this.

Post back to the list if this works for you or if you find any problems.

Jake

Useful Links:

skaven's guide:
http://doomclaw.de/index.php/2009/08/18/installing-windows-7-with-a-pxe-boot-server/

building a WinPE .wim file (mount and unmount commands came from here):
http://technet.microsoft.com/en-us/library/dd744533%28WS.10%29.aspx

customizing WinPE (autoinstall came from here):
http://technet.microsoft.com/en-us/library/dd744245%28WS.10%29.aspx

answer file help:
http://technet.microsoft.com/en-us/library/dd799285%28WS.10%29.aspx


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
unattended-info mailing list
unattended-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-info

Reply via email to