UNATTENDED INSTALLATIONS IN WINDOWS 2000

Although I don't usually answer questions about beta products, several readers have asked me how Windows 2000 (Win2K--­formerly Windows NT 5.0) will handle unattended installations compared with NT 4.0. Some basic differences are starting to appear. An example of NT 4.0's unattended installation standard syntax is

winnt\[32\] /u:<answer file> /s:<install source>

In this example, /u: specifies the name and location of the answer file and /s: specifies the location of the NT source files.

An example of Win2K's unattended installation standard syntax is

winnt\[32\] /unattend:<answer file> /s:<install source> /syspart:<target drive>\]

In this example, /unattend: specifies the name and location of the answer file with two important differences. First, you must spell out the word unattend, rather than using the letter u. Second, you can specify the amount of time Win2K Setup waits at the boot menu before continuing (e.g., unattend30 makes Setup wait 30 seconds at the boot menu before continuing). The variable answer file contains answers to questions you want to automate during the unattended installation (also known as unattend.txt in NT 4.0). The /syspart: flag causes Win2K Setup to copy all boot and temporary files to the drive and mark them as active. (This function works only with winnt32 and is primarily for subsequent disk replication.) As you can see, Microsoft has expanded the available unattended installation options in Win2K.

Q: Can I use rdisk to back up information to another type of disk (e.g., an Iomega Zip disk) than a 3.5" disk?

I assume you need to use a Zip disk because of the size of the security and Security Accounts Manager (SAM) files (sam._ and security._) in the repair directory on your hard disk. Unfortunately, rdisk supports only high-density 3.5" disks in the A drive. However, you can use a third-party backup program to back up your files to another drive.

Q: Can we prevent Windows NT 4.0 from creating the My Briefcase desktop application during an unattended installation? My company is trying to maintain strict security, and we don't want users to have access to My Briefcase.

To disable the creation of the My Briefcase application during an unattended installation or over a network installation, copy the folder that contains the installation files for your computer type (e.g., the I386 folder for x86-based computers) from the NT CD-ROM to your hard disk. Using Notepad or another text editor, locate and open the layout.inf file, search for syncapp.exe, and insert a semicolon in front of the line to indicate that this line is a comment and not an executable line of code, as follows:

;syncapp.exe = 1,,28672,,,,,2,0,0

Using a text editor, locate and open the txtsetup.sif file, search for syncapp.exe, and insert a semicolon in front of the line to indicate that this line is also a comment, as follows:

;syncapp.exe = 1,,,,,,,2,0,0

After you have made these changes to disable the creation of My Briefcase, you can begin installing NT over the network or perform an unattended setup.

Q: I'm having trouble installing modems on my network. Can you provide some simple guidelines I can use to troubleshoot the installations?

You can follow certain procedures to debug modem installations. Although I prefer using external modems, I've included guidelines for troubleshooting internal and external modems.

Troubleshooting internal modems. A common problem with internal modems involves COM port assignments. If an internal modem defines the COM port, make sure that you properly configure the modem's jumpers (this step is very important). Internal modems almost always have a jumper on the adapter that configures the modem for use as a particular COM port.

Make sure that no conflicts exist between the motherboard port assignments and the internal modem port assignment. If you configure the modem to use a particular COM port that the motherboard has already assigned to another device or a serial card (physical port), you must set the internal modem to use a different COM port. If possible, use the BIOS setup to disable the motherboard's COM port that matches the COM port number you set on the internal modem. For example, if you set both the internal modem and the physical COM port to COM2, you must either change the internal modem COM port setting to an available COM port or use the BIOS setup to disable the physical COM2 port.

Make sure you haven't configured any other adapters or devices to use the same base I/O address or IRQ as the internal modem. You can typically use COM3 with an IRQ of 5 for an internal modem. However, if you have a sound card, you might need to choose an IRQ other than 5 because many sound cards use that interrupt. (By the way, sound cards are the devices that most often conflict with internal modems.)

TABLE 1: Standard COM Port Settings
Port I/OX Address IRQ
COM1 3F8h 4
COM2 2F8h 3
COM3 3E8h 4
COM4 2E8h 3
Go to the Ports applet in Control Panel to verify that the IRQ settings and the I/O addresses are correct. Use the Event Viewer to check the System log for I/O or IRQ conflict errors. When possible, use the standard COM port settings, as Table 1 shows. Notice the overlapping IRQ addresses, which NT handles quite well.

You don't need to add a new port in the Ports applet to add support for an internal modem. Ntdetect will detect the internal modem and the COM port that you've configured the modem to use. If you clicked Add in the Ports applet to add a duplicate port, click Delete to remove the duplicate port. If you still have problems getting the internal modem to work, verify that the modem is not defective. Finally, you might want to upgrade the modem firmware, but always check with the modem vendor before implementing this type of change.

Troubleshooting external modems. The major problem with external modems involves the type of cable you use to connect the modem to the computer. Make sure all cable connections are valid with clean connections (i.e., inspect and test the cables). If the modem fails, use the Event Viewer to determine whether the OS recognizes the appropriate motherboard ports.

Troubleshooting problems with HyperTerminal. If everything else fails, you can often detect a problem using NT's HyperTerminal. HyperTerminal helps only if the computer recognizes the modem, so make sure the computer knows about the modem before attempting to use this procedure. Before you use HyperTerminal to test your modem, make sure Remote Access Service (RAS) isn't running. Go to the Services applet in Control Panel and stop RAS if it's running.

To access HyperTerminal, click Start, Programs, Accessories, Hyperterminal, and select HyperTerminal. When the computer displays the New Connection wizard, click Cancel. Select Properties from the File menu, and select the modem you want to test from the Connect using list. Click Configure, verify that your modem is set to use the correct port, and click OK. Type AT in the HyperTerminal window, and press Enter. If the letters AT display in the HyperTerminal window as you type them and the program displays OK after you press Enter, HyperTerminal properly recognizes the modem. If you don't see the letters AT in the HyperTerminal window as you type them or if the program doesn't display OK after you press Enter, review the previous steps in this article to verify you've properly installed your modem.

To verify that your modem can dial out using HyperTerminal, select New Connection from the File menu, and follow the onscreen instructions. Click Dial. If you have enabled the modem's speaker, you will hear a dial tone and the sound of the modem dialing.

Q: In September 1998, you identified several steps for converting an EIDE Windows NT installation to a SCSI NT installation and suggested reinstalling the OS. Is reinstalling NT necessary?

Several readers have suggested that reinstalling the OS is not necessary. Many of their comments suggested various workarounds. In general, adding a SCSI driver to an NT system running ATAPI is not a major problem; you simply add the driver and then add the SCSI device. When the system reboots, NT locates the SCSI device. If the EIDE drive is missing, the system boots from the SCSI drive. In fact, if only one drive is present, you don't have to change boot.ini.

Q: Our Microsoft Exchange Server project is delayed because the second processor for our multiprocessor server is on back order. Should we wait until the additional processor arrives before we install Windows NT, or should we install the multiprocessor kernel now and plug in the processor later?

Don't install the multiprocessor kernel yet; instead, continue using the standard kernel. When the second CPU arrives, install the new kernel and the new hardware abstraction layer (HAL). This change is all you need to do. If you're worried about adding other files (e.g., ntdll.dll, winsrv.dll, win32k.sys), you can perform an installation update or use the uptomp utility from Microsoft Windows NT Server 4.0 Resource Kit.

Q: I keep hearing about the IA-64 and Merced CPUs. What are they, and how do they compare to previous Intel processors?

I thought I was the only one who cared about such facts. Starting with the Pentium Pro processor, Intel changed the rules regarding how processors execute instructions. The Pentium Pro processor breaks from standard CISC design because it translates classic IA-32 instructions into micro-operations (micro-ops) that the CPU processes in a RISC core. However, the processor still uses all the RISC design tricks to increase speed. The Pentium Pro uses Dynamic Execution (i.e., predicting the program flow through multiple branches, determining the optimal sequence for processing and executing instructions, and predicting and executing the instructions the processor needs) to manipulate the data more efficiently.

The Pentium Pro processor converts all IA-32 instructions (which are basically CPU instruction sets) to 118-bit and 32-bit micro-ops. Most classic IA-32 instruction sets become 1.5-bit or 2-bit micro-ops. The Pentium Pro micro-ops pass to the processor's reorder buffer (ROB). The ROB maintains a reservoir of micro-ops and logs the sequence in which an instruction occurs. If the Pentium Pro processor executes an instruction out of sequence using Dynamic Execution, it uses this log to reconstruct the correct sequence of instructions before posting results in the correct register. The ROB can prepare three micro-ops for processing per clock cycle and accept three more after the processing completes. Therefore, the ROB typically places six micro-ops into the proper order at once. The ROB also manages the register renaming process and determines which normal or hidden register to use out of 40 available registers.

At the same time the Pentium Pro processor passes micro-ops to the ROB, it sends the same micro-ops to the reservation station (RS). The RS provides conduits to execution units and acts as a buffer for 20 micro-ops and data. The RS connects to five ports that link to six execution units (two integer, one floating point, one load address generation unit, one store address generation unit, and one jump unit). The RS can typically pass on five micro-ops per clock cycle to the execution units. When a micro-op completes the execution process, the processor returns the micro-op to the ROB. The processor then reads this buffer as a loop. If the processor has properly processed the instruction, the processor passes the result down the pipeline; otherwise, the processor returns the instructions for additional processing. As the processor retires each micro-op, the processor writes the results to the x86-compatible registers. In many ways, the Pentium Pro processes information more like a RISC system than a CISC system.

When Intel added Multimedia Extensions (MMX) to the Pentium Pro (basically the Pentium II), this functionality added explicit parallel processing. This important addition to the CPU lays much of the groundwork for the IA-64 and Merced processors. With the IA-64 and Merced processors, Intel and HP decided to make most CPU decisions software-based. Functions such as branching and predicting rely more on the software compiler than they do on the CPU microcode. In fact, Intel and HP have basically eliminated the microcode. Merced will be a server-based, 64-bit processor with incredible potential. It will cost about $5000 and contain 10 million transistors. Because the Merced and IA-64 processors will provide compiler-based optimization, they won't like bloated code.

Q: Can you please explain Dynamic Host Configuration Protocol (DHCP)?

Request for Comments (RFC) 1541 originally defined DHCP as a protocol to let a server dynamically distribute IP addressing and configuration information to clients (RFC 2131 has since superceded RFC 1541). This dynamic distribution eliminates the need to manually assign and track IP addresses for all the network systems. Instead, DHCP dynamically hands out IP addresses from a pool of allowable addresses as systems log on. The DHCP server typically provides the client with basic IP address, subnet mask, and default gateway information. (For additional information about DHCP, see Mark Minasi, "DHCP and Assigning IP Addresses," August 1996, and "Improving on DHCP," September 1996.)

Q: I need to add several new machine accounts to a domain. Any suggestions about how to simplify this task?

You can add (or delete) Windows NT machine accounts using the net computer command-line utility. Listing 1 provides an example of how to add five new machine accounts (NT1, NT2, NT3, NT4, NT5) to the domain.