The simplest way on an existing installation is to move the entire folder over offline (ie, bartpe or similar), keeping permissions, and then create a junction point from the old to the new. You don't even have to worry about changing anything's referenced drive letters. From a clean install, you need to use setup.exe's /unattend with an xml answer file. You can make a basic one with the AIK (Automated Installation Kit), and the location to change is Microsoft-Windows-Shell-Setup\FolderLocations, ProfilesDirectory=D:\whatever. (As in this blog.) If you don't want to download 1.5gigs just for that, here's a sample xml: <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="x86"> <FolderLocations> <ProfilesDirectory>D:\Users</ProfilesDirectory> </FolderLocations> </component> </settings> </unattend>