Windows 7 Partitioning – How to Move ProgramData Folder to Another Partition

partitioningwindows 7

I have a Windows 7 system which contains a ProgramData folder on drive C.

I now need to completely move this folder from drive C to drive D.

What is the best way to do this?

Best Answer

The system drive can't be D; it has to be C.  You can move data from one HD to another or move data from one partition to another.

You need to use clone software to do this.

However if you want to move or change ProgramData,

There is nothing important in ProgramData that would not be recreated by the various applications you install. It is just application configuration data.

The default path is C:\ProgramData.  It is stored here:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProgramData


  1. You can change your default ProgramData path to be an alternative drive. Although doing so, all new users that are created will use the new programdata path. So you may end up having two ProgramData folders at the end of the data.
  2. Alternatively, you could use “NTFS Junction Points”. Not many people know of this, but a junction point is a way to force all programs that write to path (C:\ProgramData) to be redirected to (D:\ProgramData). This is how old programs designed for XP can easily work with Vista and Windows 7 new folder locations (Documents and settings replaced with Users).

    So you could create a junction point specifically for the tmp directory that is created by the GR.

    mkdir D:\ProgramData
    robocopy /XJ /MIR "C:\ProgramData" "D:\ProgramData"
    mklink /J "C:\ProgramData" "D:\ProgramData"

The downside is that Windows Update does not work well with program data on a separate drive. See Relocation of the Users directory and the ProgramData directory to a drive other than the drive that contains the Windows directory.


Related Question