Files are not exchanged when Windows Server 2003 restarts if you use the MoveFileEx function to schedule a replacement for some files

Article ID: 948601 - View products that this article applies to.
Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows XP and Windows Vista
Expand all | Collapse all

SYMPTOMS

Consider the following scenario. On a Windows Server 2003-based computer, you use the MoveFileEx function to schedule a replacement for some files. However, the files are not exchanged when Windows Server 2003 restarts if the following conditions are true:
  • The System volume is a basic volume.
  • The destination drive or the source drive is located on a dynamic volume.
Note This issue also occurs in Windows XP.

CAUSE

This issue occurs because the Session Manager (Smss.exe) processes the PendingFileRenameOperations value as the system restarts. In some rare conditions, when the Session Manager processes the PendingFileRenameOperations value, the drives are not available to the system. The drives are not available because the volumes are not mounted at that time. Therefore, processing the PendingFileRenameOperations value fails, and an error is not reported. The reason that the mounting process is not completed during the restart is that the system drive is a basic volume. Therefore, loading the driver for the dynamic volumes may be delayed because loading the driver is not required during the restart.

Note The PendingFileRenameOperations value is only supported on a basic volume or on a dynamic volume.

WORKAROUND

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To work around this issue, change the start type of the DMBoot driver to "Boot (0)." The driver resets the startup type value to "4," as described in the following Microsoft Knowledge Base article:
908371 A Windows Server 2003-based computer may use a paging file on a system disk instead of the intended non-local paging file
To change the startup type value to "0" for the DMBoot driver, follow these steps:
  1. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\dmboot
  2. In the details pane, double-click Start, and then type 0.

STATUS

This behavior is by design.

Properties

Article ID: 948601 - Last Review: February 29, 2008 - Revision: 1.1
APPLIES TO
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
Keywords: 
kbtshoot kbexpertiseinter kbexpertiseadvanced kbprb KB948601

Give Feedback