SOURCE: A friend e-mailed me a document containing the following information. I thought to share it with you guys.
WINDOWS XP- birth
Windows XP comes in a number of versions, including a Home version and a Professional version. Windows
XP Home is configured for home users. Windows XP Professional, which is configured to work as a
workstation client, is a somewhat more powerful configuration for business users. Throughout this book,
I’ll point out any differences in usage between the Home and Professional versions.
While not the focus of this book, Windows XP also comes in a number of server versions named Windows
XP .NET. Microsoft has planned several server product offerings, including Windows XP .NET Server
and Windows XP .NET Advanced Server. We don’t expect that there will be major changes in .NET’s use of
the registry.
The registry is a tree-based hierarchical system that offers quick access to data stored in almost
any format. Actually, the registry is a rather flexible database. Registry information comes from a
number of sources:
◆ From installing Windows XP
◆ From booting Windows XP
◆ From applications, systems, and user interaction
Every component ofWindows XP uses the registry, without exception. A set of APIs allows both
Windows XP and other applications to access registry information easily and quickly.
Windows XP starts to use the registry at the very beginning stages of system bootup. The Windows
XP boot process is based on which file format is installed, though the important parts are
identical in either case. The unimportant parts are the loading of the specific drivers to read the
NTFS file system.
Note Throughout this book, I’m referring to Windows XP installed on an Intel x86 platform. There are differences in
the boot process on RISC-based systems (such as the Digital Alpha system), though these differences are not terribly significant,
considering how the registry is used. However, it seems that non-Intel systems are becoming very unusual, and they
probably will receive little or no support from Microsoft in the future.
The Windows XP boot process consists of the following steps:
1. The system is powered up, the video is initialized, and the hardware self-tests are performed.
The BIOS performs these tests, which are called POSTs (power-on self-tests). Usually, the
memory test is the most visible one; its progress is shown on most computer screens.
2. After running POST, the system initializes each adapter. If the adapter has its own built-in
BIOS, the adapter’s BIOS is called to perform its own initialization. For IDE adapters (most
computers have either two or four IDE adapters), each connected drive (there may be up to
two drives for each IDE adapter, allowing for a total maximum of eight IDE type drives) is
queried for its specifications and access method.
Some adapters, such as Adaptec’s SCSI adapters, display messages and allow the user to interact.
Some adapters that don’t have a BIOS aren’t initialized until Windows XP loads their
drivers much later in the boot-up process.
3. After all the adapters that have a BIOS have been initialized, the system boot loader reads in
the sector located at the very beginning of the first bootable disk drive and passes commands
to this code. This sector is called the boot sector, or the MBR (Master Boot Record), and it is
written by the operating system when the operating system is installed.
4. The code in the MBR then loads the NTLDR file. (This file has no extension, though it is
an executable file.) Once loaded, the MBR passes control to the code in NTLDR.
5. NTLDR then switches into 32-bit mode. (Remember, an Intel x86 processor always boots
into 16-bit real mode.) It then loads a special copy of the necessary file system I/O files and
reads in the file boot.ini.
6. The file boot.ini has information about each operating system that can be loaded. Remember,
Windows XP supports multiboot configurations. It is trivial to create a Windows XP
installation that can boot Windows NT, Windows XP, and Windows 95 or Windows 98. The
boot loader can even boot two different copies ofWindows XP with either the same or different
version numbers. NTLDR then processes boot.ini, displaying boot information that
allows the user to select which operating system will be loaded. At this point, let’s assume that
Windows XP will be loaded.
7. When you select Windows XP to be loaded, NTLDR loads the file ntdetect.com. This program
then collects information about the currently installed hardware and saves this information
for the registry. Most of this information is stored in the HKEY_LOCAL_MACHINE hive.
8. Once NTDETECT has detected the hardware, control is passed back to NTLDR, and the
boot process continues. At this point, the registry has been substantially updated with the current
hardware configuration, which is stored in HKEY_LOCAL_MACHINE\Hardware.
9. The prompt to select the configuration is then presented. This prompt, “Press spacebar now
to invoke Hardware Profile/Last Known Good menu,” allows you to force Windows XP to
use a specific configuration as stored in the registry hive HKEY_LOCAL_MACHINE.
10. Following the detection of NTDETECT, NTLDR loads and initializes the Windows NT
kernel, loads the services, and then starts Windows.
11. When the kernel is loaded, the HAL is also loaded. (The HAL—Hardware Abstraction Layer—
is used to manage hardware services.) Next, the registry system subkey HKEY_LOCAL_MACHINE\
System is loaded into memory. Windows XP scans the registry for all drivers with a start value of
zero. This includes those drivers that should be loaded and initialized at boot time.
12. You can see the beginning of the next stage, kernel initialization. The screen switches to a blue
background, and you see a message about the Windows XP build number and the number of
system processors. Again, the system scans the registry and finds all drivers that must be
started at the kernel initialization stage.
13. From this point, Windows XP starts various components and systems. Each component and
system reads the registry and performs various tasks and functions. In the final stage, the program
that manages the user logon, WinLogon, starts. WinLogon allows the user to log on and
use Windows XP.
Once Windows XP is booted, both the operating system and applications use the registry. The
registry is dynamic, but usage of the registry may be dynamic or static. That is, some registry items
are read one time and never reread until the system is restarted. Other items are read every time they are
referenced. There is no fixed rule as to what is read each time it is needed and what is not, but to be
on the safe side, follow these guidelines:
◆ Application-related data is probably read when the application starts. If you change application-
based data, restart the application. In fact, the best path to follow is this: do not change
application-based data while the application is running.
◆ User-interface data is sometimes dynamic, sometimes static. With user-interface data, the way
to go is to change the data and wait to see the results of the change. If the change doesn’t
appear, try logging on again.
◆ System data is usually either static or otherwise buffered. Many system-related registry changes
won’t become effective until the system is restarted. Some system data is rewritten, or created, at
startup time, precluding changes by users. Many of the items in HKEY_LOCAL_MACHINE may be
reset at system boot time, especially those items that are hardware related.
Filed under: My Article's | Leave a comment »