Filesys.exe Boot Process (Windows CE 5.0)
After the kernel starts the Filesys.exe process, Filesys.exe must initialize its state before triggering the kernel to finish its initialization. The kernel must wait because it is dependent on the registry, which is initialized by Filesys.exe. The following steps show the boot process for Filesys.exe.
Filesys.exe detects if the boot process is a cold or warm boot.
On a cold boot, the object store memory is initialized and then mapped for Filesys.exe. On a warm boot, memory is not initialized before being mapped for Filesys.exe.
Filesys.exe loads the OEM Certification DLL from ROM.
If a cold boot is required on a system that had previously warm booted, Filesys.exe calls the OAL function pNotifyForceCleanboot.
If the boot process is a cold boot, Filesys.exe initializes the real-time clock by callingOEMIoControl with IOCTL_HAL_INIT_RTC.
Filesys.exe initializes the database application programming interfaces (APIs). For more information, see Database Reference.
Filesys.exe initializes the file system APIs.
Filesys.exe initializes the point-to-point message queue APIs. For more information, see Message Queue Point-to-Point.
Filesys.exe initializes the event log APIs.
Filesys.exe initializes the registry APIs. If the boot process is a cold boot, Filesys.exe initializes the registry data. The data initialization process varies based on whether the RAM-based or hive-based registry is in use. For more information, see RAM-based Registry Initialization or Hive-based Registry Initialization.
If a default user profile is specified in the registry, Filesys.exe loads the default user profile and initializes data under HKEY_CURRENT_USER.
If Device.exe is not started, and if HKEY_LOCAL_MACHINE\System\StorageManager points to a DLL that can be loaded, Filesys.exe loads the Storage Manager.
If the Storage Manager is loaded, Filesys.exe creates a thread to initialize it. The thread exits when it is completed.
Filesys.exe initializes the national language support (NLS) data.
If the boot process is a clean boot, Filesys.exe reviews the Initobj.dat file and copies files from ROM into the root file system.
Filesys.exe initializes the time zone and sets daylight saving time (DST), if necessary.
If the boot process is a cold boot, Filesys.exe sets the locale to use with the database engine by calling CeChangeDatabaseLCID (CEDB).
If the boot process is a cold boot, Filesys.exe populates the object store databases by loading data from the Initdb.ini file.
Filesys.exe communicates to the kernel that Filesys.exe is ready. Filesys.exe then waits for the kernel to signal that Filesys.exe can boot the rest of the operating system (OS).
Filesys.exe creates named events for all event names in the HKEY_LOCAL_MACHINE\System\Events registry location. These events are set by the processes that own them. For more information, see Ready-Event Registration.
Filesys.exe runs the applications listed in HKEY_LOCAL_MACHINE\Init. For more information, see How to Configure the Registry to Run an Application at Startup.
If Device.exe is located in HKEY_LOCAL_MACHINE\Init and it has already started, Filesys.exe opens the SYSTEM/BOOTPHASE2 event and signals Device.exe.
This action enables Device.exe to reread the registry and perform the final driver initialization phase. Any driver can also wait on the same event, to be notified when the real registry comes online. By doing so, the driver can reread registry data, if necessary.
During a normal boot process, Filesys.exe and other components create a number of files and store them in user storage. These files can use as much as 1.8MB of available user storage.
Files Created on Boot
The following table provides descriptions of files that are normally created in the process of initialization and cold boot. Some of these files are created only when building a PocketPC or Smartphone image.
All paths in the Location column of the following table are provided relative to the persistent storage root on the device.
Filename | Location | Typical size at boot in KB | Description |
---|---|---|---|
System.hv | \Documents and Settings\system.hv | 345 | System registry hive |
User.hv | \Documents and Settings\default\user.hv | 345 | User registry hive for default user |
Default.vol | \Documents and Settings\default.vol | 345 | Object store replacement volume for persistent CEDB databases. |
*.jpg | \MyDocuments\MyPictures | 56 | Default storage for user images. |
Replstor | \ReplStorVol | 256 | File replication database volume, created by fsreplxfilt.dll, the file replication file system filter. |
Mxip_system.vol, Mxip_lang.vol, Mxip_notify.vol, and Mxip_initdb.vol | \ | 200 | Metabase volumes, including language-specific data and storage for notifications. |
Cemail.vol | \ | 65 | Default email storage. |
Pim.vol | \ | 260 | PIM data such as address book and schedules. |
See Also
Nk.exe Boot Process | Hive-Based Registry Startup Sequence | RAM-based Registry Initialization | Hive-based Registry Initialization
Send Feedback on this topic to the authors