ERROR_DRIVER_FAILED_PRIOR_UNLOAD - 654 (0x28E)

The driver could not be loaded because a previous version of the driver is still in memory.

Updated: Feb 21, 2026

Technical Background

The ERROR_DRIVER_FAILED_PRIOR_UNLOAD error code indicates a failure in the Windows operating system when attempting to load a driver. Specifically, this error occurs because a previous version of the same driver is still loaded into memory and has not been properly unloaded.

Error Details

Numeric Code: 654 (0x28E)

This error code is returned by the operating system when it encounters an issue related to the unloading process of a driver. The presence of a previous version of the same driver in memory prevents the new version from being loaded.

Common Causes

  • Incorrect Driver Unloading: The previous version of the driver did not complete its unload operation properly, leaving residual components or resources in memory.
  • Driver Version Conflicts: Attempting to load a newer version of a driver that is incompatible with the current system state due to an unclean shutdown or failure to unload the old version.

Real-World Context

This error typically occurs during system startup, device initialization, or when attempting to update or replace a driver. It can also appear in scenarios where the operating system detects inconsistencies between the loaded drivers and the expected state of the system.

Is This Error Critical?

Yes, this error can prevent critical system components from functioning correctly. If not resolved, it may lead to system instability or failure to start certain devices properly.

How to Diagnose

Reviewing Operation Context

  • Check the system event logs for any related events that might indicate why the previous driver version failed to unload.
  • Verify the device manager and ensure there are no conflicting drivers installed.

Validating Parameters

  • Ensure that all parameters passed during the driver loading process are correct and valid.
  • Confirm that the driver is compatible with the current system state.

Confirming Object Types

  • Validate that the driver being loaded is of the expected type (e.g., kernel-mode or user-mode).
  • Check for any residual objects or resources left by the previous version of the driver.

How to Resolve

Correct Parameter Usage

  • Ensure all parameters used in the driver loading process are correct and up-to-date.
  • Use appropriate flags or options when loading drivers to ensure proper initialization.

Adjust Operation Context

  • Restart the system to clear any residual state that might be causing issues with driver unloading.
  • Manually unload the previous version of the driver using device manager tools if necessary.

Restore Data

  • If data corruption is suspected, perform a system restore or use backup files to recover from a known good state.

Retry Operation with Valid Inputs

  • Attempt to load the driver again after ensuring all prerequisites are met and no residual issues remain.

Developer Notes

  • Ensure that drivers implement proper unload routines to avoid leaving resources in memory.
  • Use appropriate error handling mechanisms during driver development to manage unloading scenarios gracefully.

Related Errors

FAQ

Q: What does the ERROR_DRIVER_FAILED_PRIOR_UNLOAD error mean?

A: This error indicates that a previous version of a driver is still loaded in memory, preventing the new version from being loaded.

Q: How can I resolve this issue?

A: Restart the system and ensure all drivers are properly unloaded before attempting to load a new version. Use device manager tools if necessary to manually unload old versions.

Q: Can this error affect system stability?

A: Yes, it can prevent critical components from functioning correctly and may lead to system instability or failure to start certain devices.

Summary

The ERROR_DRIVER_FAILED_PRIOR_UNLOAD error code is a specific technical issue related to driver management in the Windows operating system. It occurs when a previous version of a driver fails to unload properly, preventing the new version from being loaded. This can lead to system instability and device initialization failures. Proper diagnosis involves reviewing system logs, validating parameters, and ensuring correct operation context. Resolving this error typically requires restarting the system or manually unloading conflicting drivers.