- 作者:zhaozj
- 发表时间:2020-12-23 11:02
- 来源:未知
[Previous] [Next]
Boot Process
In describing the Windows 2000 boot process, we'll start with the installation of Windows 2000 and proceed through the execution of Ntldr and Ntdetect. Device drivers are a crucial part of the boot process, so we'll explain the way that they control the point in the boot process at which they load and initialize. Then we'll describe how the executive subsystems initialize and how the kernel launches the user-mode portion of Windows 2000 by starting the Session Manager process (Smss.exe), the Win32 subsystem, and the logon process (Winlogon). Along the way, we'll highlight the points at which various text appears on the screen to help you correlate the internal process with what you see when you watch Windows 2000 boot. Table 4-1 presents a summary of boot-process components with their execution modes and responsibilities.
Table 4-1 Boot Process Components
Master boot record (MBR) code | 16-bit real mode | Reads and loads partition boot sectors |
Boot sector | 16-bit real mode | Reads the root directory to load Ntldr |
Ntldr | 16-bit real mode and 32-bit protected mode;turns on paging | Reads Boot.ini, presents boot menu, and loads Ntoskrnl.exe, Bootvid.dll, Hal.dll, and boot-start device drivers |
Ntoskrnl.exe | 32-bit protected mode with paging | Initializes executive subsystems and boot and system-start device drivers, prepares the system for running native applications, and runs Smss.exe |
Smss | 32-bit native application | Loads Win32 subsystem, including Win32k.sys and Csrss.exe, and starts Winlogon process |
Winlogon | 32-bit native application | Starts the service control manager (SCM), the Local Security Subsystem (Lsass), and presents interactive logon dialog box |
Service control manager (SCM) | 32-bit native application | Loads and initializes auto-start device drivers and Win32 services |
Preboot
The Windows 2000 boot process doesn't begin when you power on your computer or press the reset button. It begins when you install Windows 2000 on your computer. At some point during the execution of the Windows 2000 Setup program, the system's primary hard disk is prepared with code that takes part in the boot process. Before we get into what this code does, let's look at how and where Windows 2000 places the code on a disk. Since the early days of MSDOS, a standard has existed on x86 systems for the way physical hard disks are divided into volumes. Microsoft operating systems split hard disks into discrete areas known as partitions and use file systems (such as FAT and NTFS) to format each partition into a volume. A hard disk can contain up to four primary partitions. Because this apportioning scheme would limit a disk to four volumes, a special partition type, called an extended partition, further allocates up to four additional partitions within each primary partition. Extended partitions can contain extended partitions, which can contain extended partitions, and so on, making the number of volumes an operating system can place on a disk effectively infinite. Figure 4-1 shows an example of a hard disk layout. (You can learn more about Windows 2000 partitioning in Chapter 10, which covers storage management.)