Troubleshooting the Hive-based Registry

Possible problems include the following:

  • 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 it hangs soon after boot. The following list shows possible causes and solutions:

    • The Device Manager never started.

      Set Start DevMgr = 1. See the description of registry settings in the setup instructions.

    • The Device Manager started but the necessary file system did not.

      Be sure all registry entries for that 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 boot phase.

    • 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 configuration 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 entry in your configuration.

    • Some block drivers and file system drivers will poll during their initialization, using IsAPIReady, 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 which should not be started twice have the proper Flags settings stating they should be started in the first boot phase only. See the driver registry settings described in the setup instructions.

  • The device boots but occasionally registry data is lost when the device is powered 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 KITL transport, a registry setting on the desktop that is connected to the 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

Hive-based Registry | Hive-based Registry Setup | Persisting Data with the Hive-based Registry | Upgrading the Hive-based Registry

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.