Getting the Script Ready to Try
138 C HAPTER 5 SETTING UP AND ROLLING OUT WINDOWS SERVER
with a sequence of options. You could, then, install Server on a system this way (I don’t recommend it, although there’s a good reason why I’m explaining it):
1. Clean up about 2GB of space on a drive on a computer’s hard disk.
2. Copy the I386 directory on the CD and its subdirectories to the drive with 2GB or more space. 3. Change directories over to the copied I386 directory that is now on the computer’s local hard disk. 4. Open a command line and type either winnt or winnt32 with whatever options are appropriate
at the time, depending on what kind of install you want to do. (And, again, use WINNT if you’re currently running DOS or Windows 9x, WINNT32 to start a Server 2003 Setup from inside NT, 2000, XP, or Server 2003.)
WINNT[32] and Distribution Shares
Now, why did I explain this to you if I recommend that you not use it? Because many people do use a variation on this theme. Over the years, many of us have done WINNT/WINNT32 installs not by copying I386 to the target machine, but instead by putting I386 on a shared folder (called a distribution share or distribution folder) on a file server. Then you walk over to the machine that you want to put Server 2003 on, connect to the file share, and type winnt or winnt32. Summarized, then, the idea with a distribution share is that you first copy the I386 files over to some share on the network; then to
put Server 2003 on a new machine, you just walk over to the machine, log in to the network, connect to the distribution share, run the WINNT program in the share, and Setup starts. You can, of course, script an installation this way as well, and so the whole process can become basically unattended.
The Chicken and the Egg
The only problem with this whole approach has always been that part about taking a brand-new machine and logging in to the network with it—namely, how the blazes do you do it? Computers with empty hard disks don’t know jack about networks (at least, not usually—stay tuned for the RIS section to see the alternative), so simply stuffing an Ethernet card into a new PC and hooking it up to the company network accomplishes nothing besides making another LED on the Ethernet switches light up. You need a network stack—protocols, a network file client, all that kind of stuff. It’s always sort of been true that “you need to be on the network to be able to connect to the software that you’ll need to install in order to get onto the network.” Kind of a chicken-and-egg thing.
Microsoft used to offer a two-floppy set of code called the MS-DOS Client for Microsoft Networks that helped a bit. You’d first stick DOS on the new machine, then load the MS-DOS Client for Microsoft Networks, then reboot the system. That would let you log in to a domain and from there attach to a distribution share—but it was an awful lot of installing just to start off the Setup programs for NT 4 or later OSes. Worse yet, the Client didn’t include drivers for any NICs built after the Punic Wars, so you always had to hunt around for a set of DOS-compatible drivers for the modern network card in your computer.
With a bit of luck and determination, I was sometimes able to fit the whole mess onto a floppy, and that wasn’t so bad—just boot the new computer from the A: drive and I’d be connected to the network. Of course, I had to reengineer the floppy for every different model of NIC, which partially explains why I (a) only bought 3Com Ethernet cards for years and (b) resisted going to 100-megabit Ethernet a year or two longer than I should have—I was reluctant to have to create a new network boot floppy.
PERFORMING UNATTENDED INSTALLS: AN OVERVIEW 139
Where does that leave you nowadays? Well, to my knowledge, Microsoft doesn’t distribute the Client anymore. You can solve the how-do-I-get-to-the-distribution-share in the first place problem in one of three ways:
◆ Find an old copy of the MS-DOS Client for Microsoft Networks and cook up network boot floppies. (And please don’t e-mail me, I can’t distribute them—they’re copyrighted.) There are some useful bootable disk images at www.bootdisk.com; it’s worth a moment or two to see
if they’ve got one you can use.
◆ Given that many new systems ship with Wintendo (Win 9x) on them anyway, you already have a network-aware operating system sitting on your new computer’s hard disk. Use that to connect to the distribution share.
◆ A lot of new computers have the ability to do a PXE or “network boot.” Windows 2000 and Server 2003’s Remote Installation Services (RIS) is built to support PXE boots, and so can let a computer with even an empty hard disk get to an RIS server and then install Server 2003 from a server. Fortunately, Server 2003’s RIS can roll out not only Professional but Server images as well—an upgrade from Windows 2000!
Extending I386: Preinstalling Service Packs
Let’s presume, then, that you’ve figured a way to get your workstations attached to a network distri- bution share. Now we can start reaping the benefits of doing installs from a share on a hard disk rather than a CD-ROM: we can add to the data on the CD.
The first terrific thing that we can do is to preinstall service packs. You can typically download a service pack as one big EXE. As I write this, there aren’t any service packs for Windows Server 2003— it’s just been released!—but assuming that Server 2003’s service packs continue to work as 2000 and XP’s do, this should work. First, download the service pack; let’s call it sp20031.exe, although
I have no idea what Microsoft will call Server 2003’s service packs. You can attach a service pack to Server 2003’s I386, “assimilating” it so that when you do an installation from that I386, you
instantly have a copy of Server 2003 with some service pack installed, rather than having to first install Server 2003 and then apply the service pack. Here’s how.
1. Create a directory on a server’s hard disk and copy the I386 folder to it. Let’s say, for example,
that you put it in C:\I386.
2. Put the sp20031.exe file on that computer’s disk (it doesn’t matter where and please remember,
that’s a hypothetical filename), open a command line, and type sp20031 -x to extract all of the service pack files. It’ll ask you where to put them, so specify a directory wherever it makes sense for you. Let’s just say you tell it to put the files in C:\SP.
3. Once sp20031 has extracted itself, look in the directory that sp20031 created, C:\SP, to find a
directory named C:\SP\I386\update. In there you’ll find a program named update.exe. 4. Run update.exe with the -s option and point it at the drive containing I386, not the I386 direc-
tory itself. For example, if you put I386 on C:, then type c:\sp\i386 update -s:c:\ to put the
service pack files into C:\I386.
Microsoft says that the -s stands for “slipstream,” but I tend to think that it stands for “aSsimilate,”