Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

After building a new computer, I'd like to copy the contents of my old Windows XP box's harddrive to have access to any important data on it that I might not be thinking of right now.

But when I connect the old harddrive to the new Windows 7 box, the NTFS access permissions prevent me from copying its contents. I tried giving ownership and full permissions to my new user account and have this inherited for everything, but that fails with a "permission denied" error. I can take ownership of individual files and directories and assign permissions, but having them inherited does not work, so it's been a painfully slow, repetitive task to even extract a handful of important files.

Isn't there any way to get access to the entire drive at once, given that I have administrator rights on this box? Read-only would be sufficient.

share|improve this question
up vote 7 down vote accepted

Use subinacl from Microsoft TechNet to recursively take ownership if the GUI cannot recursively take ownership for you. (run it in an elevated command prompt).

When you are the owner, just recursively give yourself full control.

You can also use subinacl to substitute your old user SIDs by the new ones in your reinstalled system. Then you won't have full control, but the same control as before.

share|improve this answer
That did it! Thanks! – Michael Borgwardt Jun 26 '10 at 14:16

Fastest way, IMHO, is just to boot up from a *nix live CD that supports NTFS (or just install it), then copy from there. IIRC, most NTFS implementations ignore permissions, simply because they're different from the way *nix permissions are assigned.

share|improve this answer
Good idea, but I'm a bit wary of using the Linux NTFS driver for writing that intensively. – Michael Borgwardt Jun 26 '10 at 14:16

The built-in command, icacls, can also be used.

share|improve this answer

You must log in to answer this question.

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