我尝试了很多次在一台电脑上构建参考 Windows 安装,包括用户自定义和已安装的软件,然后将其部署到另一台具有不同硬件的电脑上。事实证明,这项任务比我想象的要繁琐和麻烦得多。
我一直使用 来sysgrep
准备将参考计算机安装在新计算机上。这“有效”,但似乎会删除所有用户配置文件并创建一个新的。任何用户自定义设置(例如UserData
文件夹、任务栏设置等)都将丢失。我也想保留这些。我确实设法使用参考计算机 Windows 映像和已安装的软件启动并运行新计算机。但是,所有以 存储设置的软件(UserData
基本上大多数)都需要重新配置。例如,我安装了 Mozilla Firefox 并设置了一个自定义主页进行测试,在 sysgrep 之后,由于UserData
重新创建文件夹,这些数据会丢失。我已经使用了一个unattend.xml
文件和/unattend
sysgrep 中的设置,但似乎不起作用。但是,unattend.xml 配置文件肯定正在被读取,因为起初我在 XML 中有一些不正确的属性,因此它给出了错误。
以下是我尝试过的步骤,也许有人可以帮忙,因为我真的迷茫了:
- 首先,我在参考计算机上安装了全新的 Windows 8.1。我
Audit
使用 进入模式CTRL + SHIFT + F3
,如http://technet.microsoft.com/en-us/library/hh825135.aspx。这是因为它说您只需要 1 个管理员帐户即可CopyProfile
工作。 - 为了测试目的,我做了这些定制——将任务栏图标设置为小——安装 Mozilla Firefox 并设置自定义主页
- 使用参数运行 sysgrep
/generalize /oobe /unattend:c:\copyprofile.xml
(下面复制的 xml 文件) - 重启同一台计算机,进入用户自定义 (OOBE) 流程。填写详细信息后,Windows 启动 - Firefox 仍安装,但用户数据/任务栏自定义设置丢失。自定义主页设置已删除,Firefox 重置为默认设置。
复制配置文件
<?xml version="1.0" ?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component language="neutral" name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<computername>Win8Test</computername>
<timezone>Eastern Standard Time</timezone>
<copyprofile>true</copyprofile>
<disableautodaylighttimeset>false</disableautodaylighttimeset>
<donotcleantaskbar>true</donotcleantaskbar>
<showwindowslive>false</showwindowslive>
</component>
</settings>
</unattend>
我将非常感激任何能帮助我实现这个目标的帮助。
答案1
这个问题终于解决了。这个问题只是大小写问题。我使用 Visual Studio 格式化了 xml 文档以获得正确的缩进,但没有注意到它从 更改为<CopyProfile>
。<copyprofile>
然后我根据另一个示例文件更新了大小写,它成功了。工作过程unattend.xml
复制如下:
<?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.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<RegisteredOrganization>XXXXXXXXX</RegisteredOrganization>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<RegisteredOrganization>XXXXXXXXX</RegisteredOrganization>
</component>
</settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<UseConfigurationSet>true</UseConfigurationSet>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/tech/desktop/install.wim#Windows 8 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
请注意,offlineImage
实际上似乎不需要匹配实际文件。我不知道为什么需要这样做。