我正在手动备份安装了 XP 的硬盘上的数据,因为我怀疑该硬盘出现故障。我想复制文件,但我不想要更改原始驱动器的所有者(或任何权限),以便能够这样做。有什么方法可以做到这一点?
答案1
事实证明Robocopy可以非常轻松地完成此操作。只需/B
在命令行中包含选项,即可在备份模式下复制文件。这需要您以管理员身份运行。
我的命令行:
robocopy /MIR /B "E:\Documents and Settings" "C:\DeadDriveBackup\Documents and Settings"
答案2
给出的答案对我没有用;这个有用。
Robocopy 有一个/COPY
参数用于指定要复制文件的哪些部分。可供复制的是d阿塔,A属性,吨时间戳,s安全信息 (NTFS ACL),o所有权信息,以及你信息。如果您希望将一个目录中的所有内容完美地复制到另一个目录中,请使用以下命令:
robocopy /E /B /COPYALL "C:\One" "C:\Two"
我们来分析一下:
/E
复制所有文件,包括空目录。其工作原理类似于/MIR
,但是不会删除目标中的任何内容。/B
以“备份模式”复制,授予 Robocopy 覆盖 ACL(文件权限)的权限。/COPYALL
是 的别名/COPY:DATSOU
,它复制所有文件数据,包括文件所有权和权限(ACL)数据。
您正在复制用户资料吗?
我曾经这样做过,但还有一些额外的注意事项。默认的 Windows 用户配置文件包含目录连接循环,而 Robocopy 无法配置为创建新的连接而不是遵循它们。上述 Robocopy 命令将失败并创建难以删除的目录树,因此请使用此命令来排除连接。
robocopy /E /B /COPYALL /XJ "C:\One" "C:\Two"
为了兼容性,您可能应该在用户配置文件中重新创建默认目录连接:
mklink /J "Application Data" "AppData\Roaming"
mklink /J "Cookies" "AppData\Local\Microsoft\Windows\INetCookies"
mklink /J "Local Settings" "AppData\Local"
mklink /J "My Documents" "Documents"
mklink /J "NetHood" "AppData\Roaming\Microsoft\Windows\Network Shortcuts"
mklink /J "PrintHood" "AppData\Roaming\Microsoft\Windows\Printer Shortcuts"
mklink /J "Recent" "AppData\Roaming\Microsoft\Windows\Recent"
mklink /J "SendTo" "AppData\Roaming\Microsoft\Windows\SendTo"
mklink /J "Start Menu" "AppData\Roaming\Microsoft\Windows\Start Menu"
mklink /J "Templates" "AppData\Roaming\Microsoft\Windows\Templates"
attrib /L +S +H +I "Application Data"
attrib /L +S +H +I "Cookies"
attrib /L +S +H +I "Local Settings"
attrib /L +S +H +I "My Documents"
attrib /L +S +H +I "NetHood"
attrib /L +S +H +I "PrintHood"
attrib /L +S +H +I "Recent"
attrib /L +S +H +I "SendTo"
attrib /L +S +H +I "Start Menu"
attrib /L +S +H +I "Templates"
答案3
我会启动一个 Live CD,就像Parted Magic并使用类似GNU 救援对驱动器进行映像处理。
如果您确实只想要其中一些文件,您可以随时复制您想要的文件 - 默认情况下,NTFS 分区应该以只读方式安装,因此不可能意外更改任何内容。