我的任务是为 Windows 10 pro、虚拟机和本机安装创建一些映像。 VM 映像很简单,但我在如何从我创建的 Windows 10 配置中提取 iso 映像方面遇到了麻烦。此外,这需要是一个我们可以用于裸机安装的映像,因此默认的 Windows 系统映像工具无法满足要求(它会创建一个 .vdhx 文件,我们需要它才能直接从 BIOS 启动)。
我知道有些程序可以根据程序的某些配置创建 iso,但这是我的上司想要的相当详细的映像(他想要一个最基本的映像,其中已经设置了特定的用户帐户等)。我还没有看到任何程序可以按照我需要的方式自定义映像(我们希望删除所有内容,甚至包括计算器和其他难以删除的库存程序)。除此之外,我的上司反对任何第三方,所以这必须是最后的选择。
我想到唯一的选择是使用一个程序来创建一个接近我想要的图像,其中计算机名称/用户/等已经设置好,然后我可以创建一个脚本来完成其余大部分工作,但这需要尽可能自动化。
那么,有人见过从自定义 Windows 10 设置创建可启动 iso 的方法吗?我已经搜索了两天,但没有找到符合我所有要求的东西。
答案1
您不应该专注于创建自定义 ISO,而应该阅读有关维姆图像旨在以更有效的方式进行部署。您可能需要一些耐心、努力和额外的研究。当我第一次尝试这样做时,我花了 5 次尝试才让一个工作正常。
这些步骤有点复杂,但并非不可能。我会尽力解释如何实现这一点。如果有人有其他想法/经验,请发表评论,我会将其包含在我的答案中。
那么让我们从您需要的工具开始吧:
- Windows (10 PRO) 安装映像/磁盘/USB
- 您可以安装 Windows 10 Pro 并根据需要进行自定义的工作场所。这可以是笔记本电脑、PC 或虚拟机
- 存储 WIM 映像的网络共享
- 可启动的 Windows Live CD/DVD/USB/ISO (巴特普)
我不会详细介绍如何创建 BartPE Live CD,但这应该很简单,并且有大量指南可以向您展示如何操作。检查这例如。 - 捕获 Windows 并创建 WIM 映像的工具
- 使用命令行的一些基本知识
在您的 PC/笔记本电脑/虚拟机上安装和定制 Windows。
备份。
完成自定义后,您应该创建当前状态的备份/快照,因为第 3 步也是我大多数时候失败的地方。而且从头开始重新执行第一步需要花费大量时间。正在运行 sysprep。
开始 -> 运行 ->sysprep
- 在第一个下拉菜单中,选择 OOBE - 这意味着下次启动 Windows 时,它将像第一次运行一样,要求输入新的用户名、语言等。
- 检查通用 - 如果图像将在多台 PC 上部署,则需要检查此项,这意味着下次启动 Windows 时将删除并更新驱动程序 ID 标签和其他硬件特定选项。
- 对于关机选项,您需要选择,
Shutdown
因为我们想在完成更改后立即捕获图像。
捕获自定义 Windows。
您可以使用多种工具将当前状态捕获为 WIM 映像。您可以使用图像处理,分布式系统管理等。当我这样做的时候,我用吉美克斯所以现在我将用它作为例子。- 您需要下载 gimagex 并将其保存到您的网络共享。
- 无需启动 Windows,使用 BartPE 启动。
- 类型:
net use * <path to your network share>
- 键入
Z:
然后导航到您的 gimagex 文件夹并运行在 x64 中找到的文件夹。 - 在里面捕获选项卡,选择源(您的 Windows 安装分区)并选择目标(您想要在网络共享中的文件夹),
您可以提供名称和说明。除非您知道自己在做什么,否则请保留其余的默认设置。 - 捕获完成后,您可以启动原始 Windows 并检查它是否启动。如果没有,则说明出了问题,请进行一些研究,恢复备份并从步骤 3 重新开始。
应用 WIM 映像。
- 您应该在网络共享上准备一个脚本,以使您的生活更轻松。我为您提供所需的脚本:
[图像.bat]
@echo off
diskpart /s z:\diskpartrans.txt
[磁盘分区转换.txt]
select disk 0
clean
create partition primary size=100
select partition 1
format fs=ntfs quick label=system
active
create partition primary
select partition 2
format fs=ntfs quick label=windows
assign letter=g
这将格式化驱动器并为您的映像创建必要的分区。您也可以手动执行此操作,但这种方式更简单。
- 和之前一样,你可以使用 BartPE 进行启动
net use z: <your share>
- 导航到 image.bat 并运行它
- 一旦完成后,导航到您的 gimagex 并运行它。
- 这次使用申请选项卡中,源是网络共享上的 WIM 映像,而目标是
G:
因为这是我们在脚本中分配的字母。
就这样吧。祝你好运!
答案2
为此,您将需要 2 台 PC——一台测试 PC 和一台技术 PC(技术 PC 将是您的 PC)。为此,您还需要 3 个 USB 驱动器:
- 1 个 64 GB USB 驱动器,用于捕获图像。
- 1 个 32 GB 的 USB 驱动器,用于安装 Windows 10 ISO。(稍后会详细介绍)。
- 1 个用于 Windows PE 的 32 GB USB 驱动器。
笔记:您还需要 Windows 10 v1803 ADK——安装所有内容,整个安装大约需要 9 GB。
从 Microsoft 官方网站下载 Windows 10 Pro 的 ISO 映像。
下载 Rufus 并熟悉该程序。
使用 Windows 资源管理器打开 Windows 10 ISO 文件。
转到 \Sources 目录,将“install.wim”或“install.esd”文件复制到 C:\mount 目录。如果您没有此目录,请创建它。将 .wim 或 .esd 重命名为 .wim.bak 或 .esd.bak。
使用 Rufus 将 Win 10 ISO 挂载到 USB 记忆棒,确保使用 UEFI 的 GPT 模式。
将 Win 10 从 USB 安装到测试 PC(不是 VM)。当您进入第一个用户配置屏幕(通常是 Cortana)时,点击CTRL + SHIFT + F3进入 Windows 10 审核模式。PC 将重新启动一两次,然后它会将您登录到 Windows 隐藏管理员帐户。
安装您想要/需要的所有应用程序,包括 MS Office、Adobe Acrobat / Reader、Chrome、FireFox 等,但不要激活其中任何一个,也不要激活 Windows。Sysprep 会终止激活(它还会终止驱动程序,因此请确保将您需要的所有驱动程序包含在 C:#Installs 文件夹中。示例:我们有 Dell OptiPlex 5260 AIO,因此我将所有驱动程序下载到我的 C:#Installs\OptiPlex 5260\ 目录中。)。
运行所有 Windows 更新。完成后,配置所有隐私设置,关闭游戏、Cortana、消费者体验等。
运行 Windows 清理脚本/卸载 M$ 用来堵塞“开始”菜单的所有垃圾(Candy Crush 等)。在 C:\ 驱动器上运行“磁盘清理”,运行 CCleaner 等。这将确保您即将创建的 WIM 文件的占用空间最小。
将准备好的 Unattend.xml 文件复制到 C:\Windows\Panther 目录。
从 C:\Windows\System32\cmd.exe 打开提升的命令提示符并输入以下内容:Sysprep.exe /generalize /oobe /shutdown /unattend:C:\Windows\Panther\UNATTEND.xml
PC 将关闭;移除您启动时使用的 Windows 10 ISO USB 棒,并将其替换为 Windows PE USB。同时插入 64 GB USB 驱动器,以便您可以捕获 Windows 10 的 WIM 映像。
- 如果您不熟悉 WinPE,或者不了解如何创建可运行的 WinPE 棒,请查看以下教程:https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-adding-powershell-support-to-windows-pe。
启动测试 PC 并引导至 WinPE USB。您将进入 X:\ 终端(一个基本的命令提示符类型的程序),在其中输入 DISK PART 并按 Enter。
进入 Disk Part 后,执行以下命令:list disk 和 list vol。记下其中的信息。SDA0 将是您的 HDD,SDA1 将是您的 USB,SDA2 将是您的另一个 USB 驱动器。记下哪个 SDA 是哪个,以及哪些卷具有哪些字母。如果卷没有字母,请相应地分配它们。
通过输入 EXIT 退出 Disk Part,您将返回到 X:\ 终端。返回后,输入以下内容:dism /capture-image /imagefile:D:\install.wim /capturedir:C:\ /Name:"Win10v1803" /Description:"Win10v1803" /bootable
将 C:\ 和 D:\ 替换为您自己的驱动器号,其中 D:\ 是您的 64 GB USB 记忆棒,C:\ 是 Windows C:\ 驱动器。有时我的 USB 会被标记为 F:\ 和 W:\ 等,因此请确保您将 DISK 指向正确的卷/分区/磁盘。
WIM 文件捕获和重新创建过程正在进行中,捕获图像大约需要 45 分钟到一个小时(平均)。
一旦 WIM 映像捕获完毕,它会显示如下内容:
部署映像服务和管理工具版本:10.0.17134.1
正在保存图像 [===========================100.0%===========================] 操作成功完成。
X:\windows\system32>
在捕获图像后,在 X:\ 终端中输入 WPEUTIL SHUTDOWN,PC 将关闭。移除两个 USB 驱动器,将 WinPE 驱动器放在一边,将 64 GB 驱动器连同 Windows 10 安装 USB 一起放到技术 PC 上 — 将它们都插入,然后查看新捕获的 WIM 文件有多大(我的文件通常在 10 到 15 GB 之间,具体取决于我安装了多少程序和更新,以及我为以后预留了多少驱动程序)。
将新创建的 WIM 文件移动到 C:\mount 目录,稍后可能需要它。将 WIM 文件移动到 C:\mount 后,再次将文件复制到 Windows 10 安装 USB 驱动器的 \sources 目录,覆盖其中的原始文件。
将新的 WIM 文件复制到 Win 10 安装 USB 后,您可以使用该 USB 将自定义 Windows 映像安装到您想要的任何 PC 上。
如果您有像 UltraISO 这样的程序,您可以使用新的 WIM 文件重新保存原始 ISO,这将允许您将自定义映像安装到多个 USB 驱动器,并允许您将自定义映像安装到许多不同外形和型号的 PC 上。
如果您将使用 ImageX、GImageX、WImageX 等,则不必担心重新编译 ISO 以供日后使用。不过,我更喜欢重新编译 ISO。这样我就可以为公司内的多个组织创建多个 ISO。
希望这能有所帮助,我花了几个月的时间才能够如此简单地解释这一点并自己执行这些操作。我能做的任何事情来帮助别人正是我几个月前想要的——轻松走过……可惜我没找到……哈哈
答案3
刚刚完成一个为企业编写 Windows 定制工具堆栈的项目,我想贡献几点:
基本步骤是
- 从 MSDN 获取 ISO
- 挂载并复制出 sources/install.wim
- 使用 dism 挂载 wim 映像(最好使用 powershell)
- 编辑挂载目录中的文件
- 卸载并保存更改
- 使用 Windows PE 启动目标电脑
- 将 wim 映像应用到 PC 的硬盘
- 重新启动并完成!
这可能会变得有点复杂,尤其是在编辑已安装目录中的文件时。如有疑问,Microsoft 硬件 OEM 文档是您最好的朋友。
根据我的经验,从实时系统再次进入审核模式并进行 sysprep 并不完全有效,因此我倾向于完全避免这样做。这在 Windows 10 (1709) 中尤为明显,因为 unattend.xml 不再遵守标志。
无论如何,要小心一些提供一键式定制或使用大量疯狂批处理文件的工具。我猜这就是为什么我制作了自己的工具。它更适合更高级的 IT 专业人士,但可能对您的情况有用。