Troubleshooting the Hive-Based Registry (Windows Embedded CE 6.0)

1/6/2010

This section covers the following issues:

  • The build reports that any or all of these files are missing: Default.fdf, Default.hv, Boot.hv, or User.hv
    A clean rebuild is necessary.
  • The build succeeds but hangs soon after boot
    The following list shows possible causes and solutions:
  • Device Manager started, but the necessary file system did not.
    Be sure all registry entries for the file system, block driver, and so on are in the boot registry. See driver registry settings described in the setup instructions. Also, be sure the file system driver has the flag set to load it in the first phase of startup.
  • The necessary file system started but did not register as a file system containing the registry.
    See the file system driver registry settings in the setup instructions.
  • The run-time image originally did not include the hive-based registry, and a full clean build did not complete.
    Be sure you complete a clean build after including the hive-based registry catalog item in your OS design.
  • Some block drivers and file system drivers will poll during their initialization, using the IsAPIReady function, waiting for the windowing system to be available. Because the windowing system is not started until after the registry has been fully initialized, the block driver or file system can cause a deadlock.
    Do not let these drivers wait for the windowing system until after their initialization is complete.
  • Drivers are starting twice.
    Be sure the minimum necessary drivers are listed in the boot registry and that the drivers that should not be started twice have the proper Flags settings stating they should be started in the first phase of startup only. See the driver registry settings described in the setup instructions.

  • The device boots, but occasionally registry data is lost when the device is turned off.
    This can happen if changes are not flushed out to the persistent file. See the description of registry flushing in the setup instructions.

  • On debug builds, for devices that enable the kernel independent transport layer (KIT), a registry setting on the desktop that is connected to the target device can be used to turn on additional debug information.
    To enable this, set the following value in the registry of the desktop computer that is running Platform Builder:

    [HKEY_CURRENT_USER\Pegasus\Zones]
       "FileSys" = dword:20
    

    This debug zone indicates that information about the file system boot sequence should be added to the debug output collected by Platform Builder. This information is useful especially when debugging the causes of hangs during boot.

See Also

Tasks

Implementing the Hive-Based Registry

Concepts

Hive-Based Registry
Data Persistence with the Hive-Based Registry