Filesys.exe Boot Process

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 now wait because it is dependent on the registry. Filesys.exe initializes the registry.

To boot Filesys.exe

  1. Detect if this is a cold or warm boot.

    On a cold boot, all 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.

  2. If this is a cold boot, call pNotifyForceCleanboot to let the OEM know that this is a cold boot.

  3. On a cold boot call OEMIoControl with IOCTL_HAL_INIT_RTC.

  4. Initialize the database subsystem and application programming interfaces (APIs).

  5. Initialize the file system APIs.

  6. Initialize the point-to-point message queue APIs.

  7. If the RAM files system is part of the OS image, view the Initobj.date file and create a RAM file system

  8. Initialize the registry.

  9. If Device.exe is not started, and if HKEY_LOCAL_MACHINE\System\StorageManager points to a DLL that can be loaded, load the storage manager.

  10. If storage manager is loaded, create a thread to initialize it.

    The thread exits when it is completed.

  11. Initialize the national language support (NLS) data.

  12. Set the locale to use with the database engine by calling CeChangeDatabaseLCID.

  13. Initialize the time zone and set daylight savings time (DST), if necessary.

  14. Populate the object store databases by loading data from Initdb.ini.

  15. Open event SYSTEM/FSReady and set the event.

    This action communicates to the kernel and other applications that Filesys.exe is ready. Filesys.exe now waits for the kernel to signal that it can boot the rest of the operating system (OS).

  16. Create named events for all event names in the registry at location HKEY_LOCAL_MACHINE\System\Events. These events are set by the processes that own them.

    Filesys.exe reads from HKEY_LOCAL_MACHINE\Init and runs the applications listed.

  17. If Device.exe is in the list and it has already started, open event SYSTEM/BOOTPHASE2 and signal it.

    This action enables Device.exe to reread the registry and perform the final driver initialization. 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.

See Also

Nk.exe Boot Process | Hive-Based Registry Startup Sequence

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.