部署新 PC 时是否可以在自定义准备的映像上应用 unattend.xml?
Is it possible to apply unattend.xml on custom prepared image when deploy new PC?
我使用 hashicorp 加壳器(使用 QEMU)创建了自定义 Windows_10_PRO_1909_x64 图像。
为了构建它,我使用了 unattend.xml 文件。准备步骤是:
- 绝对无人值守安装 Windows
- 软件安装量大
- 将 VM(它是使用 QEMU 构建的)转换为原始 .img 文件
现在我想将此映像部署到新 PC。我正在使用带有嵌入式 Linux(也是自定义)的可启动 USB 记忆棒,它可以从本地存储中获取此 .img 文件并写入 /dev/sda
在此过程中一切正常。
主要问题是 - 在将 .img 写入 /dev/sda 后,我正在更改 unatted.xml 文件中的 ComputerName(在安装的 /dev/sda 上),但是在第一次启动后,Windows忽略此文件,PC名称与更改前相同。当我检查无人值守文件时,它有正确的 PC 名称,我在可启动 linux 时更改了它,在 Windows 之前 运行。
也许有人有想法 - 我如何在每次部署新 PC 时更改 PC 名称?但它应该没有用户交互。它可能是对可启动 linux 的任何文件修改,或者也许有一种方法可以在第一次 Windows 启动时自动执行此操作?
找到解决方案。
需要 运行 sysprep Windows 安装 sysprep-unattend.xml 文件来清理系统。
之后 Windows 将在首次启动时捕获此文件。所以可以在启动前更改此文件中的 PC 名称。
我使用 hashicorp 加壳器(使用 QEMU)创建了自定义 Windows_10_PRO_1909_x64 图像。 为了构建它,我使用了 unattend.xml 文件。准备步骤是:
- 绝对无人值守安装 Windows
- 软件安装量大
- 将 VM(它是使用 QEMU 构建的)转换为原始 .img 文件
现在我想将此映像部署到新 PC。我正在使用带有嵌入式 Linux(也是自定义)的可启动 USB 记忆棒,它可以从本地存储中获取此 .img 文件并写入 /dev/sda 在此过程中一切正常。
主要问题是 - 在将 .img 写入 /dev/sda 后,我正在更改 unatted.xml 文件中的 ComputerName(在安装的 /dev/sda 上),但是在第一次启动后,Windows忽略此文件,PC名称与更改前相同。当我检查无人值守文件时,它有正确的 PC 名称,我在可启动 linux 时更改了它,在 Windows 之前 运行。
也许有人有想法 - 我如何在每次部署新 PC 时更改 PC 名称?但它应该没有用户交互。它可能是对可启动 linux 的任何文件修改,或者也许有一种方法可以在第一次 Windows 启动时自动执行此操作?
找到解决方案。
需要 运行 sysprep Windows 安装 sysprep-unattend.xml 文件来清理系统。 之后 Windows 将在首次启动时捕获此文件。所以可以在启动前更改此文件中的 PC 名称。