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.

3 Answers 3


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.


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.

  • Good idea, but I'm a bit wary of using the Linux NTFS driver for writing that intensively. Jun 26, 2010 at 14:16

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


You must log in to answer this question.

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