The Windows XP Layout
When compared to other Microsoft operating systems, Windows XP has many important differences, ranging from capabilities to functions and security, but one rarely discussed area is the layout of Windows XP files and components.
Although the terms folder and directory are synonymous, Microsoft typically prefers to use folder. This falls in line with its endeavor to simplify computing for nontechnical users who might more readily understand the concepts of files and folders (like a filing cabinet) rather than files and directories.
This chapter looks at the file and folder structure created by a Windows XP installation, provides a roadmap for important programs, and discusses other issues related to file structure and layout.
Windows XP Directory Structures
The Windows XP installation routine makes several changes to your hard drives. Windows XP uses two different partitions to store its information: a system partition and a boot partition. These partitions can exist on a single physical partition or on two physical partitions. Unfortunately, the way these terms are used is the reverse of common sense usage. The system partition is the partition containing the initial bootstrap components and the boot menu. The boot partition is the partition hosting the Windows XP root folder and all operational drivers and files.
The boot and system partition files can be located on the same partition, on different partitions, or even on different hard drives. However, the system partition must always be on the first hard drive in the system and must be an active primary partition. The boot partition can be a primary partition or a logical drive within an extended partition.
Table 3.1 shows the files contained on the system partition for an x86 computer.
Table 3.1 Files Located on the System Partition for an x86 Computer
Controls the operating system boot selection process and hardware detection before the actual Windows XP Kernel is launched. It requires that boot.ini, ntdetect.com, bootsect.dos (if dual booting), and ntbootdd.sys (if booting on a non-BIOS enabled SCSI drive; that is, scsi() is used instead of multi() in the ARC name in boot.ini) exist in the root system partition.
Contains the contents of the boot menu displayed by NTLDR. This file contains the default operating system selection, the timeout period for the selection, and an ARC name or pathname for each listed operating system boot selection.
Detects the major components of the computer before NTLDR selects a configuration and loads the Kernel.
Present only on dual-boot systems. NTLDR uses this file when the selected operating system is not Windows XP. Bootsect.dos in turn seeks out the OS-specific operating system loader file, such as io.sys for MS-DOS or os2ldr.exe for OS/2.
Used only on systems with SCSI drives that do not have on-board BIOS translation enabled. It is a copy of the device driver for your particular SCSI drive.
Available if hibernation is enabled on the computer.
When BOOTSECT.DOS is installed using the DOS-mode setup (for example, a Windows 98 startup disk), the file will still appear, even though it is not really a dual-boot system, meaning there is no COMMAND.com to boot into DOS. In this scenario, there is only one OS entry in the boot.ini file, and the boot selection menu does not appear.
For more information on the boot.ini file, see Chapter 7, "Booting Windows XP," p. 129.
Other files can appear in the system partition on x86 dual-boot and multi-boot systems. The addition of these files does not affect the function or capabilities of the required Windows XP boot files in the system partition. Installing multiple operating systems on a single computer with Windows XP Professional (or Home Edition) often requires a specific installation order or manual post-installation configuration changes. Both the Microsoft Windows XP documentation and TechNet include detailed articles on performing multi-boot setups with Windows XP Professional, Windows 2000 Professional, Windows Server 2003, Windows 95, Windows 98, MS-DOS, and OS/2.
Multi-booting Windows XP with non-Microsoft operating systems, such as Linux, often requires third-party boot and partition managers. For popular tools, see the "For More Information" section at the end of this chapter. Red Hat Linux contains two boot loadersLILO and GRUBthat can also be used for a dual-boot configuration with Windows XP.
The system partition does not include any folders. It exists as a root folder only with three or more files. Having additional folders in the system partition does not affect the operation of boot files.
You might notice that the files in the system partition are among the files found on an Emergency Repair Disk (ERD). This should not be surprising because an ERD is used to restore files to the system partition if these files are corrupted, deleted, or otherwise destroyed.
The directory structure and subsequent files installed into the boot partition are quite a bit more complex than those of the system partition. Table 3.2 describes the five folders created in the boot partition's root folder (normally the C:\ drive) during the installation of Windows XP.
Table 3.2 Folders Created by Windows XP in the Boot Partition's Root Folder
This folder is used to hold the configurations for each user
who accesses the system. In Windows NT, this information was stored in the \Windows\profiles folder.
This folder is the default installation location for Windows applications.
System Volume Information
This folder stores all disk permission and security information.
This is not a true folder; instead, it is the system-controlled temporary repository for deleted files. You can access its contents by launching the Recycle Bin tool from the desktop.Note that this folder does not appear until a file is deleted.
This is the main folder containing all the Windows XP system files, and the default folder for Windows XP.
The root of the boot partition is also the default location for pagefile.sys, which is the page file the Windows NT virtual memory system uses.
For information on how to tune Windows XP performance by placing and configuring the page file, see Chapter 22, "Tuning and Optimizing Windows XP," p. 485.
The file and folder structure discussed in this chapter is derived from a fresh installation of Windows XP on an x86 desktop system with Service Pack 1 integrated. The typical installation method was chosen. No other applications from Microsoft or any third-party vendors were present on the system. That means no additional services or applications were installed from the Windows XP distribution CD, no hotfixes were applied, and Internet Explorer was not updated.
The Program Files folder is home to 16 subfolders:
Common Files. This folder contains files shared with the Microsoft applications.
ComPlus Applications. This folder contains files used by ComPlus applications. If there are no ComPlus applications installed on your XP machine, this folder will be empty. COM+ builds on the Microsoft Component Object Model (COM) integrated services and features, making it easier for developers to create and use software components in any language, using any tool.
Internet Explorer. This folder contains the files and executables for Internet Explorer, a Web-browsing tool.
Messenger. This folder contains files and executables for the new Windows Messenger Service. This service combines features found in MSN Messenger with an improved communications infrastructure.
Movie Maker. This folder contains the files and executables for the Movie Maker application.
MSN. This folder contains the files and executables for MSN Explorer, the new Internet connectivity tool from Microsoft that combines Web, e-mail services, and Internet setup services.
MSN Gaming Zone. This folder contains the files and executables for the MSN Gaming Zone.
NetMeeting. This folder contains all the files used by Microsoft NetMeeting.
Online Services. This folder contains files used to establish Internet connectivity. These files enable you to set up Internet access through MSN or to select another available Internet service provider.
Outlook Express. This folder contains all the files and executables needed by Microsoft Outlook Express, a simple e-mail application.
Uninstall Information. This is a hidden folder containing files and information for uninstall services.
Windows Media Player. This folder contains the Microsoft Media Player application.
Windows NT. This folder contains any applications that have been ported over from other Windows operating systems (such as Pinball). This folder has empty folders in it if the ported components were not selected during installation.
Windows Update. This folder contains all the files used by the Windows Update Service.
Xerox. This folder contains all the files used by Xerox applications. By default, this folder is empty.
The Windows root-level folder contains an extensive subfolder hierarchy but very few files. The Windows\System32 folder is the main repository of all files required to launch and operate Windows XP. The following files are among those stored in the Windows folder:
Wallpaper and tiling images (.bmp)
Initialization and configuration files for backward-compatibility with various 16-bit utilities and applications (.ini)
Readme, log, and documentation files (.txt, .log, and .wri)
The following is a listing of the subfolders under the Windows folder:
Addins. ActiveX controls files.
AppPatch. Contains application compatibility .dlls and Appfix packages.
Config. Contains configuration .idf files used by the MIDI sound system. Depending on system configuration, this folder might be empty.
Connection Wizard. Files used for establishing Internet connectivity. Can be an empty folder.
CSC. The Client Side Cache is where contents of mapped network drives are cached so that the contents of these drives will be available offline. By default, this folder contains empty folders.
Cursors. Contains static and animated cursor files. You can use these files by configuring the Mouse applet.
Debug. Contains .log files that can be used to debug network connectivity and other setup functions.
Downloaded Program Files. Contains ActiveX controls and Java applets that have been downloaded from the Internet.
Driver Cache. Contains a platform subdirectory and a copy of the driver.cab file so that new devices can be easily installed without needing the Windows XP CD. Might contain SP1.cab if installing an integrated copy of the operating system.
Fonts. Contains all installed fonts.
Help. Contains the help files used by the Windows XP Help system and all its native utilities.
Ime. Files to support the Input Method Editor. Provides language support for Windows XP.
Inf. Contains the .inf (system information) files used to install software components. This is a hidden folder.
Installer. The location for temporary files used by the Windows Installer program. This is a hidden folder.
Java. Folder structure for Java files.
Media. Contains media files (sound and video) used by sound themes.
Msagent. Microsoft agent files, which are software services that support using animated characters in the Windows interface to assist users in manipulating the operating system.
Msapps. Contains files for backward-compatibility with applications that use shared components.
Mui. MUI (Multilingual-User Interface) Packs give companies flexibility in making language options available to users.
Offline Web Pages. Any Web pages designated as offline accessible are stored in this folder, along with any images and other files that go with it.
PCHEALTH. Contains files and subfolders to support the Microsoft Help Center Service. These files support all the Windows XP Help services, including features such as Remote Desktop Assistance.
Prefetch. Contains the files that XP is tracking for prefetch execution. Caching frequently used files decreases startup time for applications and optimizes XP performance.
Registration. Contains files that support COM+ applications.
Repair. Contains backup copies of the permanent Registry hives. The NTBackup program updates this directory with the System State option.
Resources. Contains files to support the user's shell interface.
Security. Contains subfolders and files related to security. Includes log files that define the default security applied during setup and templates for assigning new security privileges.
Srchasst. Contains files and subfolders for Search Companion, the updated search assistant included with XP. Includes files to support an indexing function that improves search performance.
System. Contains 16-bit versions of protected and real mode drivers and .dll files used by applications. These files are provided for backward-compatibility with older applications. Additional 16-bit driver files can be stored in this folder.
System32. Contains the core operating system files and subfolder trees.
Tasks. Contains scheduled tasks that run without operator intervention.
Temp. Contains any temporary files used by the system and applications.
Twain_32. Contains files to support Twain technology, enabling a scanner document to be inserted into a file.
Web. Contains files and subfolders to support Internet printing and document access.
WinSxS. A folder to store the shared components of side-by-side applications. These can be multiple versions of the same application or the same assembly.
The System32 subfolder contains most of the files used by Windows XP. This is the primary storage location for DLLs, Control Panel applets (.cpl), device drivers (.drv), help files (.hlp and .cnt), MS-DOS utilities (.com), language support files (.nls), screensavers (.scr), setup information files (.inf), and a handful of other files used for support, configuration, or operation.
The most commonly accessed subfolders in Windows\System32 are described in the following list:
1025, 1028, 1031, 1033, etc. Contains locationization languages files. Most of these folders will be empty. The English language is 1033. The complete list of locale IDs can be found at http://www.microsoft.com/globaldev/reference/loclanghome.mspx.
CatRoot. Contains security catalog files.
CatRoot2. Contains catalog database files.
Com. Contains COM object information.
Config. Contains the Registry hives used during bootup and is the storage location for the System, Security, and Application log files viewed through Event Viewer. Config now contains a new folder called \systemprofile that holds a standard profile for the local system.
DHCP. This is an empty folder used to hold Dynamic Host Configuration Protocol (DHCP) database files if the host becomes a DHCP server.
DirectX. Contains files to support the accelerated performance features of game devices.
Dllcache. Contains backup copies of the operating system files that are under the Windows File System Protection system.
Drivers. Contains driver files (.sys); the \etc folder contains sample copies of the TCP/IP text-based configuration files, such as Hosts and LMHosts files.
Export. This is an empty folder.
IAS. If there is no Internet connection capability, this is an empty folder used to hold configuration files for the Internet Authentication Service. This service is typically found on servers. If the machine has a device capable of connecting to the Internet, the IAS folder should not be empty. It will contain two files: DNARY.MDB (used to phrase IAS log files) and IAS.MDB (used to store remote access policies).
Icsxml. Contains files for Univeral Plug and Play.
IME. Contains files for Input Method Editors.
Intsrv. Contains files used by the World Wide Web service. This folder is empty.
Macromedia. Contains a subfolder with the Shockwave Flash .ocx file.
MsDTC. Contains Microsoft Distributed Transaction Coordinator files that control transaction output and message delivery between two different applications or processes.
MUI. Contains Multilingual-User Interface files that are created by applications, such as Service Pack 1.
Os2. Contains drivers used by the OS/2 subsystem.
NPP. Contains files to support collecting network traffic from an XP PC by a Network Monitor server.
Oobe. Contains "Out of Box Experience" files that prompt users to complete product activation and registration and to create a new user other than Administrator. This feature is activated only after setup.
Ras. Contains the default scripts used by Dial-Up Networking.
Restore. Contains a list of files to be monitored and saved to an alternative location in case of file corruption. The System Restore service takes snapshots of the XP system periodically to enable the system to be restored from a previous set of data. This folder also contains the machine GUID.
Setup. Contains setup files for additional services, such as FrontPage Server Extensions and Microsoft Fax.
ShellExt. By default, this folder is empty.
Spool. Used by the printing system to store spooled print jobs and related files. The Printers subfolder is used to store spool files. The other folders found here vary based on printer drivers and configuration.
USMT. USMT stands for User State Migration Tool. This folder contains files to support both USMT and the File and Settings Transfer Wizard. Both tools enable user files and settings to be copied to another PC.
WBEM. Used by Web Based Enterprise Management to store its data and executable files and utilities. The Microsoft implementation of WBEM is the Windows Management Instrumentation (WMI) Service. With WMI, programmers can create applications that control network devices, using the same commands regardless of platform.
Wins. Contains files to support the Windows Internet Name Service (WINS). This folder is empty.
As you can see, the folder structure that the Windows XP setup process creates is quite extensive. If you add services and applications from the Windows XP distribution CD, install service packs and hotfixes, upgrade Internet Explorer, add Microsoft Outlook, or install other Microsoft and third-party applications, this folder structure increases in depth and complexity.