Windows 2000 ProfessionalUnderstanding the various phases of
Setup and Startup
The Phases of Setup
The following will provide you with a brief description of how boot drivers and Plug and Play devices are loaded during the text-mode and graphical user interface (GUI) mode phases of Setup, along with a description of the Setup log files. Understanding of the Setup process can help you troubleshoot any problems you may encounter during Setup. Go to Setup Phases.
Understand the steps in starting Windows 2000 Professional.
Understanding the system startup procedure allows you to troubleshoot problems with installing and starting Windows 2000 Professional. Go to the Windows 2000 Professional Startup Process.
Understand how Windows 2000 Professional detects Plug and Play devices.
An understanding of how Windows 2000 Professional detects and loads Plug and Play devices can give you a better understanding of how these devices are detected and configured during Setup and help you troubleshoot any problems that might occur. Go to Plug and Play Device Detection.
Configure your computer to create a multiple-boot system by using Windows 2000 Professional with other operating systems.
Review the procedures and considerations for setting up a multiple-boot configuration. Review the detailed description about how to set up a multiple-boot system by using Windows 2000 Professional with Microsoft® Windows NT® 4.0, Microsoft® Windows® 95, Microsoft® Windows® 98, and Microsoft® MS-DOS®. Go to Installing a Multiple-Boot Operating System.
Install service packs with Windows 2000 Professional.
Learn how service packs are added to Windows 2000 Professional and how Service Pack installation has changed since Windows NT 4.0.Go to Installing Service Packs.
Remove Windows 2000 Professional from your computer
If you have problems during Setup or if Windows 2000 Professional does not run, you might need to remove the operating system from the computer. Review details about how to remove the operating system and the associated files. Go to Removing Windows 2000 from Your Computer.
Troubleshoot Windows 2000 Professional Setup
Review some of the problems that can occur during Windows 2000 Professional Setup and the steps you can take to troubleshoot them. Go to Troubleshooting Windows 2000 Professional Setup.
Top
Phases of Setup
When you are installing or upgrading Windows 2000 Professional, follow the three general Setup phases, including: the Setup Loader phase, which is used to begin the installation process; text-mode Setup, which is the text-based portion of Setup and is characterized by a blue background; and GUI-mode Setup, which is the final phase of Setup and is distinguished by a Windows graphical interface and wizard page.
Setup Loader
The Setup Loader phase of Setup is usually initiated by running Winnt.exe or Winnt32.exe from the command line. You can also initiate Setup Loader by starting the computer from the Windows 2000 operating system CD. Setup copies the installation files and Setupldr from the CD to the hard drive and creates or modifies Boot.ini (in multiple-boot configurations in which either Windows NT 4.0 or Windows 2000 is previously installed). Setupldr is a variant of Ntldr, which initiates the installation process when it is called by the bootstrap loader and loads Ntbootdd.sys and Ntdetect.com. These files perform initial hardware detection and then pass control to the kernel, which is loaded along with the boot drivers and the drivers for the hard drive controller(s). Setupldr also changes the boot sector to point to Setupldr.
This phase of Setup also gathers information to create a small unattended file. This file answers some of the questions that are asked later in the Setup process so that it can be run with minimal involvement.
For more information about using Winnt.exe and Winnt32.exe, refer to: Installing Windows 2000 Professional elsewhere on this site.
Text-Mode Setup
The text-mode phase of Setup is a mini-kernel mode phase that is started by a special session manager called Usetup.exe, which is located in the folder i386. The text-mode phase is also identified by its character-based screen with a blue background. During this phase, Setup completes the following tasks:
-
Determines the basic hardware installed (such as the CPU, motherboard type, and hard disk controllers).
- Examines the hard disks.
- Creates the registry and file systems.
- Performs limited Plug and Play detection.
- Partitions and formats the drive for the file system or converts to an NTFS file system when you upgrade from Windows NT 4.0 Workstation.
- Checks that there is adequate disk space for the installation and checks for minimum system requirements, such as memory and hard disk drive space.
- Copies most installation files to the Windows 2000 installation folder to begin the GUI-mode phase of Setup.
After the text-mode phase of Setup is complete, the computer restarts, and the GUI-mode phase of Setup begins. GUI-mode is identified by a graphical user interface (GUI) and the Setup wizard, which begins with the End-User License Agreement ( EULA) and Product ID dialog box.
Note:
When you use Winnt32.exe or Autorun.exe, the EULA and Product ID dialog box appear during the Setup loader phase.
Setup performs the following tasks during the GUI-mode phase:
- Detects and installs devices found on the computer.
- Configures each device, and installs and configures networking components. Installs any optional components.
- Copies the remaining installation files that were not copied during the text-mode phase of Setup.
- Writes the Setup log files to the installation directory.
- The Setup log files are as follows:
- Setupact.log, which contains information about all the files copied during setup.
- Setuperr.log, which contains information about any errors that were encountered during Setup.
- Setupapi.log, which contains information about the device driver files that were copied during Setup.
- Setuplog.txt, which contains additional information about the device driver files that were copied during Setup.
Note: The log files that are created during Setup can be used to help troubleshoot any installation problems that you might encounter. Double-click a log file to read it, or open it by using Notepad or a word processing application.
When GUI-mode has completed these tasks, it starts the operating system and presents the Winlogon screen. This stage of Setup is recoverable; if Setup halts, it can restart and continue where it left off.
During a clean installation of Windows 2000 Professional, Setup now prompts you to provide a user account and logon information. If you are upgrading from Windows 95 or Windows 98, Setup prompts you to supply password information.
Note: On a new installation, you are prompted for an Administrator password; you can also personalize the installation, for example, by customizing Regional Options, Accessibility Options, and Network and Dial-up Connections settings.
Top
Windows 2000 Professional Startup Process
The Windows 2000 startup process is similar to the startup process for Windows NT 4.0 but is significantly different from other operating systems. In MS-DOS, Windows 95, and Windows 98, the computer loads the IO.sys file followed by Msdos.sys and Command.com. However, in Windows 2000, these files only exist on computers that have multiple-boot configurations with Windows 95, Windows 98, or MS-DOS.
The following list describes the startup sequence on a computer running Windows 2000 Professional:
- Power-on self test (POST)
- Initial startup process
- Bootstrap loader process
- Operating system selection (if the computer has a multiple-boot configuration)
- Hardware detection
- Hardware configuration selection (if you are using more than one hardware profile)
- Kernel loading
- Operating system logon process
Note: The system startup sequence only applies to a system that is started from a reboot or a power off state. This sequence does not apply to a system that is turned on from a hibernated state.
This startup sequence applies to all versions of Windows 2000.
Power-on Self Test
When a computer is started or reset, it runs the power-on self test (POST), which determines the amount of memory in the computer and checks that required hardware devices, such as the keyboard, are present and functioning. After the POST sequence, adapters that have their own basic input/output system (BIOS) run individual POST routines.
Note: Some adapters (for example, some video adapters) run their POST sequence before the memory and device check, which runs during the initial POST.
Starting the Computer
After the computer finishes the POST, the system BIOS attempts to start an operating system. The sequence that the BIOS follows depends on the BIOS configuration. For example, if the BIOS search order is set to A and then C (A, C), the BIOS searches the floppy disk drive for a bootable disk. If drive A contains a bootable floppy disk, the BIOS loads its first sector (the partition boot sector) into memory. If the floppy disk is not bootable, the following error message appears.
Non-system disk or disk error
Replace and press any key when ready
If the BIOS does not find a floppy disk in the drive, it then searches for the active partition on the hard disk drive. If there is no system partition on the first hard disk, the master boot record (MBR) displays one of the following errors:
- Invalid partition table
- Error loading operating system
- Missing operating system
When the active partition of the hard drive is found, the system BIOS reads the MBR and loads it into memory. The MBR then scans the partition table for the system partition information. When the system partition information has been read, it loads sector 0 of the system partition into memory and starts it.
Note: Sector 0 of the system partition can be a utility, a diagnostic program, or a partition boot sector that contains the startup code for the operating system.
The system partition must be on the first physical disk and contain the system startup files listed in Table 6.1.
Table 6.1 Windows 2000 Startup Files
Ntldr |
Root of startup disk |
Boot.ini |
Root of startup disk |
Bootsect.dos |
Root of startup disk (on multiple-boot systems) |
Ntdetect.com |
Root of startup disk |
Hyberfil.sys |
%Systemdrive% |
Ntbootdd.sys |
Root of startup disk (for SCSI and some large IDE drives) |
Ntoskrnl.exe |
%SystemRoot%\System32 |
Hal.dll |
%SystemRoot%\System32 |
System key |
%SystemRoot%\System32\Config |
Device drivers |
%SystemRoot%\System32\Drivers |
Cdldr |
Root of startup disk |
Note: If the name of the path in Boot.ini uses small computer system interface (SCSI) syntax, the Ntbootdd.sys must be in the root folder of the system partition.
The boot partition can be on the same partition as the system partition, on a different partition, or on a different hard disk.
For the most part, the MBR is independent of the operating system. For example, the MBR can start Windows NT, Windows 95, Windows 98, MS-DOS, Microsoft® Windows® 3.x, and Windows 2000 Professional. However, after boot sector 0 has been loaded into memory, the partition boot sector is dependent on both the operating system and the file system. The Windows 2000 partition boot sector performs the following functions:
- Reads the file system to find the bootstrap loader.
- Loads the bootstrap loader into memory.
- Starts the bootstrap loader.
Bootstrap Loader Process
Ntldr loads the operating system files from the boot partition. If you have a multiple-boot configuration, you are prompted to choose an operating system.
Ntldr controls the operating system selection and the hardware detection process before passing control to the Windows 2000 kernel. Ntldr must be in the root folder of the startup disk.
Ntldr performs the following steps:
- Sets the processor to run in 32-bit flat memory mode. When you first start a computer, it runs in real mode, which is similar to an 8088 or 8086 CPU. Because Ntldr is a 32-bit program, it must switch the processor to 32-bit mode so that it can continue to load the operating system.
- Starts the NTFS file system or the file allocation table (FAT) 16 or 32 file system. The code to access the appropriate file system is built into Ntldr.
- Reads Boot.ini, which displays the operating selections on the boot loader screen. If you select an operating system other than Windows 2000 Professional, Ntldr loads and passes control to the Bootsect.dos file, and the selected operating system starts. If you select Windows 2000 Professional, Ntldr starts Ntdetect.com, which gathers information about the computer hardware.
- Asks you to choose a hardware profile if you have one or more hardware profiles on your computer.
- Loads and passes the information from Ntdetect.com to Ntoskrnl.exe, starting the startup screen.
Operating System Selection
Boot.ini contains the list of available operating systems. Each entry includes the path to the boot partition for the operating system, the string to display in the boot loader screen, and optional parameters. Boot.ini supports starting multiple versions of Windows 2000, as well as starting other operating systems, such as Windows 95, Windows 98, Windows NT 4.0, MS-DOS, and OS/2.
When you install Windows 2000, Setup places Boot.ini at the root of the system partition.
The following is a sample Boot.ini file:
[boot loader]timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]multi(0)disk(0)rdisk(0)partition(1)\winnt= “Microsoft Windows 2000
Professional” /fastdetect
C:\=”Windows 98″
The information displayed on the boot loader screen is based on the contents of Boot.ini, such as in the following example:
Please select the operating system to start:
Microsoft Windows 2000 Professional
Microsoft Windows 98
Use your arrow keys to move the highlight to your choice.
Please touch Enter to choose.
Seconds until highlighted choice will be started automatically: 29
For troubleshooting and advanced startup options for Windows 2000, press F8.
The first operating system listed is the default. In this configuration, if you do not select an operating system before the timer reaches 0, Windows 2000 Professional is started.
Hardware Detection
After you select the operating system, Ntdetect.com detects the hardware, gathers a list of the currently installed hardware components, and passes the information to Ntldr.
Ntdetect.com detects the following components:
- Computer ID
- Bus/adapter type
- Video adapter
- Keyboard
- Communications ports
- Floppy disks
- Mouse or other pointing devices
- Parallel ports
Selecting a Hardware Configuration
During the Ntdetect phase, if you have multiple hardware configurations, the following information appears:
Hardware Profile/Configuration Recovery Menu
This menu allows you to select a hardware profile to be used when Windows 2000 is started.
Note: Profiles are only necessary under non–Plug and Play conditions. Plug and Play negates the need for profiles.
The bootstrap loader pauses for a few seconds or until you press Enter. If you have only one hardware profile, Windows 2000 Professional uses the default settings.
Windows 2000 Professional automatically uses the default settings if you do not select a hardware profile. When the default configuration is used, the bootstrap loader uses the registry information that Windows 2000 Professional saved at the completion of the last shutdown. After you select a hardware profile, Ntdetect.com passes control back to Ntldr.
Loading and Initializing the Kernel
During the next phase, Ntldr loads the kernel and the hardware abstraction layer (HAL) into memory. Next the bootstrap loader loads the registry key HKEY_LOCAL_MACHINE\SYSTEM from the folder %SystemRoot%\system32\Config\System. Ntldr creates the control set that it uses to initialize the computer. The loader uses the control set identified by the default value unless you choose the Last Known Good Configuration from the Hardware Profiles screen.
The kernel initiates the Windows 2000 Professional screen, and the Starting Up progress bar is displayed. When the status bar completes, Ntoskrnl prepares the network information.
The kernel uses the information that was passed from the boot loader to create the HKEY_LOCAL_MACHINE\HARDWARE key, which contains the hardware data that is collected at system startup. The data includes information about various hardware components on the motherboard and the system interrupts allocated by each device.
The kernel then creates the Clone control set, which is a copy that points to the Current control set. The Clone control set represents the state of the computer during configuration and is not changed or modified.
Logging On to the Operating System
The Windows subsystem automatically starts Winlogon.exe, which starts the Local Security Administration. The Begin Logon dialog box appears. Windows 2000 might still be initializing network device drivers, but you can log on.
The Service Controller searches the registry for services that are configured to load automatically. Autoload services have a Start value of 0x2 in the subkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName.The services that are loaded during this phase are loaded in parallel and so are loaded based on their dependencies. The dependencies are described in the DependOnGroup and DependOnService entries in the subkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName.
Note: Windows 2000 startup is not considered complete until a user successfully logs on to the system. After a user logs on, the Clone control set is copied to the LastKnownGood control set.
Understanding the Boot.ini Naming Convention
Windows 2000 uses the Advanced Reduced Instruction Set Computing (RISC) naming convention to define the path to a Windows 2000 installation.
Using ARC Pathnames
The Advanced RISC Computing (ARC) pathnames in Boot.ini point to the location of the boot partition for all Windows 2000 installations. A single line in Boot.ini represents each installation. During the startup process, the boot loader screen prompts you to choose an installation.
The ARC names in the file Boot.ini are similar to the following:
- Multi(W)disk(X)rdisk(Y)partition(Z)\%systemroot%
- Scsi(W)disk(X)rdisk(Y)partition(Z)\%systemroot%
- Signature(8b467c12)disk(1)rdisk(0)partition(2)%systemroot%=”description”
Windows 2000 Professional can use any of these formats in Boot.ini to locate the SystemRoot directory.
This form of the ARC pathname is referred to as Multi. On Microsoft® Windows NT® version 3.1, Multi syntax was only valid for Integrated Device Electronics (IDE), Enhanced Integrated Drive Electronics (EIDE), and Enhanced Small Device Interface (ESDI) disks. In Microsoft® Windows NT® version 3.5 and later (including Windows 2000), it is also valid for small computer system interface (SCSI) disks. It is not used with Windows 95 or Windows 98.
The Multi syntax instructs Windows 2000 Professional to rely on the system BIOS to load system files. This means that Ntldr is using interrupt (INT) 13 BIOS calls to find and load Ntoskrnl.exe and any other files it needs to start the system.
The following is an example of the Multi syntax :
multi(W)disk(X)rdisk(Y)partiton(Z)
Table 6.2 describes the parameters used in the Multi syntax:
Table 6.2 Multi Syntax Parameter Variables
Parameter |
Multi Parameter Definitions |
W |
The number of the adapter, usually 0. |
X |
Always 0. |
Y |
The number for the disk on the adapter, usually between 0 and 3. |
Z |
The partition number. All partitions that are in use receive a number. Primary partitions are numbered before logical drives. The first valid number for Z is 1; W, X, and Y start at 0. |
In theory, the Multi syntax can start Windows 2000 from any disk. However, this requires that all connected disks use the INT 13, and the system BIOS usually identifies only one disk adapter with INT13. For this reason, you can only use the Multi syntax to start Windows 2000 Professional from either of the two disks on the primary IDE or SCSI device or on the secondary IDE or SCSI device.
The use of the Multi syntax depends on the type of adapter that your computer uses. For example:
- On IDE adapters, the Multi syntax works for up to four disks: two on primary and two on secondary IDE channels.
- On SCSI adapters, the Multi syntax works for the first two disks on the first SCSI adapter (the adapter whose BIOS loads first).
- With both SCSI and IDE adapters, the Multi syntax works for only the IDE disks on the first adapter.
SCSI Syntax
The SCSI syntax tells Windows 2000 Professional to load a SCSI device driver to access the boot partition.
The SCSI syntax is as follows:
scsi(W)disk(X)rdisk(Y)partition(Z)
Table 6.3 defines the parameters used in the SCSI syntax:
Table 6.3 SCSI Syntax Parameters
Parameter |
SCSI Parameter Definitions |
W |
The controller that is found. |
X |
The number of the physical disk attached to the computer. |
Y |
The SCSI logical unit number (LUN) of the disk that contains the boot partition. This is typically 0. |
Z |
The partition number. All partitions that are in use receive a number. Primary partitions are numbered before logical drives. The first valid number for Z is 1; W, X, and Y start at 0. |
Signature Syntax
The Signature syntax is equivalent to the SCSI syntax but is used instead to support the Plug and Play architecture in Windows 2000. Because Windows 2000 is a Plug and Play operating system, the SCSI controller number instance might vary each time you start Windows 2000, especially if you add new SCSI controller hardware after Setup.
The Signature syntax instructs Ntldr to locate the drive with a disk signature that matches the value in the parentheses, regardless of which SCSI controller number that the drive is connected to.
The naming format in Boot.ini starts with Signature syntax. For example:
signature(8b467c12)disk(1)rdisk(0)partition(2)\winnt=”description”
The Signature syntax is used only if one of the following conditions exists:
- The partition on which you installed Windows 2000 is larger than 7.8 gigabytes (GB) in size, or the ending cylinder number is higher than 1024 for that partition, and the system BIOS or boot controller BIOS does not support Extended INT13.
- The drive on which you installed Windows 2000 is connected to a SCSI controller whose BIOS is disabled, so INT13 BIOS calls cannot be used during the startup process.
The Signature value is extracted from the MBR. This unique hexadecimal number is either written to the MBR during the text-mode portion of Setup or by a previous installation of Windows NT 4.0 or earlier.
Ntbootdd.sys
Ntbootdd.sys is a copy of the SCSI device driver and resides on the system partition. Ntbootdd.sys is used when using the SCSI or Signature syntax in the file Boot.ini.
Additionally, if you have multiple SCSI controllers that use different device drivers, include only the controllers that are controlled by Ntbootdd.sys when determining the value of the W parameter. For example, if you have an Adaptec 2940 controller (which uses Aic78xx.sys) and an Adaptec 1542 controller (which uses Aha154x.sys), the value of W is always 0. Ntbootdd.sys changes in the following situations:
-
If you load Windows 2000 Professional from a disk on the Adaptec 2940 controller, Ntbootdd.sys is a copy of Aic78xx.sys.
-
If you load Windows 2000 Professional from a disk on the Adaptec 1542 controller, Ntbootdd.sys is a copy of Aha154x.sys.
Editing Boot.ini
When you install Windows 2000 Professional, Boot.ini sets the system and hidden attributes for you. You can edit the time-out and default parameters in Boot.ini by using the System option in Control Panel.
Important: Back up the original Boot.ini file before making any changes.
To view Boot.ini, you must be able to view hidden files in My Computer.
To show hidden files in My Computer
- On the Tools menu, click Folder Options, and then click the View tab.
- Hide protected operating system files.
- Click OK .
To edit the file Boot.ini, you can use Windows Explorer and double-click Boot.ini, or you can open any text editor to edit the file.
If you change the path to the Windows 2000 boot partition, edit the entries for both the default path and the operating system path. If you change only one, a new choice is added to the boot loader screen with the default designator next to it.
Driver Cabinet File
A cabinet (.cab) file is a compressed file that contains other distribution files, such as drivers and system files. Drivers are placed in a single .cab file on the Windows 2000 operating system CD. This driver .cab is used by both Setup and other system components that need to install drivers. The .cab file contains approximately 3000 files and is installed at:
%windir%\Driver Cache\\driver.cab
The list of files is in Drvindex.inf. To view the .cab file, use Windows Explorer.
The benefits of using a .cab file include the following:
-
Does not require administrators to use a Setup CD to install new devices on the computer.
-
Does not require you to log on with local admin rights to install new hardware as long as the device is present in the .cab file and digitally signed. You can override this by deleting the .cab file from the drive.
-
Reduces the amount of bandwidth and installation time that is required for network installations. (Winnt32.exe and Winnt.exe copy a single file instead of many smaller files.)
-
Provides a simple way to install printer drivers. Administrators do not need to have the Windows 2000 CD to install printer drivers because most printer manufactures use Microsoft core printer drivers. For mobile users, the printer drivers are always available for quick printing.
-
Enables remote install services clients to install drivers for new devices locally. It also allows the Remote Installation feature to support different hardware between the source computer used to create the image and the destination computer installing that image.
When a driver file is needed, Setup checks the Drvindex.inf file to see if the file is listed. If the file is listed and the .cab file is on your computer, Setup tries to copy the file from the .cab file. If a signed driver file is found in the driver cache directory and has the same name as the needed file, Setup uses this file instead of the one contained in the .cab file. If the required file does not exist in the directory of the .cab, the installation path is searched. If that fails, Setup prompts you to supply the required file.
Top
Plug and Play Device Detection
Plug and Play is a combination of the system BIOS, hardware devices, system resources, device drivers, and operating system software. This combination provides dynamic installation and configuration of new system hardware components and Plug and Play devices that require little or no manual intervention.
System BIOS
The basic input/output system (BIOS) starts the computer by providing a basic set of instructions. It performs all necessary startup tasks, including POST and starting an operating system from a floppy disk or hard disk. The BIOS uses a library of interrupt handlers to provide the operating system with an interface to the underlying hardware. For instance, each time a key is pressed, the CPU performs an interrupt to read that key. This is similar for other input/output devices, such as serial and parallel ports, video cards, sound cards, hard disk controllers, and so on. Some older computers cannot cooperate with modern hardware because the operating system cannot call a BIOS routine to use it. You can solve this problem by replacing the BIOS with a newer one that supports your hardware or by installing a device driver for the hardware.
How the BIOS interacts with Plug and Play devices varies, depending on whether the system BIOS or the operating system is responsible for configuring the hardware device. Taking this into consideration, you have three possible scenarios:
Only the initial program load or boot devices are controlled by the BIOS
Initial program load (IPL) devices are required to start the system. They can be embedded on the system board or on added devices.
This scenario also supports dynamic configuration, where a non-boot device, such as a PCMCIA card, is installed while the power is on. Each time the system is started in a dynamic configuration, the devices are reexamined. In theory, the assigned resources can be rearranged at restart whether devices have been added or removed.
All devices are configured by the BIOS
If Enable Plug and Play operating system is disabled and the device has a static configuration, you can not remove the device without turning off the system. In addition, you must first turn off the system before you remove almost any device. The exceptions are external port devices and bus types that are Plug and Play by nature, such as universal serial bus (USB) and IEEE 1394.
No devices are configured by the BIOS
In the Advanced Configuration and Power Interface (ACPI) of Windows 98 and Windows 2000, the operating system configures almost all devices. The exceptions are those devices that are needed to start the operating system and bus types that handle it on their own, such as Peripheral Component Interconnect (PCI), USB, and IEEE 1394.
System Resources
System resources are made up of the BIOS, interrupt request lines (IRQs), direct memory access (DMA), input/output (I/O) port addresses, and reserved memory. They allow the individual hardware components to signal and gain access to the CPU without conflicting with other hardware devices. Before Plug and Play, each resource had to be configured manually, which could be difficult.
The Plug and Play Manager determines the hardware resources requested by each device (for example, I/O ports, IRQs, DMA channels, and memory locations) and assigns them appropriately. The Plug and Play Manager can reconfigure resource assignments when necessary, such as when a new device is added that requires resources that are already in use. It can also maintain ISA detection and configuration that is non–Plug and Play.
IRQs
IRQs are channels or switches that are used by hardware devices to signal the CPU. The traditional architecture has 16 IRQs, some of which are used for onboard devices such as the system clock, keyboard, and mouse. The remaining IRQs can be used by expansion cards that are added to the computer.
When you have used all your IRQs, you can share them. In addition, methods have been devised that do not require IRQs. Some new bus types, such as USB and IEEE 1394, require at least one IRQ for the bus controller itself because they reside over the PCI bus. It is possible to share available IRQs, On ACPI systems, all PCI devices can share IRQ 9 by default. Most of the problems created by sharing IRQs are related to bandwidth. To share IRQs, the system places these IRQs on a stack and manages them in first in, first out (FIFO) fashion. The more sharing, the longer it takes to traverse the stack and the more opportunity for time-outs and other problems.
I/O Port Address
After a device signals the CPU by using its assigned IRQ, the device needs to pass information between it and the CPU. This is done through memory. An I/O port address is an area of memory that is reserved by the device to pass required information to the device driver, which in turn passes the information to the CPU. These are not linear memory locations but numerical pointers or representations of physical memory locations. On each hardware device, a read-only memory (ROM) chip stores a collection of device descriptors as hardware registers or on the PCI bus, as the configuration memory space. I/O port addresses serve as a special “lens” that isolates one register from another. There are 65,535 of these ports available in current systems, but as with IRQs, the ports are already reserved for specific devices. In addition, I/O ports can be segregated according to bus type, with some I/O addresses reserved for PCI and others for ISA.
DMA
The device can access physical memory either through the CPU or by bypassing the CPU entirely. Direct memory access (DMA) channels allow devices to write to physical memory without placing a load on the CPU. There are usually eight DMA channels; existing devices reserve a number of channels, leaving approximately five channels free to be used with additional devices. The exception is the PCI bus, in which the DMA is replaced by bus mastering.
Detecting Plug and Play Devices
The Plug and Play detection process in Windows 2000 works similarly to Plug and Play in Windows 98. Each device that is attached to the computer is identified when Windows 2000 Professional starts. Devices that are not required to start the computer remain inactive until the operating system has started.
After identifying each device, Plug and Play determines the system resources that each device requires, stores the configuration in memory, and assigns those resources to the device. After the devices have been configured, Plug and Play identifies and loads the drivers that each device requires.
Plug and Play continues to provide an interface between the system and the device drivers, which consist of I/O routines, Interrupt Request Packets (IRPs), driver entry points, and the registry. In addition, Plug and Play handles power management events and hardware detection, such as removing a portable computer from a docking station or adding or removing a hardware device. Plug and Play also allows applications to control certain power management events.
Building the Device Tree
The device tree contains information about the devices attached to the system. The operating system uses information from drivers and other components to build this tree when the computer starts, and it updates the tree as devices are added or removed. The device tree is hierarchical, with devices on a bus represented as subcomponents of the bus adapter or controller.
To view the hierarchy of devices in the device tree
- In Device Manager, click the View menu, and then click Devices by connection.
Figure 6.1 shows the structure of the device tree.
Figure 6.1 Device Tree Structure
Each node of the device tree is a device node, which consists of the device objects for the drivers and internal information maintained by the operating system.
The hierarchy of the device tree reflects the structure in which the devices are attached to the computer. The operating system uses this hierarchy as it manages the devices. For example, if a user requests to unplug the USB controller from the computer represented in Figure 6.1, the Plug and Play Manager asks the drivers for the USB controller to remove the controller, and the Plug and Play Manager queries the drivers for any descendants of the controller. The Plug and Play Manager determines that this action would cause the USB hub, the joystick, and the camera to become unplugged.
Plug and Play Detection on Non-ACPI Systems
Before installing Windows 2000 on a non-ACPI system, disable Plug and Play Operating System support in the system BIOS.
When a non-ACPI computer is started, Plug and Play is configured by the system BIOS and not the operating system. The BIOS performs the following steps:
- Isolates any Plug and Play ISA devices for configuration.
- Builds a resource allocation map of the resources consumed by non-Plug and Play devices.
- Optionally maintains a list of the previous resource configuration in non-volatile storage or memory.
- Selects and enables the input and output devices that are required during the startup process.
- Initializes the device ROM if the device encountered is a boot device.
- Allocates conflict-free resources to devices that have not yet been configured.
- Activates all devices.
- Initializes any option ROMs that have been encountered.
- Starts the bootstrap loader.
One requirement of Plug and Play is the ability to isolate individual cards for configuration. PCI cards are isolated by the PCI architecture itself. Because the original ISA specification provided no method for isolating one card from another, either the operating system or the system BIOS can perform these steps.
The detection process remains largely unchanged under the ACPI architecture, except that on an ACPI system, the operating system and not the BIOS is responsible for device detection and configuration.
Plug and Play Detection on ACPI Systems
ACPI combines and enhances both Plug and Play and power management. On an ACPI computer, Plug and Play is configured by the operating system and not the system BIOS.
In the following example, a user installs a Plug and Play USB joystick into a USB hub on a USB host controller. The USB hub is a Plug and Play bus device because it can have other devices attached to it. In this example, the USB supports hot-plug notification, and the function driver for the USB is notified that its subcomponents have changed. The operating system performs the following steps:
- The function driver for the device determines that there is a new device on its bus.
- The function driver for the bus device notifies the Plug and Play Manager that its set of devices has changed.
- The Plug and Play Manager queries the drivers for the bus for the current device tree.
- The Plug and Play Manager sends an Interrupt Request Packet (IRP) to the device stack for the bus asking for the current list of devices on the bus. When the main driver of the USB hub (the USB host controller class or miniclass driver pair) completes the IRP, the IRP travels back through the device stack by means of any completion routines registered by the hub drivers.
When the Plug and Play Manager has the current list of devices on the bus, it determines if any devices have been added or removed. In this example, there is one new device, and the only driver that is configured for the joystick is the main USB hub driver. Any optional bus filter drivers are also present in the device stack.
- The Plug and Play Manager gathers information about the new device and begins configuring the device.
- The Plug and Play Manager checks the registry to determine if the device has been installed on this computer before.
- The Plug and Play Manager stores information about the device in the registry.
- The kernel-mode Plug and Play Manager attempts to find and load the function and filter drivers for the device, if any exist.
- The Plug and Play Manager assigns resources to the device, if needed, and issues an IRP to start the device.
Top
Installing a Multiple-Boot Operating System
You can configure Windows 2000 Professional to start with other operating systems, such as Windows 2000 Server, Windows NT, Windows 95, Windows 98, Windows 3.x, MS-DOS, and OS/2. This section discusses how you can set up Windows 2000 Professional as a multiple-boot system with the following operating systems:
-
Windows NT 4.0 and Windows NT 3.51
-
Windows 95 or Windows 98
-
MS-DOS or Windows 3.x
Important: Each operating system in a multiple-boot configuration must reside in its own partition. Windows 2000 Professional does not support a multiple-boot system that shares the same partition with another operating system.
Multiple-Boot Considerations
Before you set up a multiple-boot configuration between Windows 2000 and another operating system, you need to consider certain precautions, as described in Table 6.4.
Table 6.4 Multiple Boot Considerations
Operating System Combinations |
Considerations |
Windows 2000 and Windows NT 4.0 |
Install operating systems on different partitions. Apply Windows NT 4.0 Service Pack 4. Install applications while running each operating system. |
Windows 2000 and Windows 95 |
Install operating systems on different partitions. Install applications while running each operating system. Ensure that the active partition is formatted as FAT16. |
Windows 2000 and Windows 98 |
Install operating systems on different partitions. Install applications while running each operating system. Ensure that the active partition is formatted as FAT16 or FAT32. |
Windows 2000 and Windows 3.x |
Install operating systems on different partitions. Install applications while running each operating system. Ensure that the active partition is formatted as FAT16. |
Windows 2000 and MS-DOS |
Install operating systems on different partitions. Install applications while running each operating system. Ensure that the active partition is formatted as FAT16. |
If you need a multiple-boot configuration between Windows 2000 and Windows NT, Windows 95, or Windows 98, install the applications while you are running each of the operating systems to ensure that the applications are included in the registry for all the operating systems.
File System Considerations
Each operating system in a multiple-boot configuration can use one or more file systems to organize data on partitions. Operating systems that use the same file systems can share volumes, so a user can see files in shared partitions from different operating systems.
Additional file system considerations include:
- NTFS partitions are not available to users running Windows 95, Windows 98, Windows 3.x, or MS-DOS.
- A computer that is configured with Windows 2000, Windows NT, Windows 95, and Windows 98 can see long file names on a FAT16 volume.
Windows 2000 Professional Multiple-Boot Configurations
Windows 2000 Professional can support multiple-boot configurations between one or more instances of Windows 2000 and additional operating systems in separate partitions on the same computer.
This section describes the configuration details involved when you start Windows 2000 Professional with MS-DOS.
Bootsect.dos
Bootsect.dos is a file with the hidden, system, and read-only attributes that Ntldr uses when the computer is configured to start MS-DOS, Windows 3.x, and Windows 95 or Windows 98.
If there is an existing MS-DOS-based operating system, Windows 2000 Setup copies the boot sector on the active partition of the computer to Bootsect.dos and replaces the original boot sector on the active partition with its own boot sector.
When the computer is started, the active partition that contains the boot sector code starts Ntldr, which loads and displays the boot loader screen from Boot.ini. From the boot loader screen you can choose to start Windows 2000 Professional or another operating system.
If you select an operating system other than Windows 2000 Professional, Windows NT 4.0, or Windows NT 3.51, Ntldr loads ands passes control to Bootsect.dos, which then loads the other operating system.
Configuring a Multiple-Boot System with MS-DOS
If you are going to set up Windows 2000 with a multiple-boot system that includes MS-DOS, it’s a good idea to install MS-DOS before installing Windows 2000 Professional. If MS-DOS is installed after Windows 2000, the boot sector is overwritten with the MS-DOS boot sector and you can no longer start Windows 2000 Professional.
If you have already installed Windows 2000 Professional and you want to install MS-DOS on another partition, you can install MS-DOS and then restore the Windows 2000 boot sector by using the Emergency Repair Disk (ERD).
Configuring a Multiple-Boot System with Windows 95, Windows 98, or Windows NT 4.0.
You can configure Windows 2000 Professional as a multiple-boot system with Windows 2000 Server, Windows NT 4.0, Windows 95, or Windows 98.
If you plan to set up a multiple-boot system with Windows 95, Windows 98, or Windows NT 4.0, install Windows 95 or Windows 98 before installing Windows NT or Windows 2000 because Windows 95 and Windows 98 sometimes replace the Windows 2000 Professional boot sector with their own boot sector.
Configuring a Multiple-Boot System with Windows 2000 Professional, Windows NT, Windows 95 or Windows 98, and MS-DOS
You can configure a computer with a multiple-boot system that includes MS-DOS, Windows 95 or Windows 98, Windows NT, and Windows 2000 Professional, if each operating system resides in its own partition. You need to install the systems in the following order:
- MS-DOS
- Windows 95 or Windows 98
- Windows NT
- Windows 2000 Professional
If you are already running a multiple-boot system with Windows 2000 Professional and MS-DOS, you can install Windows 95 or Windows 98.
To install Windows 95 or Windows 98 after installing MS-DOS
- From the Start menu, click Shut Down.
- In the Shut Down Windows box, click Restart and then click OK. The boot loader screen appears.
- Under Please select the operating system to start, select MS-DOS.
- Install Windows 95 or Windows 98 in a separate partition, following the standard installation procedures.
After the Windows 95 or Windows 98 installation has finished, restart the computer. With Windows 95, you need to run the Windows 2000 Professional repair process, and then replace the Windows 95 boot sector with the Windows 2000 boot sector. The Windows 2000 boot loader screen allows you to choose between Windows 2000 Professional and MS-DOS. If you choose MS-DOS, Windows 95 or Windows 98 starts.
Top
Installing Service Packs
Windows 2000 Professional makes it easier for administrators to add service packs through a process called slipstreaming, in which the service pack is added directly to the operating system’s distribution share during installation.
Windows 2000 Professional also eliminates the need to reinstall components that were applied before a service pack was installed. In the past, when service packs were applied, many previously installed components had to be reinstalled. Windows 2000 Professional provides the following solutions to service pack installation.
When Windows 2000 Professional is installed from a network share, the appropriate files from the service pack are installed without having to manually apply the service pack after the installation.
To apply a new service pack, use Update.exe with the /slip switch to copy over the existing Windows 2000 files with the updated service pack files. Some of the key files that update during this process include:
- New Layout.inf, Dosnet.inf, and Txtsetup.sif files, which have the updated checksums for all the service pack files. These files need additional entries if any additional files have been added.
- A new driver .cab if the drivers in the cabinet file have been changed.
- If you apply a service pack to a single computer running Windows 2000, you must reapply the service pack to add another service, unless you are updating from a network share that supports service pack slipstreaming.
Top
Removing Windows 2000 Professional from Your Computer
Important: Before removing Windows 2000 Professional from your computer, make sure to back up all important data.
Before removing Windows 2000 Professional, make sure you know where Windows 2000 Professional is installed, what you want to remove, and how your hard disk is partitioned and formatted. The following sections describe how to remove Windows 2000 from your computer:
- Removing Windows 2000 Professional from the Boot Sequence
- Removing a Primary NTFS Partition
- Removing Windows 2000 Professional Files
Note: If the hard disk contains a partition using the NTFS file system, remove this partition from within Windows 2000 before removing Windows 2000 from the boot sequence.
Removing Windows 2000 from the Boot Sequence
You can remove the Windows 2000 boot sector from your computer in two ways.
You can use an MS-DOS boot floppy to start MS-DOS, and then type:
sys c:
This command replaces the Windows 2000 boot sector with the MS-DOS boot sector and allows your computer to start MS-DOS. The following files remain in the root and %SystemRoot% folder and can be deleted after you perform this operation:
- Hyberfil.sys (located in %Systemdrive%)
- Pagefile.sys (located in %Systemdrive%)
- Boot.ini
- Ntldr
- Ntdetect.com
- Ntbootdd.sys
You can also start your computer with a Windows 95 or Windows 98 bootable floppy disk and use the sys c: command to return to your original configuration.
You can leave the Windows 2000 boot sector on the disk and start MS-DOS without being prompted by changing the startup operating system and time-out value.
To change the startup operating system and time-out value
- Click the Start button, point to Settings, and then click Control Panel.
- In Control Panel, double-click the System icon, click the Advanced tab, and then click Startup and Recovery.
- Click the Default operating system list, and then select MS-DOS.
- In the Display list of operating systems for Seconds box, type or select 0 (zero).
Note: If the primary partition was converted to NTFS, to return to starting MS-DOS automatically, reformat the drive and reinstall MS-DOS.
Removing a Primary NTFS Partition
Modifying the primary, bootable NTFS partition does not typically succeed for the following reasons:
- MS-DOS versions 5.0 and 6.0 do not recognize an NTFS partition. The MS-DOS program Fdisk reports an NTFS partition as an OS/2 high-performance file system (HPFS) partition.
-
You cannot modify or delete an NTFS partition from within an existing partition. To delete or modify a primary NTFS partition, use any of the following methods:
- Start MS-DOS by using a Windows 95 or Windows 98 boot disk, then run Fdisk and delete the non-MS-DOS partition.
- Run the Windows 2000 installation from floppy disks or the Windows 2000 operating system CD. Choose D to remove the partition when you are prompted.
Removing Windows 2000 Professional Files
Caution: Make sure you back up all important data before removing the Windows 2000 files from the computer.
You can delete the following Windows 2000 Professional folders to free additional disk space:
- Program Files
- Documents and Settings
- Winnt
- Debug
Note: The folder name for Winnt might vary.
Top
Troubleshooting Windows 2000 Professional Setup
Windows 2000 provides valuable troubleshooting tools that can be used to resolve problems that might occur during Setup. This section discusses how to create Setup and startup disks as well as some frequently asked questions about common Setup problems.
Creating the Startup Disks
To prepare for a system failure on a computer that you cannot start from the operating system CD, you need to create floppy disks that can start the computer.
Note: Before starting a computer by using the Windows 2000 operating system CD or the floppy disks, try starting the computer in safe mode.
After you start the computer by using the floppy disks, you can then use the Recovery Console or an Emergency Repair Disk (if you have prepared one).
Note: You can create floppy disks for starting a disabled system by using the Windows 2000 operating system CD on any computer running a version of Windows or MS-DOS. You need four blank, formatted, 3.5-inch, 1.44-MB floppy disks. Label them Startup Disk One, Startup Disk Two, Startup Disk Three, and Startup Disk Four.
Disks created from the Windows 2000 Server operating system CD cannot be used with Windows 2000 Professional.
To create floppy disks for starting the system
- Insert a blank, formatted, 1.44-MB disk into the floppy disk drive on a computer that is running any version of Windows or MS-DOS.
- Insert the Windows 2000 Professional operating system CD into the CD-ROM drive.
- Click Start, and then click Run.
- In the Open box, type
d:\bootdisk\makeboot.exe a:
- where d: is the drive letter assigned to your CD-ROM drive.
- Click OK.
- Follow the screen prompts to finish the installation.
Media Errors
If the CD-ROM drive does not work, replace it.
For a list of drives that are supported for use with Windows 2000 Professional, see the Microsoft Hardware Compatibility List (HCL) link on the Web Resources page at The Microsoft Resource Kit – Web Resources.
Try another installation method, such as copying the source files from the CD-ROM to the hard drive or installing over the network.
If you are unable to copy from the CD-ROM, test the CD-ROM on another computer. If possible, use the CD-ROM on the other computer, use a different CD, or copy the installation folder i386 to the hard drive of the computer that works, and then copy the folder to the computer that had the media errors. To request a replacement CD, contact the vendor.
Disk Errors
If you receive the error Not enough disk space for installation, use the Setup program to create a partition by using the existing free space on the hard disk or, if you do not have enough space, you may have to delete files on the target partition to make room for the installation. You can delete and create partitions as needed to obtain a partition that has enough disk space to install Windows 2000 Professional.
Other Common Setup Problems
If Windows 2000 does not start, make sure that all the hardware that is installed on the computer is being detected. Check that all hardware is listed on the HCL. Only devices that are listed on the HCL have passed testing for compatibility with Windows 2000 Professional.
Stop messages
If you are installing Windows 2000 and you encounter a Stop message, check the HCL to determine if the computer and its components are supported with Windows 2000 Professional. Reduce the number of hardware components by removing nonessential devices.
Setup stops during text mode
Although text-mode Setup does not execute any code, it does rely on access to the devices on the system. It is important on both ACPI and non-ACPI systems to verify that any legacy device IRQ requirements have been set in the BIOS to Reserved for ISA. If possible, avoid legacy boot devices on ACPI systems because these settings cannot be reliably determined by the ACPI system. This can make the building of the device tree inaccurate, causing problems that are very hard to track.
For non-ACPI systems, verify that the Plug and Play operating system option has been disabled in the BIOS. If it has not been disabled, your operating system might read and write to the hardware registers.
Setup stops during GUI mode
During GUI-mode Setup, the computer might stop responding; if this happens, restart the computer and Setup attempts to resume from where it stopped responding. You can usually isolate these failures to one of the following locations:
- Device detection. At the beginning of the GUI-mode phase of Setup, Plug and Play runs to detect all the devices on the system. This involves external code called class installers. These class installers check the hardware settings on the computer to determine which devices are present. The system can sometimes stop responding during this phase.
- OC Manager. The OC Manager (OCM) is a Setup component that allows the integration of external components, such as server applications, into the Setup process. As with device detection, this phase can cause the system to stop responding.
- Computer configuration.
This is one of the last phases of Setup and involves the registration of OLE control dynamic-link libraries (DLLs). It is possible for Setup to stop responding during this phase as well.
*The information above has been compiled from a number of sources that we would like to acknowledge. They include: Microsoft Technet, Microsoft Resource Kit, various news groups as well as our own technical staff.
Back to Windows 2000 Help?