返回列表
Sysprep 通用封装镜像
zydfx 2026-05-26 11:16 分类: 工业自动化
返回列表
退出查看
退出查看说明 提示:退出查看后,将结束当前阅读状态;如文章设置了访问密码,下次打开时可能需要重新输入密码。

适合以后给不同型号电脑还原使用。

微软官方也明确说明:如果要把 Windows 镜像部署到另一台电脑,应该使用 Sysprep /generalize,它会移除系统里的唯一信息,例如 SID,并让系统下次启动进入初始化流程。(Microsoft Learn)

一、整体流程

配置母机

安装软件和环境

清理系统

运行 Sysprep 通用封装

电脑自动关机

不要再进系统

用 PE 启动

备份系统盘镜像

以后新电脑直接还原镜像

二、母机准备

先找一台电脑作为“标准母机”。

建议装好这些:

1. Windows 系统
2. 网卡、显卡、芯片组、USB、串口驱动
3. .NET Framework
4. VC++ 运行库
5. Java / JDK
6. SQL Server / MySQL,如有需要
7. 采集软件
8. 相机软件
9. PLC / 串口 / 网口通讯工具
10. 远程桌面、向日葵、AnyDesk
11. 压缩软件、浏览器、Notepad++、HWiNFO
12. 防火墙规则
13. 开机自启动
14. 桌面快捷方式

注意:不要写死客户现场 IP、产线编号、相机 IP、数据库连接地址。这些最好还原到新电脑后再配置。


三、封装前清理

封装前建议做这些:

1. 删除桌面无用文件
2. 清空回收站
3. 清理浏览器缓存
4. 删除个人账号登录信息
5. 删除微信、QQ、邮箱等个人缓存
6. 删除安装包
7. 清理临时文件
8. 不要保存客户现场专用配置

可以运行:

cleanmgr

也可以用 Dism++ 清理。


四、运行 Sysprep

方法 1:图形界面操作

打开这个路径:

C:\Windows\System32\Sysprep\Sysprep.exe

然后这样选择:

系统清理操作:进入系统全新体验 OOBE
勾选:通用
关机选项:关机

也就是:

进入系统全新体验 OOBE
√ 通用
关机

然后点击“确定”。

电脑会开始封装,完成后自动关机。

这个报错不是 Sysprep 本身坏了,是 有一个微软语言包 Appx 没有正确匹配所有用户,导致封装校验失败。

你的日志里关键错误是:

Package Microsoft.LanguageExperiencePackzh-CN_19041.81.277.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users.
Failed to remove apps for the current user: 0x80073cf2.

意思是:

中文语言体验包 Microsoft.LanguageExperiencePackzh-CN 只装到了某个用户下面,但没有作为所有用户的预置应用,所以 Sysprep 不允许继续封装。


直接按这个修

先关闭 Sysprep 弹窗,然后进入系统,右键开始菜单 → Windows PowerShell(管理员)

执行下面命令:

Get-AppxPackage -AllUsers Microsoft.LanguageExperiencePackzh-CN* | Select Name, PackageFullName

看一下能不能查到这个包。

然后执行删除:

Get-AppxPackage -AllUsers Microsoft.LanguageExperiencePackzh-CN* | Remove-AppxPackage -AllUsers

再执行:

Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like "Microsoft.LanguageExperiencePackzh-CN*"} | Remove-AppxProvisionedPackage -Online

然后重新运行 Sysprep

删除完成后,重新用管理员 CMD 执行:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

如果成功,电脑会自动关机。

关机后记住:

不要再进 Windows,直接插 PE U盘启动,然后用 DiskGenius 备份整盘镜像。


如果删除命令报错

换成这个方式,逐个用户清理:

Get-AppxPackage -AllUsers | Where-Object {$_.Name -like "Microsoft.LanguageExperiencePackzh-CN*"} | ForEach-Object {
    Remove-AppxPackage -Package $_.PackageFullName -AllUsers
}

然后再运行:

Get-AppxPackage -AllUsers Microsoft.LanguageExperiencePackzh-CN*

如果没有输出,说明清掉了。


你这个问题的原因

这种情况通常是因为:

1. 后期在系统里添加过中文语言包
2. Windows 更新安装过语言体验包
3. Microsoft Store 自动更新过语言组件
4. 当前用户有这个包,但系统默认镜像里没有预置

Sysprep 对这种 Appx 包很敏感,只要出现“某个用户安装了,但不是所有用户预置”的情况,就会失败。


最推荐你现在的操作顺序

1. 关闭 Sysprep 报错窗口
2. 管理员打开 PowerShell
3. 删除 Microsoft.LanguageExperiencePackzh-CN
4. 重启电脑一次
5. 再次管理员运行 Sysprep
6. Sysprep 成功关机
7. 进 PE
8. DiskGenius 备份整个硬盘

如果你后面又报另一个 Package xxx was installed for a user, but not provisioned for all users,处理逻辑是一样的:把日志里那个 Package 对应的 Appx 包删掉,再重新封装。

你这次不是原来的中文语言包了,原来的 Microsoft.LanguageExperiencePackzh-CN 已经处理掉了。现在 Sysprep 又卡在另一个 Appx 包:

ksystemsharehostzhCN_1.0.0.0_x86__km9wtz8rh8me0

日志里最新错误显示:这个包也是“只给某个用户安装了,但没有给所有用户预置”,所以 Sysprep 继续失败。
setuperr.log 里也能看到前两次是中文语言包,第三次已经变成 ksystemsharehostzhCN


直接处理这个新包

右键开始菜单,打开:

Windows PowerShell(管理员)

先查:

Get-AppxPackage -AllUsers *ksystemsharehostzhCN*

然后删:

Get-AppxPackage -AllUsers *ksystemsharehostzhCN* | Remove-AppxPackage -AllUsers

再删预置包:

Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like "*ksystemsharehostzhCN*"} | Remove-AppxProvisionedPackage -Online

然后再查一次:

Get-AppxPackage -AllUsers *ksystemsharehostzhCN*

如果没有输出,说明删掉了。


然后再次运行 Sysprep

用管理员 CMD 执行:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

如果还继续提示类似错误

这种情况很常见,Sysprep 会一个一个报 Appx 包。你删掉第一个,它就报第二个;删掉第二个,它可能还会报第三个。

你可以每次看日志里这一行:

Package xxxxx was installed for a user, but not provisioned for all users.

然后把 Package 后面的包名拿出来删除。


可以直接用这个通用清理脚本

如果你想一次性处理这类“不匹配 Appx 包”,可以用下面这个脚本。管理员 PowerShell 执行

$UserApps = Get-AppxPackage -AllUsers
$ProvisionedApps = Get-AppxProvisionedPackage -Online

foreach ($App in $UserApps) {
    $Match = $ProvisionedApps | Where-Object { $_.DisplayName -eq $App.Name }

    if ($null -eq $Match) {
        Write-Host "Removing non-provisioned app:" $App.Name
        try {
            Remove-AppxPackage -Package $App.PackageFullName -AllUsers -ErrorAction Stop
        } catch {
            Write-Host "Failed to remove:" $App.PackageFullName
        }
    }
}

执行完后,重启一次电脑,再运行:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

你现在优先做这个

先不要跑通用脚本,先单独删这个:

Get-AppxPackage -AllUsers *ksystemsharehostzhCN* | Remove-AppxPackage -AllUsers

再跑 Sysprep。
如果又提示新的包名,再继续按同样方法删。等 Sysprep 成功自动关机后,不要进系统,直接进 PE 做镜像

方法 2:命令行操作,推荐

以管理员身份打开 CMD,执行:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

这个命令的意思是:

/generalize  通用化系统,清除唯一硬件和 SID 信息
/oobe       下次开机进入首次开机初始化界面
/shutdown   封装完成后自动关机

微软官方给出的常用命令也是:

%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe

Sysprep 完成后系统会关机,关机后再捕获镜像。(Microsoft Learn)

五、重点注意

Sysprep 执行完自动关机后:

不要再开机进入 Windows 系统。

正确操作是:

1. 电脑关机
2. 插入 PE U盘
3. 从 U盘启动
4. 进入 PE
5. 用 DiskGenius / Ghost / 傲梅备份系统盘

如果 Sysprep 后你又进了一次 Windows,系统会重新初始化,这时镜像就不干净了。要重新执行一次 Sysprep 后再备份。


六、进入 PE 后备份镜像

Macrium Reflect-Backup 页面

现在这个界面基本对了,可以继续

我看你这里已经勾选了 4 个分区:

1 - FAT32 100MB    EFI 启动分区
2 - 16MB           MSR 保留分区
3 - C:             系统分区
4 - NTFS 591MB     恢复分区

这就是完整系统盘需要备份的内容。

但有一个地方要确认

你现在保存位置是:

Y:\20260526

这里的 Y盘很可能是你的 Hiren’s PE 启动U盘

如果 Y 盘就是 PE U盘,不建议保存到这里,原因是:

1. 容量可能不够
2. 速度慢
3. U盘不稳定
4. 后续还原时容易混乱

你最好保存到另一个移动硬盘,比如:

D:\SystemImage
E:\SystemImage
F:\SystemImage

你现在先确认一下

点 Destination 右边那个:

...

看一下有没有其他盘符,比如:

D:
E:
F:
G:

如果有移动硬盘,就选移动硬盘。


文件名建议改一下

现在它默认是:

{IMAGEID}-00-00.mrimg

这个也能用,但以后不好识别。

你可以把这个勾去掉:

Use the Image ID as the file name

然后文件名改成:

Win10_通用封装镜像_20260526_V1.0

最终生成:

Win10_通用封装镜像_20260526_V1.0-00-00.mrimg

如果你不想改,默认文件名也可以,只是建议你外面文件夹命名清楚一点,比如:

20260526_Win10_通用封装镜像

然后继续

确认保存位置没问题后,点:

Next

下一页如果没有特殊设置,继续:

Next

最后点:

Finish

弹窗里勾选:

Run this backup now

然后点:

OK

它就开始备份。


你现在最关键的判断

如果 Y: 是你插的 PE启动U盘,先不要点 Next,换成移动硬盘。

如果 Y: 是你专门插的 移动硬盘/大容量U盘,那就可以点:

Next → Finish → Run this backup now

备份完成后,这个 .mrimg 文件就是你的系统镜像。

建议你改一下完成后的动作

下面有个:

On completion: No Shutdown

如果你想备份完自动关机,可以改成:

Shutdown

不改也没事,备份完你手动关机即可。

七、以后新电脑怎么用

新电脑部署步骤:

1. 插入 PE U盘
2. 从 U盘启动
3. 打开 DiskGenius / Ghost
4. 选择之前做好的镜像
5. 还原到新电脑系统盘
6. 重启
7. Windows 进入首次初始化界面
8. 设置电脑名、用户、区域等
9. 进入系统后安装缺失驱动
10. 配置 IP、数据库地址、产线编号、相机 IP
11. 测试软件

八、给你一套适合公司的标准版本

你可以按这个方案做:

镜像名称

Win10LTSC_工控机通用封装镜像_采集软件环境_20260526_V1.0

母机内容

系统:Windows 10 LTSC / Windows 10 Pro
运行库:.NET、VC++、Java
数据库:SQL Server 客户端 / MySQL 客户端
软件:采集软件、上传软件、相机工具、PLC 工具
远程:远程桌面、向日葵、AnyDesk
工具:压缩软件、浏览器、Notepad++、HWiNFO
配置:防火墙规则、开机启动、桌面快捷方式

不建议放进镜像里的内容

客户现场固定 IP
客户数据库连接地址
产线编号
订单号
相机固定 IP
个人微信、QQ、邮箱登录状态
浏览器保存的账号密码

这些还原后再配置,避免不同客户、不同产线之间冲突。


九、你可以直接保存的操作说明

通用封装镜像制作流程

1. 准备一台母机电脑
2. 安装 Windows 系统
3. 安装所有必要驱动
4. 安装运行库、数据库客户端、采集软件、相机软件、PLC工具
5. 配置防火墙、远程桌面、开机启动
6. 清理系统垃圾、删除个人账号信息
7. 以管理员身份打开 CMD
8. 执行命令:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

9. 等待系统自动关机
10. 关机后不要再进入 Windows
11. 插入 PE U盘
12. 从 PE 启动
13. 使用 DiskGenius 或 Ghost 备份系统盘
14. 保存镜像到移动硬盘或服务器
15. 后续新电脑通过 PE 还原该镜像

十、最关键的一句话

你要记住这个命令:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

执行完关机后,直接进 PE 做镜像,不要再进系统

你用的应该是 Hiren’s BootCD PE,简称 HBCD PE。它里面确实自带 DiskGenius,官网工具列表里也能看到 DiskGenius、AOMEI Partition Assistant、EaseUS Partition Master 等硬盘工具。(hirensbootcd.org)

DiskGenius 是英文也没关系,可以照样做镜像。

你主要认这几个英文菜单就行:

英文中文意思用途
Backup Partition To Image File备份分区到镜像文件把 C 盘备份成镜像
Restore Partition From Image File从镜像文件还原分区把镜像恢复到新电脑
Backup Disk To Image File备份整个硬盘到镜像文件整盘备份
Restore Disk From Image File从镜像文件还原整个硬盘整盘恢复
Save All保存所有更改分区操作后保存

你现在要做镜像,按这个点

进入 Hiren’s PE 后打开 DiskGenius:

1. 左边选择系统盘 C:
2. 顶部菜单点 Tools
3. 选择 Backup Partition To Image File
4. 选择保存位置:移动硬盘
5. 输入镜像名称
6. 点击 Start / OK

镜像名建议写:

Win10_采集环境_通用封装_20260526_V1.0.pmf

关键:你应该备份 C盘,还是整个硬盘?

情况 1:只想备份系统环境

选:

Backup Partition To Image File

也就是备份 C 盘分区

适合:

系统、软件、环境都在 C 盘
以后还原到已经分好区的新电脑

情况 2:想完整复制整台电脑

选:

Backup Disk To Image File

也就是备份 整个硬盘

适合:

系统分区
EFI 引导分区
恢复分区
软件分区
数据分区
全部一起备份

如果你是做“标准母盘”,我更建议:

备份整个硬盘

因为 Windows 10 / Windows 11 通常不止一个 C 盘,还有 EFI 引导分区。整盘备份以后还原更省心。


推荐你这样操作

你的场景是以后装电脑直接用镜像,我建议:

DiskGenius 里选整个硬盘

Tools

Backup Disk To Image File

保存到移动硬盘

不要只备份 C 盘,除非你很确定后续会处理好引导分区。


还原时怎么点

以后新电脑要恢复镜像:

1. 进入 Hiren’s PE
2. 打开 DiskGenius
3. 选择目标硬盘
4. Tools
5. Restore Disk From Image File
6. 选择之前保存的镜像文件
7. 选择新电脑硬盘
8. Start
9. 完成后重启

一定要注意

做镜像前,如果你已经执行了:

C:\Windows\System32\Sysprep\Sysprep.exe /generalize /oobe /shutdown

电脑关机后,不要再进 Windows

正确顺序是:

Sysprep 封装

自动关机

插入 Hiren’s PE U盘

从 U盘启动

用 DiskGenius 备份整个硬盘

简单判断你该点哪个

你看到英文界面时:

备份镜像:
Backup Disk To Image File

还原镜像:
Restore Disk From Image File

你就记住这两个就够了。

如果你想更稳,直接用 Hiren’s 里面的 AOMEI Backupper 也可以,它通常比 DiskGenius 更像中文软件的操作逻辑:

Backup → Disk Backup
Restore → Select Image File

但如果你已经熟悉 DiskGenius,继续用它没问题。

备份完成后,下一次给新电脑装的时候,就是进 PE → 打开 Macrium Reflect → Restore → Browse for an image file → 选择这个 .mrimg → Restore Image。