To begin, I'd like to let anyone trying to answer know that although I spent a few hours on each question searching for answers, I'm certain I missed topics, so if you know of a topic that seems to answer my question, feel free to just link me to it, although a nice summary would be appreciated as well
Currently I have a working PXE server, its set up is as follows:
- Built on OpenSUSE 11.4
- Using Advanced TFTP (atftpd) for PXE with pxelinux
- Using a Samba Share for post-boot files
- Entire shop is gigabit ethernet
- DHCP Server for the shop
- Performs NAT for all computers
The entire setup process for Vista/7 (my main focus) goes fairly smoothly, first the client computer boots into PXE and selects the installation (Win7/Vista, x86/x64) from the menus. Depending on your selection, a different WinPE 3.0 boots, they're simply variants of 64 and 32 bit versions with different startnet.cmd files for the commands. Once WinPE has loaded over PXE(takes a while), it proceeds to mount the Samba share from the server and runs the setup with a switch linking to the correct unattend.xml file(also on the share).
The setup is entirely unattended except for Windows version(Ultimate, Home Premium, etc.), product key, and partitioning, since these are not corporate computers, but random customers. Once the install is finished, the computer reboots, loads into Windows, and from there technicians use DriverPack Solution to install drivers, then they install basic software off the network share using a batch file which runs through various AutoIt scripts and batch files for silent installs.
Yes, it works, and I'm quite happy with it so far, but it doesn't quite meet my high expectations, and I would like to have the optimum solution. So, here's what I need help with fixing, and ideas that I've had which I just need some clarification on:
1. Smaller PE
As of right now, my WinPE 3.0 is just below 200 MB in size, and sending that much data over TFTP is horrendously slow, even on gigabit Ethernet, I'm totally fine with moving away from WinPE, as long as the switch can fulfill my needs. I looked into MicroPE but all the links to download it are down, so if anyone has other suggestions I'm open. The requirements of the PE are:
- Must boot from syslinux/pxelinux and run from RAM.
- Must have network(not necessarily WLAN) and mass storage drivers for virtually every machine, display only needs to be basic, this is going to be used on random customer machines, so I can't make machine-specific driverpacks. Unfortunately this does make the smaller drivers difficult.
- Be capable of installing Windows Vista/7 32 and 64 bit
- Doesn't need a GUI, just a commandline from which I can autorun scripts and mount network drives
- All of this must be able to be done unattended.
If you think you've got the solution for me, I'd be glad to see it, even if it takes lots of testing, I'm willing and able, or if there's some specific settings for WinBuilder, point them out to me. For now I'm likely going to use the miniXP that comes with Hiren's Boot CD, if I remove the programs I think I can cut it down to around 80 MB, maybe a bit less, if you have something that beats that, let me know.
2. Faster Winstall
I've been looking into programs like WinNTSetup and NT 6.x Fast Installer to speed up my installations, but I'm not certain they can do everything I need, such as:
- Prompting the technician for product key, Windows package(Ultimate, Home Premium, Business, etc), and partitioning setup before beginning
- Automating the install from thereon out, preferably with the use of an unattend.xml file, including running scripts post-install
- Being reasonably user-friendly, at least on the prompts, my technicians aren't all too bright
I believe I'll probably end up using WinNTSetup, because from what I can tell it meets my needs and is compatible with any PE I could throw at it, but if you have better suggestions I'm open to them.
3. Post-Install Drivers
While popping in DriverPack Solution and running it for most drivers works well enough, I'd prefer a faster automated solution that can be automatically run once the install is completed. I think the DPsFinisher might be what I'm looking for, but I can't find a page that describes how to use it well. Essentially, I need a solution that can:
- Add all network drivers to the Windows Installation pre-install (once again, this is for any machine, not a set group)
- OR copy the drivers and an installer for them to the HDD from PE(while we still have network support) after the installation has completed
- Once the network drivers are installed, it needs to pull all necessary drivers for the specific computer from the network share and install them automatically
I'll most likely be using the drivers from DriverPacks.net, since they've managed to cover pretty much anything I've come across, at least network-wise.
4. Speed Up Windows Updates
For now my plan is to put Squid on the server, since all network traffic is routed through it, in order to cache the Windows Updates and speed them up that way, but I'd like to find a solution like AutoUpdater with APUP that's easy to update and local. The only issue I've had with APUP is that it always has to verify the update integrity, and that takes a ridiculous amount of time, if anyone knows a way of disabling that "feature" I'd greatly appreciate it.
5. Software Installation
I've mostly got the software installs working, but I just have a couple quick questions I think you guys should be able to answer fairly easily, if not I just have to do some digging to find them myself:
- Is there a method that works for both Vista and 7 that allows you to add a post-install script to the installation? In other words, I want to be able to run a script after the first login. I know it exists, I just need the exact method of using it. Preferably one that will work with multiple installs in a single WIM file.
5. Windows XP
Anyone know any quick easy tutorial for PXE booting an XP installation? I don't even care if it's automated, I just want the option there.
6. Should I Try Imaging?
I've always felt that imaging installations is one of the best methods for automating installations, but XP has always had issues with it when trying to apply it to a wide variety of machines, have Vista and 7 solved this problem?
I know it's a lot, and I really appreciate all of you who didn't TL;DR this post, if I complete this project, I'd love to put together a nice tutorial which engulfs every piece necessary to recreate a system just like the one above, so your help is greatly appreciated and I hope to somewhat repay it.