2

Windows 10 introduced support for upgrades when user profiles are NOT in the system C: drive.

It's also possible to mount a partition on an empty directory, though that hides the disk usage in "This PC" it'd have the advantage that there's no drive letter or repetitive registry entries per user like you would have moving folders like Documents & Downloads individually, also it works for MS logins where visitors are invited onto the PC.

Is there some Windows gotcha to simply mounting a whole dedicated partition with all the C:\users data stored in it, like you'ld do in Linux/UNIX?

Reasons to want to do this, include using 2 disks instead of one, so programs can be read on one device, whilst a different one is fetching/saving user data. It'd make backups simpler as C:\users is a data partition, whereas most of C: is about system recovery handled well by images & restore points. Finally a bad reason is that UNIX version 6 supported this in the 70's, so in 2019 I feel like an OS ought support this.

Surprised not to find hits for overlaying a directory in Superuser or Google, just a load of recommendations about clumsy moving of directories manually per user.

I can experiment on a sacrificial machine but perhaps others have been brave enough to try this out.

Rob11311
  • 141
  • 4
  • Since I asked I found articles about Win8 users who did the wholesale move of Users but MS did not support any OS upgrades on such systems. Their documentation stated it was "only for use in test environments". While MS may support such in theory and it's possible to backup the folders and transfer all the data offline, the lack of interest and past poor experience makes moving the data folders individually for every new user the common practice. – Rob11311 Mar 26 '23 at 09:43
  • When you move default folders, some programs don't handle Documents being moved out of the C:\Users\ folder, if you try and fix it up using a shortcut they fail in bad ways needing to be killed by TaskManager. This mess is something MicroSloth should have cleaned up when designing WinNT. You can mount a partition of a folder AND have a drive letter for it, but unfortunately the designers stuck with the DEC VMSey way of referring to disks, so the namespace gets polluted and applications need to be coded to use the correct environment variables. – Rob11311 Mar 30 '23 at 08:41
  • The answer to moving pre-installed MS Office to another partition gives the way to make a junction, which may be a safer way of moving an individual user's data. Cmd mklink /J "C:\Program Files (x86)\Microsoft Office" "D:\Microsoft Office" See https://superuser.com/questions/1057696/moving-pre-installed-ms-office-to-another-drive – Rob11311 Mar 30 '23 at 08:49
  • Unfortunately I cannot get the junction to work, just "Access Denied" despite having Admin privilege in the command processor with "Run As" – Rob11311 Mar 30 '23 at 09:06

1 Answers1

2

CAUTION!!!

I have performed the process described below only once (successfully). I know 2 man who did it successfully too. But I'm not sure - so I'd recommend to create full OS backup before.


  1. Create file moveuserprofiles.xml:
<?xml version="1.0" encoding="utf-8"?>    
<unattend xmlns="urn:schemas-microsoft-com:unattend">    
<settings pass="oobeSystem">    
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    
<FolderLocations>    
<ProfilesDirectory>D:\Users</ProfilesDirectory>    
</FolderLocations>    
</component>    
</settings>    
</unattend>

Edit processorArchitecture="x86", if your OS is 32-bit, and ProfilesDirectory for proper value.

Store this file in the root folder of any drive (for example, D:).

  1. Start CMD.EXE

    2.1. Execute sc stop wmpnetworksvc.

    2.2. Execute sc query wmpnetworksvc a lot of times until the output shows STATE : 1 STOPPED.

    2.3. Execute %windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:d:\moveuserprofiles.xml. Wait until reboot.

  2. You will see the parameters window of the OS installation process. Continue installation process.

After the installation finished you will see that the Users forder is now moved to the drive you need.

Akina
  • 3,195
  • 1
  • 8
  • 9
  • Could you please explain why I need to do that? If I have booted from CD/DVD or another OS, can't I mount the partition on a new empty C:\Users and then restart AFTER having copied the data with the W10 C:\ drive offline? I don't want Windows to know anything about a drive D: – Rob11311 May 15 '19 at 19:43
  • *If I have booted from CD/DVD or another OS* The described method does not use booting from CD/DVD or other OS. – Akina May 16 '19 at 04:31
  • OK, so I've had another look at this one and I see you can mount folders to places and add drive letters to access the disk partition in another way. So I think you're using ssysprep to reboot, I saw similar on MicroSloth's site somewhere; the thing that confuses me is they talk about installation time, when normally it takes people a while to realise what a mess C:\ is and want to move C:\Users to somewhere else. If you move the folders via location in the traditional way, that still leaves you the hidden AppData which often contains the most gratuitous offences by applications within. – Rob11311 Mar 30 '23 at 08:33