Windows 10 桌面版的系统组装商部署
本指南演示了如何创建自定义 Windows 10 映像(供系统组装商用于部署到一系列设备),以及应用、驱动程序、语言和设置之类的自定义项。 我们展示了如何以联机和脱机方式创建自定义项, 并介绍了 64 位和 32 位 Windows 10 桌面版(家庭版、专业版、企业版和教育版)。
准备实验室环境
对于工作电脑(技术人员电脑):如果你计划仅部署 x64 设备,则可以使用 Windows 10 x86 或 x64 电脑。 但是,如果你计划部署 x86 设备,则需要一台 x86 电脑来执行某些步骤。
在开始部署过程之前,需下载将在整个指南中使用的工具包。 转到设备合作伙伴中心>“下载和安装”>“了解 ADK 和 OPK”。 若要了解将要使用的资源和工具包的列表以及获取它们的位置,请参阅所需内容和获取位置。
对于本指南,我们使用两个 USB 驱动器。 USB-A 将用于在 Windows 预安装环境 (WinPE) 中启动系统。 USB-B 将用于在计算机之间移动文件、存储部署和恢复脚本,以及存储和应用已创建的映像。 (还可以设置单个 USB 驱动器的格式,以同时存储 WinPE 和映像)。
USB 硬盘驱动器名称 | 格式 | 最小大小 |
---|---|---|
USB-A | FAT32 | 约 4GB |
USB-B | NTFS | ~16GB x86 ~32GB amd64 |
创建我的 USB-B
格式化 USB 驱动器并为其命名,如下所示:
然后从 Microsoft 下载中心下载 USB-B.zip。 将 .zip 文件保存到 USB-B 并在其中提取内容。 USB-B 中包含的配置文件内容是可根据所选品牌和厂商更改的示例。 但是,若要使你的部署过程与本指南一致,文件名以及文件夹和文件的层次结构必须相同,如下所示。
整个文档中的自定义项
通过 | 设置 | 操作 |
---|---|---|
WinPE | 安装程序 UI 语言 | EN-US |
用户数据 | ODR 的预安装产品密钥 - 在答案文件中 | |
专用化 | Internet Explorer 主页 | 定义 |
OEM 名称 | 在答案文件中定义 | |
OEM 徽标 | 在答案文件中定义 | |
建模 | 在答案文件中定义 | |
支持信息 | 在答案文件中定义 | |
OOBE 系统 | Reseal | 审核/OOBE |
StartTiles | SquarTiles/SquareOrDesktopTiles 设置为仅固定桌面应用 | |
TaskbarLinks(最多 6 个固定的 .lnk 文件) | 已设置画图和控制面板的快捷方式 | |
主题 | 已设置带 OEM 徽标的自定义主题作为桌面背景 | |
视觉效果 | SystemDefaultBackground 已设置 |
其他自定义项
产品部署
- Office 单映像 v16.5 OPK 已预加载
映像自定义
将语言界面包添加到 Windows
添加驱动程序和更新包
将特定于 OEM 的徽标和背景文件添加到 Windows
映像大小优化
将桌面应用程序固定到“开始”屏幕
创建可启动到 WinPE 的 USB 驱动器
必须对所要自定义的映像使用匹配的 Windows ADK 版本。 例如,如果要为 Windows 10 版本 1809 生成映像,请使用适用于 Windows 10 版本 1809 的 Windows ADK。 有关 Windows ADK 的更多详细信息,请参阅 Windows 10 ADK 文档主页。
请访问下载 Windows ADK 和 Windows PE 加载项以下载 ADK。
安装 Windows ADK,包括“部署工具”和“用户状态迁移工具 (USMT)”功能。
从同一页下载 ADK 的 Windows PE 加载项。
按 Windows 键显示“开始”菜单。 类型:
Deployment and Imaging Tools Environment
右键单击工具名称,然后单击“以管理员身份运行”。
可以通过 Windows ADK 创建 Windows 预安装环境。 请将基础 WinPE 复制到新文件夹。
如果你使用 x64 Windows 10 映像,请复制 x64 WinPE 文件夹结构:
Copype amd64 C:\winpe_amd64
如果你使用 x86 Windows 10 映像,请复制 x86 WinPE 文件夹结构:
Copype x86 C:\winpe_x86
可以根据需要在此处将包和/或驱动程序添加到 WinPE。 通常情况下,内置 WinPE 驱动程序已经足够。
连接一个至少为 4 GB 的 USB 驱动器。 设置其格式,如下图所示:
将插入的 USB 设置为新的 WinPE 可启动 USB。
如果使用 x64 Windows 10 映像,请创建 x64 WinPE USB:
MakeWinPEMedia /UFD C:\winpe_amd64 F:
如果使用 x86 Windows 10 映像,请创建 x86 WinPE USB:
MakeWinPEMedia /UFD C:\winpe_x86 F:
(其中 F: 是 USB 的驱动器号)
安装包含基本自定义项的 Windows
请使用 Microsoft 授权分销商提供的 Windows 10 x86/x64 DVD 介质。
请参阅面向系统组装商的 Windows 指南和面向系统组装商的 Windows 策略,了解如何在 unattend.xml 文件中定制自定义项。
从 Windows 10 介质中的目录复制要部署到本地桌面的
sources\Install.wim
文件(约 3 GB)。运行 Windows 系统映像管理器,从头开始创建应答文件。 可以通过此工具以简单且有序的方式创建或管理答案文件。
导航到“文件”>“选择 Windows 映像”。 浏览到本地桌面,选择“Install.wim”。 将为指定的 wim 创建一个目录文件 (.clg)。
故障排除:目录创建可能由于多种原因而失败。 请确保 install.wim 具有读/写权限。 如果继续出现错误,请确保在技术人员电脑上安装正确的 Windows 10 体系结构(x86 或 x64)。 如果要为 x64 Windows 10 映像创建目录,则必须使用安装在 x64 Windows 10 电脑上的 x64 Windows 10。 Install.wim 映像和 Windows 10 ADK 版本必须相同。
打开示例应答文件或创建新应答文件。
USB-B\AnswerFiles\Unattend.xml
是 USB-B 中包含的示例答案文件。单击“确定”,将答案文件与 Windows 映像关联。
若要将某个驱动程序添加到 Windows PE,请单击“插入”,选择“驱动程序路径”并选择“第 1 阶段 - windowsPE”,然后浏览到该驱动程序。 注意:此步骤是可选步骤,只有在需要在 Windows 预安装环境中使用第三方驱动程序时才是必需步骤。
若要添加包,请单击“插入”,选择“包”,然后浏览到要添加的包。 此步骤是可选的。
自定义答案文件
故障排除:“specialize | Microsoft-Windows-Shell-Setup | Computer Name”中的空白字符会导致 Windows 安装失败。
请查看
USB-B\AnswerFiles\Unattend.xml
,获取包含基本自定义项的答案文件的示例。 -可以使用示例答案文件并修改相关部分,也可以通过指定一些基本的自定义项来从头开始创建答案文件。
请查看并使用 Windows 10 默认产品密钥,该密钥列在设备合作伙伴中心的“默认产品密钥”选项卡下。
添加与 Windows 版本匹配的产品密钥。 此密钥不用于激活 Windows,因此可以重复使用同一密钥来完成多个安装:
- 在“答案文件”窗格中,选择“Components\1 windowsPE\amd64_Microsoft-Windows-Setup_neutral\UserData\ProductKey”。 在“ProductKey 属性”窗格的“设置”下,输入“密钥”旁边的值。
重要
这些产品密钥不能用于激活。 在安装过程中,需要键入软件产品密钥才能进行激活。 运行 sysprep generalize 时,这些密钥会被删除。 首次启动 Windows 10 时,最终用户需要键入真品证书 (COA) 标签中的唯一产品密钥。
添加支持信息:
在“答案文件”窗格中,选择“Components\4 specialize\amd64_Microsoft-Windows-Shell-Setup_neutral\OEMInformation”。
在“OEMInformation 属性”窗格的“设置”部分,更新以下值:公司名称(制造商)、小时数 (SupportHours)、电话号码 (SupportPhone) 和网站 (SupportURL)。
准备计算机以在 Windows 安装完成后启动到审核模式:
在“Windows 映像”窗格中,展开“组件”,右键单击“amd64_Microsoft-Windows-Deployment”,然后选择“将设置添加到第 7 阶段 - oobeSystem”。
在“答案文件”窗格中,选择“Components\7 oobeSystem\amd64_Microsoft-Windows-Deployment _neutral\Reseal”。
在“Reseal 属性”窗格的“设置”部分,添加以下值:Mode=Audit。
设置 Internet Explorer 主页:
在“Windows 映像”窗格中,右键单击“amd64_Microsoft-Windows-IE-InternetExplorer”,然后选择“将设置添加到第 4 阶段 - 专用化"。
在“答案文件”窗格中,选择“Components\4 specialize\amd64_Microsoft-Windows-Microsoft-Windows-IE-InternetExplorer_neutral”。
在“IE-InternetExplorer 属性”窗格的“设置”部分,选择“Home_page”,然后添加你的网站的 URL。
OEM 可以指定用于创建/修改磁盘分区和设置映像安装分区的“磁盘配置”。 此步骤是可选步骤,配置包含在示例答案文件 USB-B\AnswerFiles\Unattend.xml 中。
将答案文件保存到 USB-B\AnswerFiles\Unattend.xml,然后关闭 Windows SIM。
更新每个型号的映像:脱机服务
在装载和编辑映像之前,请创建一个副本。 对于这个要创建的特定于型号的映像,请使用一个描述你所要做的更改的文件名,例如:
Dism /export-image /sourceimagefile:e:\images\install.wim /sourceindex:2 /destinationimagefile:e:\images\modelspecificimage.wim
装载映像
- 装载 Windows 映像 (ModelSpecificImage.wim)。 此过程会将映像文件的内容解压缩到可以查看和修改装载的映像的位置。
Md C:\mount\windows
Dism /Mount-Image /ImageFile:E:\Images\ModelSpecificImage.wim /Index:1 /MountDir:C:\mount\windows
其中 E:\ 是 USB-B 的驱动器号。
- 装载 Windows RE 映像文件。
Md c:\mount\winre
Dism /Mount-Image /ImageFile:C:\mount\windows\Windows\System32\Recovery\winre.wim /index:1 /MountDir:C:\mount\winre
故障排除:如果装载操作失败,请确保使用的是随 Windows ADK 一起安装的 Windows 10 版 DISM,而不是技术人员计算机中的旧版本。 不要将映像装载到受保护的文件夹,例如 User\Documents 文件夹。 如果 DISM 进程中断,请考虑暂时断开网络连接并禁用病毒防护。
修改映像
添加驱动程序
如果使用 x64 Windows 10 映像,请添加 x64 驱动程序;如果使用 x86 Windows 10 映像,请添加 x86 驱动程序。
- 逐个添加驱动程序包。 (.inf 文件) SampleDriver\driver.inf 是特定于该计算机型号的示例驱动程序包。 键入自己的具体驱动程序路径。 如果有多个驱动程序包,请跳到下一步。
Dism /Add-Driver /Image:C:\mount\windows /Driver:"C:\SampleDriver\driver.inf"
Dism /Add-Driver /Image:C:\mount\winre /Driver:"C:\SampleDriver\driver.inf"
- 如果指定文件夹而不是 .inf 文件,还可通过一个命令行添加多个驱动程序。 若要安装文件夹及其所有子文件夹中的所有驱动程序,请使用 /recurse 选项。
Dism /Image:C:\mount\windows /Add-Driver /Driver:c:\drivers /Recurse
查看已装载 Windows 映像中 %WINDIR%\Inf\ (C:\mount\windows\Windows\Inf) 目录的内容,以确保已安装 .inf 文件。 添加到 Windows 映像的驱动程序将命名为 Oem*.inf。 这样做是为了确保添加到计算机中的新驱动程序命名的唯一性。 例如,文件 MyDriver1.inf 和 MyDriver2.inf 会被重命名为 Oem0.inf 和 Oem1.inf。
验证是否已针对这两个映像安装你的驱动程序。
Dism /Image:C:\mount\windows /Get-Drivers
Dism /Image:C:\mount\winre /Get-Drivers
重要提示:如果驱动程序仅包含安装程序包,而没有 .inf 文件,则可选择通过双击相应的安装程序包在审核模式下安装该驱动程序。 某些驱动程序可能与 Sysprep 工具不兼容;即使它们已脱机注入,也会在 sysprep generalize 后删除。
在这种情况下,需要在映像中为 USB-B\AnswerFiles\UnattendSysprep.xml 添加一个额外的参数,以便映像通用化时将驱动程序保留在映像中。
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
必须在通用化阶段将此属性添加到 USB-B\AnswerFiles\UnattendSysprep.xml,以便保留映像中的驱动程序。 若要详细了解此属性以及如何将其添加到答案文件,请参阅 PersistAllDeviceInstalls。
添加语言
从 Microsoft OEM 站点或设备合作伙伴中心获取 Windows 10 语言。 LP ISO 包括 .cabs 和 .appx 语言界面包。
若要添加语言,请参阅将语言添加到 Windows。
重要
不管是映像还是 ADK,语言和 LIP 版本都必须与其他 Windows 组件版本匹配。**
如果使用 x64 Windows 10 映像,请安装 x64 LIP;如果使用 x86 Windows 10 映像,请安装 x86 LIP。
将 LIP 复制到 USB-B\LanguagePack\x64 或 USB-B\LanguagePack\x86 文件夹:
将 LIP 应用到装载的映像。
Amd64 体系结构
DISM /Image:c:\mount\windows /Add-ProvisionedAppxPackage /PackagePath: E:\LIP_x64\LocalExperiencePack\eu-es\LanguageExperiencePack.eu-ES.Neutral.appx /LicensePath: E:\LIP_x64\LocalExperiencePack\License.xml
x86 体系结构
DISM /Image:c:\mount\windows /Add-ProvisionedAppxPackage /PackagePath: E:\LIP_X86\LocalExperiencePack\eu-es\LanguageExperiencePack.eu-ES.Neutral.appx /LicensePath: E:\LIP_x86LocalExperiencePack\License.xml
重要
如果在安装语言包之前安装的更新(修补程序、常规发行版 [GDR] 或服务包 [SP])包含与语言相关的资源,则添加语言包时不会应用更新中特定于语言的更改。 需要重新安装该更新以应用特定于语言的更改。 若要避免重新安装更新,请在安装更新前安装语言包。
添加更新包
如果使用 x64 Windows 10 映像,请添加 x64 更新包;如果使用 x86 Windows 10 映像,请添加 x86 更新包。
若要获取更新包,请从 Microsoft 更新目录下载。
若要查看需要获取的包,请转到 Windows 10 发布信息页,查看应该从 Microsoft 更新目录获取哪些包。
在搜索框中一一键入每个更新包,然后单击“搜索”。
每次搜索完成后,请单击要下载的包的版本和体系结构旁边的“下载”。
注意
如果在尝试下载更新时遇到“网站遇到问题”错误,请尝试在 IE 中关闭弹出窗口阻止程序或暂时禁用 IE 中的“保护模式”。
下载更新包后,使用以下命令将它们一个一个地添加到映像中,用下载的文件的名称来替代命令中的文件名:
Amd64 体系结构
Dism /Add-Package /Image:C:\mount\windows /PackagePath:"C:\windows10.0-kb4016871-x64_27dfce9dbd92670711822de2f5f5ce0151551b7d.msu"
x86 体系结构
Dism /Add-Package /Image:C:\mount\windows /PackagePath:"C:\windows10.0-kb4016871-x86_5901409e58d1c6c9440e420d99c42b08f227356e.msu"
- 将更新添加到 winre.wim(如果适用;并非所有更新都适用于 winre.wim)
Amd64 体系结构
Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\windows10.0-kb4016871-x64_27dfce9dbd92670711822de2f5f5ce0151551b7d.msu"
x86 体系结构
Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\ windows10.0-kb4016871-x86_5901409e58d1c6c9440e420d99c42b08f227356e.msu"
添加特定于 OEM 的视觉自定义项
在 C:\mount\windows\Windows\system32\ 目录下创建 OEM 文件夹。
以 .bmp 格式创建大小为 120px x 120 px 的 OEM 徽标。 如需更多详细信息,请参阅“适用于系统组装商的 Windows 指南”。
将 OEM 徽标复制到文件夹,例如
C:\mount\windows\Windows\system32\OEM\FabrikamLogo.bmp
。 稍后,你将在 Unattend 文件的“OEM Information | Logo”属性中引用此文件位置。若要显示特定于 OEM 的桌面背景图片,必须将图像文件放置在 %windir%\system32\OEM*Fabrikam.bmp* 目录中。 验证在与 oobeSystem > Microsoft-Windows-Shell-Setup > Themes > DesktopBackground 属性对应的答案文件中,此路径是否相同。 请参阅下图,在答案文件中添加桌面背景。
修改“开始”屏幕布局
Windows 10 中的“开始”屏幕磁贴布局允许 OEM 将包括 Web 链接、辅助磁贴、Windows 桌面应用程序和通用 Windows 应用在内的磁贴附加到默认“开始”屏幕布局。 OEM 无需重复大量工作就可以使用此布局,使它能适用于多个地区或市场。 另外,OEM 可以向系统区域中经常使用的应用部分添加最多 3 个默认应用,这会将受系统驱动的列表(包括重要或经常访问的系统位置和最近安装的应用)提交至用户。
- 创建 LayoutModification.xml。
注意
请从 USB-B\StartLayout\LayoutModification.xml 上的示例开始操作,因为它遵循本指南中的示例(仅限示例)。
示例 LayoutModification.xml 显示两个名为“Fabrikam Group 1”和“Fabrikam Group 2”的组,其中包含将在设备所在国家/地区与区域(在此例中,区域为德国和美国)中指定的国家/地区匹配时应用的磁贴。 每个组均包含三个磁贴和需要使用的各种元素,具体取决于要固定到“开始”的磁贴。
创建你的 LayoutModification.xml 文件时,请记住以下内容:
如果你在使用 start:DesktopApplicationTile 标记固定 Windows 桌面应用程序,并且你不知道该应用程序的应用程序用户型号 ID,则在首次启动之前,你需要在传统“开始”菜单目录中创建 .lnk 文件。
如果你使用 start:DesktopApplicationTile 标记将传统 .url 快捷方式固定到“开始”屏幕,则在首次启动之前,必须创建 .url 文件并将该文件添加到传统“开始”菜单目录。
对于上述情形,你可以将 .url 或 .lnk 文件放入以下目录:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\
保存 LayoutModification.xml 文件。
将你的 LayoutModification.xml 文件添加到 Windows 映像。 首次启动之前,你需要将文件放在以下特定位置。 如果该文件存在,你应替换已包含在映像中的 LayoutModification.XML。
Copy E:\StartLayout\LayoutModification.xml c:\mount\windows\users\default\AppData\Local\Microsoft\Windows\Shell\
其中 E: 是 USB-B 的驱动器号。
- 如果你固定的磁贴需要.url 或.lnk 文件,请将这些文件添加到以下传统“开始”菜单目录:
- %APPDATA%\Microsoft\Windows\Start Menu\Programs\
- %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\
Copy E:\StartLayout\Bing.url "C:\mount\windows\ProgramData\Microsoft\Windows\Start Menu\Programs\"
Copy E:\StartLayout\Paint.lnk "C:\mount\windows\ProgramData\Microsoft\Windows\Start Menu\Programs\"
Copy E:\StartLayout\Bing.url "C:\mount\windows\users\All Users\Microsoft\Windows\Start Menu\Programs\"
Copy E:\StartLayout\Paint.lnk "C:\Mount\Windows\Users\All Users\Microsoft\Windows\Start Menu\Programs\"
注意
如果未创建 LayoutModification.xml 文件,并继续使用“开始”屏幕 Unattend 设置,操作系统将使用 Unattend 答案文件,并采取 Unattend 文件中指定的第一组 12 个 SquareTiles 或 DesktopOrSquareTiles 设置。 然后,系统会在“开始”屏幕末尾自动将这些磁贴添加到新创建的组中。 前六个磁贴放置在第一个 OEM 组中,第二组六个磁贴放置在第二个 OEM 组中。 如果在无人参与文件中指定 OEMName,则此元素的值将用于命名将要创建的 OEM 组。
复制答案文件
可能需要通过 unattend 文件进行其他自定义。 USB-B 上的示例 unattend 文件包含其他常见自定义项。
Copy /y E:\AnswerFiles\Unattend.xml C:\Mount\Windows\Windows\Panther
其中 E:\ 是 USB-B。
优化 WinRE
- 增加 scratchspace 大小。
Dism /image:c:\mount\winre /set-scratchspace:512
- 清理未使用的文件,并减少 winre.wim 的大小
Dism /image:"c:\mount\winre" /Cleanup-Image /StartComponentCleanup /Resetbase
卸载映像
关闭所有可能从该映像访问文件的应用程序
提交更改并卸载 Windows RE 映像:
Dism /Unmount-Image /MountDir:"C:\mount\winre" /Commit
其中 C 是包含该映像的驱动器的驱动器号。
此过程可能需要几分钟。
制作更新的 Windows RE 映像的备份副本。
故障排除:如果在指定目录下看不到 winre.wim,请使用以下命令将该文件设置为可见:
attrib -h -a -s C:\mount\windows\Windows\System32\Recovery\winre.wim
Dism /export-image /sourceimagefile:c:\mount\windows\windows\system32\recovery\winre.wim /sourceindex:1 /DestinationImageFile:e:\images\winre_bak.wim
Del c:\mount\windows\windows\system32\recovery\winre.wim
Copy e:\images\winre_bak.wim c:\mount\windows\windows\system32\recovery\winre.wim
```
When prompted, specify **F** for file
4. Check the new size of the Windows RE image.
```console
Dir "C:\mount\windows\Windows\System32\Recovery\winre.wim"
根据以下分区布局大小指南确定 CreatePartitions-<firmware>.txt
文件中的恢复分区的大小。 将 winre.wim 复制到隐藏分区后所剩的可用空间量。
有关详细信息,请参考磁盘分区规则。
如果该分区小于 500 MB,则必须至少具有 50 MB 的可用空间。
如果该分区等于或大于 500 MB,则必须至少具有 320 MB 的可用空间。
如果该分区大于 1 GB,我们建议应至少具有 1 GB 的可用空间。
rem == Windows RE tools partition ===============
create partition primary size=500
可选:此部分假设你希望在 install.wim 内保留 winre.wim 以同步语言和驱动程序。如果你想在工厂车间上节省一些时间,并且不反对单独管理这些映像,则可首选从映像中拉取 winre.wim 并将其分别应用。
- 提交更改并卸载 Windows 映像:
Dism /Unmount-Image /MountDir:"C:\mount\windows" /Commit
其中 C 是包含该映像的驱动器的驱动器号。
此过程可能需要数分钟。
将映像部署到新计算机(Windows 安装)
在技术人员计算机的 USB-B/Deployment 中找到以下文件。 若要创建文件并将它们放置在正确路径中,请参阅创建我的 USB-B。
启动参考计算机并连接 USB-A。
WinPE 启动后,连接 USB-B。
键入
diskpart
以启动 Diskpart。 然后键入list volume
,以标识标记为“Windows”的 Windows 安装卷的卷标签(例如 E:)。 最后,键入exit
退出 Diskpart。应用特定于型号的映像:
E:\Deployment\ApplyImage.bat E:\Images\ModelSpecificImage.wim
注意
执行该脚本时将出现多次暂停。 如果这是压缩操作系统部署,系统会针对 Apply 操作提示 Y/N。
注意
仅在基于闪存驱动器的设备(固态驱动器)上使用压缩操作系统,因为压缩操作系统性能依赖于存储设备功能。 不建议在旋转设备上使用压缩操作系统。 有关详细信息,请参阅压缩操作系统。
- 移除 USB-A 和 USB-B,然后键入:
Exit
使用审核模式手动更新映像(联机服务)
重要
在制造阶段,不建议将计算机连接到 Internet。 不建议在审核模式下从 Windows 更新获取更新,因为从审核模式对计算机运行 generalize + sysprep 时,可能会产生错误。
将 Office 应用添加到映像
若要将 Office 应用添加到映像,请结合 /Add-ProvisionedAppxPackage
选项使用 DISM。 此选项还要求提供所要添加的每个应用的以下信息:
/PackagePath
:仅用于指定共享代码包的 .appxbundle 文件的路径。/OptionalPackagePath
:用于指定单个应用(例如 Word 或 Excel)的 .appxbundle 文件的路径。/LicensePath
:用于指定单个应用的 _License1.xml 文件的路径。 共享包和每个可选应用包都需要此项。
将 Office 16.5 OPK 解压缩到 C:\temp\lab\apps\Office Apps\Shared.Preinstallkit。
使用 DISM 将所有 Office 应用添加到脱机映像。 以下示例假定 appxbundle 和 license xml 文件位于 USB-B (D:) 上的子目录中。 此外,该示例未使用 /region 开关,因为我们希望 Office 显示在“所有应用”列表中,同时显示为开始菜单磁贴。
DISM /online /Add-ProvisionedAppxPackage /PackagePath="C:\temp\lab\apps\Office Apps\shared.PreinstallKit\shared.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\excel.PreinstallKit\excel.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\powerpoint.PreinstallKit\powerpoint.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\word.PreinstallKit\word.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\outlook.PreinstallKit\outlook.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\publisher.PreinstallKit\publisher.appxbundle" /OptionalPackagePath="C:\temp\lab\apps\Office Apps\access.PreinstallKit\access.appxbundle" /LicensePath="C:\temp\lab\apps\Office Apps\shared.PreinstallKit\shared_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\excel.PreinstallKit\excel_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\powerpoint.PreinstallKit\powerpoint_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\word.PreinstallKit\word_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\outlook.PreinstallKit\outlook_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\publisher.PreinstallKit\publisher_license1.xml" /LicensePath="C:\temp\lab\apps\Office Apps\access.PreinstallKit\access_License1.xml"
注意
需要为共享包以及要安装的每个应用指定 appxbundle 和许可证包。
- 验证 Office 是否已安装:
Dism /Image:"C:\mount\windows" /Get-ProvisionedAppxPackages
其中 C 是包含该映像的驱动器的驱动器号。
查看生成的包列表,并验证该列表是否包含 Office 桌面桥应用,例如:
...
Displayname : Microsoft.Office.Desktop.Access
Version : 16000.8528.2136.0
Architechture : neutral
ResourceID : ~
PackageName : Microsoft.Office.Desktop.Access_16000.8528.2136.0_neutral_~_8wekyb3d8bbwe
Regions : None
Displayname : Microsoft.Office.Desktop.Excel
Version : 16000.8528.2136.0
Architechture : neutral
ResourceID : ~
PackageName : Microsoft.Office.Desktop.Excel_16000.8528.2136.0_neutral_~_8wekyb3d8bbwe
Regions : None
...
若要使应用显示在“开始”屏幕上,请按照下一部分的步骤操作:配置“开始”屏幕磁贴和任务栏固定应用。
若要完成 Office 安装,需要卸载映像并提交更改。完成本实验室结束时的所有自定义项后,我们将完成该操作。
将 Office 磁贴固定到“开始”菜单
我们会将 Office 磁贴固定到“开始”菜单,使 Windows 在 OOBE 期间不会删除 Office 文件。
- 打开一个命令提示符窗口,并键入:
C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml.
- 将以下内容添加到 layoutmodification,以将 Office 应用固定到“开始”菜单:
<AppendOfficeSuite/>
<AppendOfficeSuiteChoice Choice="DesktopBridgeSubscription"/>
关闭并保存 LayoutModification.xml。
注意:出于恢复目的,需要在恢复期间复制 layoutmodification.xml。
打开一个命令提示符窗口,并键入:
copy C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml c:\Recovery\AutoApply
完成 OOBE 且计算机启动到桌面后,系统会将 Office 磁贴添加到“开始”菜单中。
准备恢复工具
按钮重置可帮助用户恢复 OS,同时保留其现有数据和自定义项,无需提前备份数据。
进行一键恢复操作时,映像中包含的任何语言、通用 Windows 应用和通用 Windows 驱动程序都会自动还原。 确保也还原其他自定义项(例如桌面应用和“开始”菜单自定义项)。
在 Windows 10 版本 1809 中,可以使用自动应用文件夹来还原常用 Windows 设置,例如“开始”菜单、任务栏布局和 OOBE 自定义项。 如果使用的是以前的 Windows 版本,或者要在一键重置后执行其他操作,请改用扩展性脚本。 示例扩展性脚本包含在 USB-B 示例文件中。
将 ScanState 工具复制到 U 盘
ScanState 工具包含在之前下载的 USB-B 示例文件中。
你将使用 ScanState 工具捕获经典 Windows 应用和设置,以便稍后在一键重置恢复期间还原它们。
还可使用 Windows ADK 中的工具获取副本:
在技术人员电脑上
以管理员身份启动“部署和映像工具环境”。
运行 CopyDandI.cmd 脚本,将文件复制到 U 盘:
x64:
CopyDandI.cmd amd64 E:\ScanState_amd64
其中 E: 是 USB-B 的驱动器号。
如果使用的是 x86 Windows 10 映像,请创建 x86 Scanstate 目录:
CopyDandI.cmd x86 e:\ScanState_x86
其中 E: 是 USB-B 的驱动器号。
创建恢复包
在参考电脑上
在 Windows 10 版本 1809 中,创建自动应用文件夹来还原常用 Windows 设置,例如“开始”菜单、任务栏布局和 OOBE 自定义项。
在 Windows 映像中创建名为
C:\Recovery\AutoApply
的文件夹
MkDir C:\Recovery\AutoApply
- 复制配置文件和相关资产文件
- Unattend.xml:
copy Copy the unattend.xml file you want for recovery to `C:\Recovery\AutoApply\` and any asset files to `C:\Recovery\AutoApply\CustomizationFiles`
- “开始”菜单:
Copy E:\StartLayout\LayoutModification.xml C:\Recovery\AutoApply\CustomizationFiles
- 任务栏固定应用:
copy
- 将 TaskbarLayoutModification.xml 复制到
C:\Recovery\AutoApply\
,将任何资产文件复制到C:\Recovery\AutoApply\CustomizationFiles
- 将
%windir%\System32\OOBE\info
及其所有内容复制到C:\Recovery\AutoApply\OOBE
- 使用 ScanState 将已安装的自定义项捕获到预配包中,然后将其保存到 C:\Recovery\customizations。
重要
若要进行一键重置以恢复应用和自定义项,必须将包文件作为 .ppkg 文件存储在 C:\Recovery\Customizations 文件夹中。
运行 ScanState,收集应用和自定义项
x64:
mkdir c:\recovery\customizations
E:\ScanState_amd64\scanstate.exe /apps /ppkg C:\Recovery\Customizations\apps.ppkg /i:c:\recovery\oem\regrecover.xml config:E:\scanstate_amd64\Config_AppsAndSettings.xml /o /c /v:13 /l:C:\ScanState.log
其中 E: 是 USB-B 的驱动程器号
x86:
E:\ScanState_x86\scanstate.exe /apps /ppkg C:\Recovery\Customizations\apps.ppkg /i:c:\recovery\oem\regrecover.xml /config:e:\scanstate_x86\Config_AppsAndSettings.xml /o /c /v:13 /l:C:\ScanState.log
其中 E: 是 USB-B 的驱动程器号
- ScanState 成功完成后,删除 scanstate.log 和 miglog.xml 文件:
del c:\scanstate.log
del c:\miglog.xml
复制 WinRE 的备份
在电脑部署期间,winre 会移动。 在捕获最终映像之前,将 winre.wim 的备份复制回 Windows 映像。
Copy e:\images\winre_bak.wim c:\windows\system32\recovery\winre.wim
重新封装映像
删除已经为预加载的应用程序创建的安装文件夹和文件。 捕获 Windows 映像时,额外的文件夹可能会增加 .wim 的大小。
如果 Sysprep 已打开,请关闭它并打开提升的命令提示符。
将 unattend.xml 复制到恢复文件夹,以便在一键重置期间恢复无人参与设置。
copy USB-B\answerfiles\unattendsysprep.xml c:\Recovery\OEM\unattend.xml
- 通过使用答案文件来通用化映像,该文件反映使用审核模式手动更新映像(联机服务)部分所做的更改。
这些更改包括固定到“开始”屏幕的 Microsoft Office 磁贴组件。
Cmd /c C:\Windows\System32\Sysprep\sysprep /unattend:c:\Recovery\OEM\Unattend.xml /generalize /oobe /shutdown
启动参考计算机并连接 USB-A。
启动 WinPE 之后,连接 USB-B。
键入
diskpart
以启动 Diskpart。 然后键入list volume
,以标识标记为“Windows”的 Windows 安装卷的卷标签(例如 E:)。 最后,键入exit
退出 Diskpart。开始清理映像。
重要
默认情况下,不会还原非主要更新(例如 ZDP 或 LCU)。 若要确保恢复后不会丢失制造期间预安装的更新,应通过使用 DISM 中的 /Cleanup-Image 命令以及 /StartComponentCleanup 选项将它们标记为永久。
MD e:\scratchdir
dism /Cleanup-Image /Image:e:\ /StartComponentCleanup /scratchdir:e:\scratchdir
- 捕获 Windows 分区的映像。 此过程需要几分钟。
dism /Capture-Image /CaptureDir:E:\ /ImageFile:F:\Images\ModelSpecificImage.wim /Name:"myWinImageWithMSIUpdated" /scratchdir:e:\scratchdir
其中,E: 是 Windows的卷标签,F 是 USB-B 的卷标签。
这将覆盖将映像部署到新计算机部分创建的映像。
部署映像
使用部署脚本在设备上对分区进行布局并应用映像。 USB-B\deployment 文件夹中的 applyimage.bat 将基于设备模式对设备进行分区。
重要
恢复分区必须是 Windows 分区之后的分区才能确保 winre.wim 在设备的生命周期内保持最新。**
运行以下命令,将映像部署到参考电脑:
E:\Deployment\applyimage.bat E:\Images\modelspecificimage.wim
注意
执行该脚本时将出现多次暂停。 如果这是压缩操作系统部署,系统会针对 Apply 操作提示 Y/N。
注意
仅在高端存储设备上使用压缩操作系统,因为压缩操作系统性能依赖于存储设备功能。 不建议在旋转设备或大于 32 GB 的存储上使用压缩操作系统。 有关详细信息,请参阅压缩操作系统。
移除 USB-A 和 USB-B 并键入 exit,重启装有 Windows 10 的计算机。
完成部署
- 将特定于型号的映像部署到目标计算机后,在审核模式下首次用主映像启动计算机
重要
为了最大限度地缩短首次启动时间,必须在工厂中完成(“启动”>“专用化”>“OOBE”>“开始”屏幕)专用化阶段。 专用化阶段将配置特定于 Windows 运行时所在的硬件的信息。
若要详细了解首次启动时间要求,请参阅适用于系统组装商的 Windows 策略。
请注意,在使用审核模式手动更新映像(联机服务)部分的末尾,系统已使用 OOBE 模式进行封装。 请继续完成审核模式。 如果系统在 OOBE 模式下启动,请按 Ctrl+Shift+F3 跳过 OOBE,然后系统就会在审核模式下启动。
如果要应用其他步骤(如执行 OEM 诊断测试等),请在此处应用这些步骤。
最后运行 Sysprep 工具 (C:\Windows\System32\Sysprep\sysprep.exe),将系统封装回 OOBE 并关闭,但不进行通用化。
系统已准备好交付。
重要
如果要制造少量设备而不使用映像管理工具(如磁盘复制器或 Windows 部署服务),可以选择使用以下做法:
- 你可以通过在 WinPE 中首次启动来制造这些设备 - 插入 USB-A。
- 然后插入包含最终制造映像的 USB-B。
- 运行 applyimage.bat 脚本以应用映像。
- 应用映像后,请按照“完成部署”部分的步骤进行操作。
- 现在,设备已准备好与最终的制造映像和实现的 PBR 功能一起交付。
- 最后,对其他设备重复这个相同的过程。
附录
64 位部署和 32 位部署的差异
建议根据所制造设备的存储考虑 64 位部署与 32 位部署的磁盘占用情况。
本指南所述总体部署流程在 64 位部署和 32 位部署中并无差异。 仅某些资源版本和这些资源的创建方式有所不同。 下表介绍了 x64/x86 的区别。
区别 | 说明 | 相关部分 |
---|---|---|
在技术人员电脑上安装的 Windows | 在技术人员电脑上安装 Windows ADK 时,ADK 中的部署工具会根据技术人员电脑上的 Windows 的体系结构进行安装。 简而言之,如果在 Windows x64 上安装 ADK,则工具将安装为 64 位版本,反之亦然。 | 准备实验室环境 |
创建 WinPE 文件夹结构 | WinPE 在 x64 体系结构与 x86 体系结构之间有所不同,因此,你必须使用不同的命令为每个体系结构创建不同的 WinPE 文件夹。 | 创建 WinPE 可启动 USB |
驱动程序 | 不同体系结构的驱动程序版本不同。 如果要制造 64 位 Windows 映像,请使用 x64 驱动程序;如果要制造 32 位 Windows 映像,请使用 x32 驱动程序。 | 添加驱动程序 |
Windows 映像的更新包 | 不同体系结构的更新包版本不同。 如果要制造 64 位 Windows 映像,请使用 x64 更新包;如果要制造 32 位 Windows 映像,请使用 x32 更新包。 | 添加更新包 |
语言界面包 | 如果要使用 x64 Windows 10 映像,请安装 x64 LIP;如果要使用 x86 Windows 10 映像,请安装 x86 LIP。 | 准备系统以进行一键重置恢复 |
所需内容和获取位置
在开始部署过程之前,OEM 需下载将在整个指南中使用的某些工具包,如 Microsoft Office、更新包、语言界面包。 下面是 OEM 需下载的资源/工具包及其下载位置的完整列表。
资源/工具包 | 可用位置 | 相关部分 |
---|---|---|
Windows 10 ADK | 下载 Windows ADK | 创建 WinPE 可启动 USB |
Windows 10 x64/x86 DVD 介质(所需语言) | 从 Microsoft 授权分销商处获取将要进行自定义的 Windows 10 介质 | 安装包含基本自定义项的 Windows |
Windows 10 默认产品密钥 | 默认产品密钥列在设备合作伙伴中心的“默认产品密钥”选项卡下 | 自定义答案文件 |
语言包 | 语言包列在设备合作伙伴中心的“LIP”选项卡下 | 准备系统以进行一键重置恢复 |
更新包 | 通过下载的方式从 Microsoft 更新目录获取更新包。 相关部分介绍了下载更新包的详细过程。 | 添加语言界面包 |
Microsoft Office v16.5 | 通过下载的方式从设备伙伴中心获取 Microsoft Office v16.5 | Microsoft Office v16.5 OPK |