Sysprep必须在审核模式下执行/generalize参数以彻底剥离硬件特征,否则部署后易蓝屏;需禁用BitLocker、Defender及OEM工具,运行sysprep /generalize /oobe /shutdown /quiet后自动关机完成通用化。

要在虚拟机中用Sysprep封装Windows系统前彻底剥离硬件特征,必须绕过普通桌面环境直接进入审核模式,在SID和驱动缓存固化前完成通用化准备——否则镜像部署到新VM时大概率蓝屏或卡在“正在准备Windows”。
确认虚拟机处于可封装的初始状态
启动虚拟机后,**不要点击“下一步”进入OOBE设置流程**,而是在用户名输入界面按 Ctrl+Shift+F3 强制跳入审核模式;此时屏幕短暂黑屏后直接进入无登录框的桌面,且任务栏右下角显示“审核模式”水印。
验证是否成功:以管理员身份打开 PowerShell,运行 whoami 应返回 NT AUTHORITY\SYSTEM,运行 slmgr /xpr 应提示“该机器未激活”。若显示普通用户或已激活,则说明已误入OOBE,需重装系统重来。
禁用所有干扰Sysprep的系统服务与功能
方法一:关闭BitLocker(若启用)
在PowerShell(管理员)中执行 manage-bde -status,如显示“Protection On”,必须先运行 manage-bde -off C: 等待解密完成,否则Sysprep会直接报错退出。
方法二:停用Windows Defender实时防护
进入“Windows安全中心 → 病毒和威胁防护 → 管理设置”,将“实时保护”和“云提供的保护”全部关闭——不关掉会导致Sysprep进程被拦截并静默失败,日志里只留一行“Error: 0x80070005”。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
方法三:卸载OEM虚拟化工具与第三方代理
在“设置 → 应用 → 已安装的应用”中,删除 VMware Tools、VirtualBox Guest Additions、Hyper-V Integration Services(除非你确定目标VM平台一致);同时检查服务列表(services.msc),禁用名称含“Agent”“Update”“Guardian”的所有非微软服务。
执行Sysprep通用化并强制清除硬件绑定信息
第一步:以管理员身份打开命令提示符
第二步:输入完整命令并回车:C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /quiet
这个命令中 /generalize 是不可省略的核心参数,它会重置SID、清空事件日志、删除恢复环境元数据、卸载所有硬件特定驱动——漏掉它,生成的镜像在另一台VM上首次启动就会触发 INACCESSIBLE_BOOT_DEVICE 蓝屏错误。
第三步:等待进度条走完,虚拟机自动关机;此时无需任何手动操作,关机即代表通用化完成。切勿选择“重启”或“注销”,那会导致系统残留未清理的驱动缓存。










