Don't move your Windows user profiles folder to another drive

Don't move your Windows user profiles folder to another drive

Summary: If you're a Windows power user, you probably have a collection of favorite tweaks to make the OS run faster and work better. If one of those tips involves moving the default user profiles folder, you're setting yourself up for heartache, as several Windows 8.1 upgraders have found out the hard way.

TOPICS: Windows, Windows 8

Windows enthusiasts just love to tweak their systems.

Through the years, the Windows community has built up an impressive body of tips and tricks designed to squeeze extra performance out of a stock installation of Windows. Unfortunately, some of those tweak have unintended consequences.

This week, as I was corresponding with early adopters of Windows 8.1, I ran into a perfect example of a tweak you shouldn't make. A reader posted this comment in the Talkback section of another post and, for good measure, emailed it to me as well:

What about this error?

"Sorry, it looks like this PC can't run Windows 8.1. This might be because the Users or Program Files folder is being redirected to another partition."

This affects a large number of desktop users with SSD system disks. If you have moved your Users folder to a secondary drive to conserve precious SSD disk space, Windows 8.1 will refuse to install.

This just seems like continuing evidence that desktop users (and open architecture) are an afterthought at Microsoft. Maybe, I read the wrong articles. Maybe, I believed the hype. Or maybe, it was just wishful thinking, but I thought that we were the users that Microsoft intended to accommodate with this new release.

I heard the same complaint from several other upgraders on Twitter who had experienced similar issues. And my response to all of them was the same: This is an unsupported configuration, and if you try it, you're just asking for trouble.

There is a supported way to move data folders off your system drive. You can relocate all the user-accessible folders from an individual user profile (Documents, Downloads, Music, Pictures, and so on), using a fully supported mechanism that I've previously documented. (See Windows 7 and SSDs: Cutting your system drive down to size.)  You can even script the process if you want to make it simpler. That option solves most of the problem of big data files chewing up space on a small system drive without introducing any compatibility problems.


But diehard tweakers aren't satisfied with solving 90 percent of the problem. Why not move the entire Users folder, including all the hidden subfolders within it? At least one Twitter follower insisted, in a lengthy back-and-forth, that this configuration should work just fine and is fully supported.

Unfortunately, Microsoft begs to differ. Quite vehemently, in fact. Their advice is firm and crystal-clear: Don't even try to relocate user profiles to another partition or disk on a production system running Windows.

Most of the people who have made this tweak did so by following instructions from a third-party website. The tweak involves using Microsoft's enterprise deployment tools, including Sysprep, to install Windows. An answer file (in XML format) specifies a custom location for the Users folder. The specific variable used in that XML file is ProfilesDirectory.

Perhaps a look at the official documentation for that parameter would be useful:


The ProfilesDirectory setting specifies the path to the user profile folder.

Use this setting to move the user profile folder (typically %SYSTEMDRIVE%\Users) to another location during Setup or Sysprep. The destination path can be on a volume other than the system drive...

This setting can be used to keep system data separate from user data. If Windows is re-installed on the system volume, a user with administrative rights can manually recover data from this location.

Well, that sounds promising, doesn't it?

But keep reading, because immediately following that straightforward documentation are two blocks labeled Important and Caution.


This setting should be used only in a test environment. By changing the default location of the user profile directories or program data folders to a volume other than the System volume, you will not be able to service your Windows installation. Any updates, fixes, or service packs will fail to be applied to the installation. Microsoft does not recommend that you change the location of the user profile directories or program data folders. [emphasis added]

"Only in a test environment" seems pretty straightforward to me. Don't try this on your production machines. Unfortunately, the third-party sites that recommend this tweak don't mention this caveat. In fact, they typically don't even link to the documentation.

And the next setting is even more explicit:


Using this setting to redirect folders to a drive other than the system volume blocks upgrades. Using ProfilesDirectory to point to a directory that is not the system volume will block SKU upgrades and upgrades to future versions of Windows. ... The servicing stack does not handle cross-volume transactions, and it blocks upgrades. [emphasis added]

Again, I'm not sure how this advice can be any more explicit. If you do this with a system running Windows 8.1, you won't be able to upgrade it to Windows 8.1 Pro. If you do it with Windows 7 Professional or Windows 8 Pro, you won't be able to upgrade to Windows 8.1, as my correspondent found out.

I thoroughly admire the resolve of Windows users who want to push the limits of the operating system. But with great power comes great responsibility. Including the responsibility to RTFM.

Topics: Windows, Windows 8

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • So sad......

    It's funny how you buy an OS and want to make it your own, customize it how you want BUT Mr. BIG MS won't let you do this or do that. I gave up windows for Linux almost 8 years ago and I can customize how I see fit. FOSS FTW
    • If you like FOSS so much...

      ... then why are you here?

      I have Ubuntu/Mint set up in dual boot with 8, and you don't see me invading Linux articles, do you?

      Nobody cares that you gave up Windows years ago, we don't need advertisements for some other OS on a Microsoft article.
      • There is valid critism of MS there

        Unfortunately it wasn't put in the most logically or informative manner. MS really do need to work on this issue of being able to completely separate user data from the root system and allow it to be stored in a separate partition. It would make Windows admin life so much easier and convenient if you could.
        Alan Smithie
        • The tools exist, use them

          Microsoft does Support separating the user Profile. Especially for admins.

          In fact, asking for supported ways instead of using them makes you look like a poor admin.
          • It should be there by design

            Not a slap on patch
            Alan Smithie
      • You and others

        miss the point. Microsoft OS is still in the "dark ages" of computing. Built on a bad base to begin with and the major rewrite to bring it into the 21st century would result in incompatibilities. So MS is stuck with a "sows ear" (referring to the kernel). The core of "nix" systems was originally done in a different environment, not as something that a "hobbyist" would have done as the case with the "DOS" that became the kernel for Windows.

        The point is a "modern system" should not have this type of problem. Of course, Ed would not have written this article if that was the case.
        • Windows is not built on DOS

          You are 12 years late for that, dude. Or 20 if you consider the NT line (as you should).
        • Windows built on DOS? Really?

          Wow, you're showing your ignorance. Windows 7/8 are all derivatives of Dave Cutlers original Windows NT kernel. Dave was one of the original designers of VMS (DEC VAX System) who took his knowledge to MS where he continues to this day. There's hasn't been any DOS under the covers of Windows for many many years. Perhaps you're confusing the CMD.EXE interface with DOS?
  • a few things missing

    First, do you really want to create a rant against unofficially-documented modifications? Aren't the people that would be motivated to try these the same ones that would be likely to read your article?
    Second, not crediting your source seems an unfortunate oversight since your article is based on that person's observation -- though it is somewhat understandable given how you choose to mock that person.
    Finally, if you had considered how to be actually helpful with this article, you might have endeavored to point those affected to a solution, such as backing up their documents and settings, then doing a clean install and upgrade to 8.1.
    I wasn't affected by this problem myself, but if I were I would be ticked.
    • The correct solution

      The correct solution is DON'T DO THIS. Anyone who actually uses deployment tools in their day job knows this, often from painful experience.

      This is an unsupported configuration. There's no supported way to recover from it short of doing a clean install.

      And I'm not mocking anyone. I am dead serious about not mucking around with registry hacks or professional-grade deployment tools without reading the documentation. And if things go wrong with unsupported hacks, well, that's a learning experience.
      Ed Bott
      • correct solution

        The correct solution will be for windows to do this kind of stuff by default (let you choose where you want user folders to be) .... but this is not the only stupid thing in Windows .... the problem is only with updates because i always do a fresh install when moving to a new operating system .... it is crap anyway , from Microsoft stupid people
      • One has to ask

        Then, why is not the paragraph with "only do this on test installs" together with the advice (by Microsoft!) to use the variable to relocate the user profiles?

        Why all the apologies for Microsoft?

        If they have this variable defined, then their upgrade procedure should know where the profiles were moved and proceed accordingly. Or, whoever wrote that software chose to ignore Microsoft's own technology and designs? Typical...
        • "Why all the apologies for Microsoft?"

          thats what you get from microsoft apologists.

          there is no technical reason why you can't have profiles elsewhere other than dogma. if the location is configurable (if its not, it should be), it should be allowable especially during install.
      • Well...

        As others have said on this forum, the restriction appears completely illogical (Linux/Unix supports a similar configuration without a problem).

        Even if we accept this restriction is reasonable, Microsoft has taken a darn long time to tell you that something is wrong with your system. Even though you quote from the documentation stating "Any updates, fixes, or service packs will fail to be applied to the installation" I have successfully taken a year of updates from Microsoft without a problem. If Microsoft really didn't want people to try this out (again it is a logical thing to try if you have a SSD + HDD configuration), they should have indicated this the first time you hit Windows Update, not a year later.
        • Linux

          and other OSes don't support this configuration, because they don't have the problem in the first place, because they don't use drive letters.

          In fact, Linux does pretty much the same thing as MS's official solution. The /home directory is on the original volume, but a mountpoint is mapped to it.

          In Windows, the original directory (\users) stays on the system volume, but individual directories can be remapped to a data volume. It isn't as flexible, but you can still offload the bulk of the data to another volume with more space.
          • Re: but individual directories can be remapped to a data volume

            This is precisely what this article argues not to do on Windows.

            It's interesting that you posted (on another thread) that you upgraded two systems to Windows 8.1 without issues. Were those systems with relocated user's folders? If so, this evidence would contradict this article's claims and Microsoft's suggestions.

            A complicated situation, which other UNIX based OSes do not suffer from, perhaps because they, unlike Windows do support proper mount points and unified filesystem hierarchy.
          • I use standard

            configuration. I was pointing out that the official method is reminiscent of the way that Linux does it. It isn't identical, but the principal is similar, the directory stays on the 'root' partition, but what is underneath is mapped to another partition.

            With Windows you are limited to certain sub directories of each user that you can relocate - generally the ones that will be hundreds of gigabytes on size.
          • Re: I use standard

            It isn't in any way reminiscent of the way GNU/Linux does it. User directory locations are set on login, and the OS is entirely agnostic to that. You can set up your computer so that your home folder is on the other side of the world on some samba or nfs share if you are bored, or tunnels through hundreds of servers to end up on some floppy somewhere. With something like Gentoo, it is trivial even to disregard the FHS entirely, and applications that aren't compiled with hard coded locations support this out-of-the-box in any case.
          • Semantics

            You are arguing semantics here. Linux/Unix don't have Window's self-inflicted restrictions because they have a proper unified file system with mount points. The OS just doesn't care how I sort out the mount points. I can even load a user directory via NFS only when the user logs in. Why Microsoft should need to even touch the user directories on an OS update just utterly boggles the mind. It shows incredibly poor OS design...compared to the Unix/Linux based OSs (which pretty much encompasses everything else - note that Mac/iOS/Android are also BSD Unix/Linux based OSs).

            With Microsoft's massive R&D budget, it would have been nice if they could get "the basics" right...rather than adding a lot of the Metro fluff...which just gets in the way of getting anything useful done. Stupid restrictions like this makes me regret installing Windows at all.
          • They are probably

            replacing large chunks of the registry with new settings and the 'hack' would be overwritten and break the system.