我在虚拟机上运行 Windows 10 Pro(版本 1607,7 月在 MSDN 上发布),并且在该机器上有多个分区。
对于部署,我使用这个应答文件。这个应答文件由 Windows 系统映像管理器验证。
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<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">
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
</component>
</settings>
<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>U:\</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:e:/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</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>U:\</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
我 100%确定U:\
目录在那里,并尝试更改目录分隔符,并尝试将其更改为U:\Profiles
。
每当我使用以下命令对此机器进行系统准备时:
sysprep.exe /generalize /oobe /unattend:unattend:xml
我在安装设备的 Windows 徽标上收到以下错误消息。
我也尝试将我的机器更新到最新版本。请注意,我的 Windows 尚未激活。
我该如何解决这个问题?
答案1
我怀疑这种情况很可能是因为这个/generalize
选择而发生的。
Sysprep 的主要作用是为克隆 Windows 做准备。为此,它会从注册表中删除所有系统特定信息(包括驱动器号分配),并在重启后调用 Windows 安装程序。
Windows 安装程序不会对它“唤醒”的机器做任何假设。它知道哪个驱动器是 C: 的唯一原因是因为 BCD 存储告诉了它。例如,可能会弄乱 BCD 存储并将 Windows 安装到 E: 而不是 C:。由于没有关于系统的其他信息,安装程序将开始设备检测,并按照找到分区的顺序分配驱动器号。如果您的 U: 驱动器是第一个硬盘上的第 4 个分区,则可能会为其分配字母 F:,而不是 U:(哈哈,我只是说 F: U:)。
如果您不使用该/generalize
选项,则 Sysprep 将不会处理您的应答文件(即您的设置所在的位置)的<Generalize>
或部分。因此您会发现您在这里陷入了困境。<Specialize>
CopyProfile
尝试以下操作:
将ProfilesDirectory
设置放回您的应答文件中,然后使用该/generalize
选项重新运行 Sysprep。一旦出错,请查看该\Windows\Panther\setuperr.log
文件(或其中的某个子目录 - 您可能会看到几个,因此请查找上面有今天日期的文件)。在该文件中,Windows 安装程序应该会向您提供该过程失败的确切原因(即哪个特定步骤和设置导致了错误,以及它遇到了什么问题)。
笔记微软极力反对使用此参数。他们警告说,更改其默认设置将阻止升级,并阻止 Windows Store 应用正常运行。它基本上不受支持根据他们自己的功能文档