1

I was trying to move my "Users" folder in Windows 8 as described here and here.

But when I try to copy the folder using "xcopy" in Windows Installation Disk Repair Mode, after some files are copied, I get "insufficient memory". The files on which the error is given are like C:\Users\Bilal\Application Data\Application Data\Application Data.........Application Data\Application Data.....

What is the point in such directories within directories?

I also tried copying them using Mini Windows XP, but the problem was there too.. Also tried copying using Parted Magic Live CD... but still..

So now, how can I move them? Another Question. Is moving such/ system files using Linux a good idea? Does it do anything to permissions?

2
  • I have seen other questions before (with a German installation) - they hard to reformat as this is not the desired behavior.
    – Dave
    Dec 13, 2012 at 15:45
  • 1
    Sounds more like there's a symbolic (or hard?) link to the parent directory...which yields !!!FUN!!!...if you get my drift.
    – Bobby
    Dec 13, 2012 at 15:57

2 Answers 2

4

This issue is caused by backward compatibility of Windows Vista and later. In those systems some folders that had "known" names in Windows XP are mapped to the new locations using NTFS Directory Junction Points.

An example of such mappnig is: \Documents and Settings\<username>\Application Data being mapped to \Users\<username>\AppData\Roaming.

Usually this mechanism should be transparent, but unfortunately on your volume something went wrong and created a recursive junction.

In order to copy your data you have to use a program that understands NTFS Directory Junction Points and can skip them while copying, one of such programs is Microsoft Robocopy.

The parameter you're interested in is /XJ :: eXclude Junction points. (normally included by default). or /XJD :: eXclude Junction points for Directories. if you want to be more granular and only skip directory junctions.

To answer your second question, reading NTFS under Linux is a pretty safe operation. Preserving NTFS ACLs on the other hand is not trivial.

3
  • thanks, I was about to try robocopy, though I didnt know the problem and whether robocopy can handle it or not. Wouldn't excluding junction points cause problems? What if windows were expecting some? Dec 13, 2012 at 16:20
  • It's hard to tell whether lack of junction points will be a problem in your profile since I don't know anything about the software you use. You can inspect the current junctions by issuing dir /A:L /S in your profile directory and then recreate them in the destination location using mklink /J.
    – mprill
    Dec 13, 2012 at 16:26
  • great help.. thankyou @mprill :) Dec 13, 2012 at 18:00
1

The thing that actually worked was xcopy /b switch. Although robocopy /xj did exclude junctions,, but caused problems with Metro Apps.

I found robocopy /xj = EXCLUDE LINKS while xcopy /b = COPY LINK ITSELF instead of copying target

Now I don't know what caused problems with Metro Apps, issues with permissions or excluding links altogether. But xcopy /b /e /k /o /h was the final solution. :)

1
  • Could you explain what happened with regard to metro apps? Professionally I'm trying to ignore the fact that they exist, but this isn't a viable long term strategy. In the App model, user data "shouldn't" need to be stored and ported from one machine to another, it should presumably sync data and settings from a central source.
    – blaughw
    Jan 29, 2015 at 15:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .