![安装时移动 Windows 10 中的 ProgramData 目录](https://linux22.com/image/1483415/%E5%AE%89%E8%A3%85%E6%97%B6%E7%A7%BB%E5%8A%A8%20Windows%2010%20%E4%B8%AD%E7%9A%84%20ProgramData%20%E7%9B%AE%E5%BD%95.png)
正如本指南中详细说明的那样:http://www.tenforums.com/tutorials/1964-users-folder-move-location-windows-10-a.html,我已将我的用户目录从默认目录移至C:\Users
。D:\Users
我使用了这个答案文件,将其保存为 relocate.xml:
<xml version="1.0" encoding="utf-8"\>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FolderLocations>
<ProfilesDirectory>D:\Users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:X:\sources\install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
但我认为我也需要移动 ProgramData。因此,我在 relocate.xml 中添加了以下内容:
<ProgramData>D:\ProgramData</ProgramData>
在第 7 行。
当我执行这个命令时:
%windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:Y:\relocate.xml
它运行 Sysprep,但在要求我输入设置后,系统似乎陷入了循环。与我使用指南中的原始 relocate.xml 不同,它会完成并将我登录到新帐户。
关于重新定位 ProgramData 目录的常规搜索似乎没有找到任何指南。那么为什么没有直接的方法来重新定位 ProgramData?
答案1
我发现了同样的问题,即使它被记录为有效参数,但似乎并非如此。
不过,有一个解决方法。您可以将整个文件夹 (programdata) 复制到新目标(我将使用 winpe 启动并使用 robocopy 来保留所有内容完全相同的内容)
就像是
robocopy "C:\ProgramData" "D:\ProgramData" /E /ZB /DCOPY:T /COPYALL /R:1 /W:1 /V /TEE
之后,您可以删除 programdata 文件夹并在其中添加连接
mklink /j "C:\ProgramData" "D:\ProgramData"
请记住,这在某些情况下无法起作用,我会首先在全新安装或虚拟机上尝试。
答案2
由于在 Google 上搜索有关无人值守应答文件的信息时这个问题排名很高,所以我决定添加另一个回复,尽管这个问题已经很老了。
这无人值守应答文件的官方文档明确指出:
程序数据-指定程序数据文件夹的路径。
警告仅在测试环境中使用此设置。如果将程序数据文件夹的默认位置更改为系统卷以外的卷,则无法维护映像。任何更新、修复或服务包都可能无法应用于安装。
因此,我假设(即使我没有测试过)您在安装过程中尝试安装所有最新更新时陷入了启动循环,而该更新不断失败并且 Windows 不断重试。
由于这是已知且有记录的行为,因此唯一的解决方案是通过其他方式重新定位文件夹(请参阅@Varacolaci 的回复以获取示例)或将其保留在默认位置。