标题: 手工重建Win7中的"C:\Documents and Settings" https://scz.617.cn/windows/201609261438.txt 说一下背景。 硬盘坏了,但OS还能启动。为了止损,新买了硬盘。不想重装OS,打补丁很费劲。这 还是小事,各种应用的细节化配置太多,老系统已经用顺手了。没有用dd,因为旧盘、 新盘不是一般大小,分区大小也不一样,后者扩容了。 我用TK当年用过的歪招,让原系统盘以数据盘形式出场,在旧盘、新盘之间进行最简 单不过的文件复制,以此完成系统迁移。 说起来蛮简单的,可以在WinPE环境中操作。2008年我这样迁移过一台IBM-T43上的XP, 原系统不涉及MBR/PBR的小动作,当时只是简单复制完成迁移。这次是Win7,激活破 解涉及到PBR,文件复制就不够了,必须设法修改新盘上的PBR。如果你的原系统不涉 及MBR/PBR的小动作,理论上文件复制足矣;即使这样,也有一个小坑需要注意,比 如MBR模式的盘(相比GPT模式的盘)需要指明活动分区,你得确认"活动"标志已经就位。 上面只是背景,本文正题是下面这些内容。 在WinPE中你会发现有些目录拷不动,比如: C:\Documents and Settings C:\Users\All Users C:\Users\Default User 最终新盘上没这三个文件夹,系统仍然正常运转中。但不能这样善罢甘休。 Win7中,上述第1、3项是两个"junction point",第2项是"symbolic link"。它们只 是为了一些向后兼容性而出现的,所以即使没有它们,迁移后的系统仍然正常运转。 关于"junction point"、"symbolic link",你可能听说过,但有90%的可能你被不精 准的术语误导过,我有篇简介澄清过一些混乱不堪的术语: 《shortcut/hard link/junction point/symbolic link简介》 https://scz.617.cn/windows/201510151343.txt 前面说了,在WinPE中你拷不动前述三项,但它们真正对应的目标可以正常拷贝。那 么理论上可以在迁移后的Win7系统中手工恢复这三个文件夹: mklink /J "C:\Documents and Settings" C:\Users mklink /D "C:\Users\All Users" C:\ProgramData mklink /J "C:\Users\Default User" C:\Users\Default cacls.exe "C:\Documents and Settings" /S:"D:PAI(D;;CC;;;WD)(A;;0x1200a9;;;WD)(A;;FA;;;SY)(A;;FA;;;BA)" cacls.exe "C:\Users\All Users" /S:"D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICIIO;GA;;;CO)(A;OICI;0x1200a9;;;BU)(A;CI;DCLCRPCR;;;BU)" cacls.exe "C:\Users\Default User" /S:"D:PAI(D;;CC;;;WD)(A;;0x1200a9;;;WD)(A;;FA;;;SY)(A;;FA;;;BA)" 这些DACLs采集自正常安装的Win7系统。