文档章节

Win10升级后执行系统封装(Sysprep)报错

lyunweb
 lyunweb
发布于 07/19 22:19
字数 1999
阅读 272
收藏 0

开始封装

一年多以前开始给公司封装Win10系统,便于统一给公司电脑初始化携带各种软件的系统,致力于装完既可以开发的状态。那时候最新的版本是Win10 1703版本,自然就以他为母盘,然后结合Vmware、Easy Sysprep、万能驱动 v7来进行封装工作,封装教程可以自行去IT天空搜索。 一开始很顺利的安装好 Win0 1703和各种开发软件,并且顺利的使用Easy Sysprep封装了零云专用Win10.wim,大概有20多GB。最后也顺利的给公司的新电脑统一安装了系统。

问题出现

没过多久微软更新了Win10秋季创意版,微软现在的套路是每年4月和10月各做一个大版本更新,分别叫做比如1703、1709。于是开始给Vmware里面的系统进行升级,愉快的升级好了,照例打开Easy Sysprep,没想到报错???难道微软不支持升级后的系统封装,按照微软之前的做法,如果从Win XP升级到Win 7这样大版本是不支持封装的,试了几次还是不行,于是百度谷歌,终于找到一个看错误原因的方法,打开C:\Windows\System32\Sysprep\Panther\setuperr.log查看即可,看到错误大致是说什么Systeprep fails sinceXXXXXX was not installed as all users......找到原因了好像是Win10说实话没啥用的APPX导致的,于是再谷歌找到一堆人遇到同样的问题,参考各种回帖尝试了几次没有效果,期间升级无数次Win10又恢复(利用VMware的快照功能)最后暂时放弃了。 参考过的链接各种脚本不限于:

https://social.technet.microsoft.com/Forums/windows/en-US/ac859ded-d68d-483c-a462-7f4710d963bf/remove-an-appx-app-from-deleted-user-account-so-i-can-sysprep?forum=win10itprosetup

https://github.com/10se1ucgo/DisableWinTracking/issues/48

https://github.com/W4RH4WK/Debloat-Windows-10/blob/47c2666ddd162a511a6517d74502d3dc8465a430/scripts/remove-default-apps.ps1#L64-L98

甚至于无IT天空发帖求出https://www.itsk.com/forum.php?mod=viewthread&tid=387479&page=1#pid10926540 然而并没有用。搁置了一段时间。

再度尝试解决

今天眼看Win10 升级到1803了,心想说不定这回微软修复了这个问题呢,于是又将Vmware里的1703直接升级到1803。说实话升级的原因是1803多了一个微软学习iOS的UI特性,导航栏支持高斯模糊。升级完照例在此用Easy Sysprep封装,还是报半年前同样的错误???难道是Easy Sysprep版本太老了,去官网看看问问,好像并没有人有问题。看来还是Win10的问题,看了错误日志还是去年同样的错误,再一次无数次尝试谷歌百度,各种帖子的回复逐渐变多了,经过几个月的总结,帖子内容大概是这样的:

1、首先好多人遇到同样的问题都在抱怨微软

2、微软的官方论坛也有官方员工在回复解决办法类似Get-AppxPackage,并且坚持认为有用,经过广大网友和我反复验证确实没有用

3、有人贴出来微软官方文档说Wind10升级后是支持封装的,不过要求最低版本是1607。看到这里我感觉希望很大了,大佬都说可以了那一定可以。

很多人在对微软的不负责任吐糟开始尝试自己解决,吐糟还包含类似M$ fix this Shit之类。一开始我觉得这些网友太过激进,万一不是微软问题是你们自己的问题呢。后来事实证明Windows写的真的是很Shit,不知道是不是临时工参与的编程工作。经过广大网友的探索,终于找到原因所在:如果你删除了一个win10的账户,win10并不会删掉与之相关的APPX安装记录,本来吧不删就不删吧,居然连卸载命令手动都无法删除,最后大家不得不尝试手动解决,有人发现这些信息(哪个用户安装了哪个APPX)保存在%ProgramData%\Microsoft\Windows\AppRepository\StateRepository-Machine.srd里面,而这个文件是一个Sqlite数据库文件,于是大家开始手动操作,直接改数据库还不行吗!!!貌似有人成功了,我也开始尝试去做,用Sql软件打开进行编辑,又尝试了无数次宣告失败,这个数据库的表设计复杂难懂,关键删除记录居然还报Tigger错误???为了删记录,甚至把Tigger删掉,删完记录后再执行回来,还是不行。最后发现有位网友激进的答案,说大家别改了,直接删掉这个文件,然后执行WSREST.exe重置。赶紧又试了一下,发现成功是成功了,真的可以封装了,而且封装的系统是好的,但是母盘系统的开始菜单却打不开了,连设置都打不开???难道不能删,又尝试回去改数据解决,失败了又回来尝试删文件并重置解决,最后在绝望之中居然黎明的曙光到来了。直接说下步骤:

1、下载PsExec工具(这是一个提权工具,要不然无法访问StateRepository-Machine.srd数据库)

2、管理员权限打开CMD执行psexec -i -s cmd,会让CMD又SYSTEM高级权限

3、在Winddows里关闭StateRepository服务

4、在CMD里删掉StateRepository-Machine.srd

5、执行C:\Windows\System32\WSREST.exe

6、重启

7、到这里其实封装的问题已经解决了,但是留下一个后遗症,开始菜单失效

8、重启后再次执行 C:\Windows\System32\WSREST.exe 会打开Windows Stoe应用商店,随便找个应用安装

9、期间又加上Get-AppxPackage删除和重装命令,同时又使用腾讯电脑管家的仿Win7风格开始菜单点来点去

10、没过一会儿开始菜单居然回来了!!!!

回想这个问题的解决过程,内心真的是很崩溃的,多少次尝试,多少次绝望,还好今天解决了。写这篇帖子其实有以下几个目的:

1、给遇到同样问题的人一个参考

2、Windows写的真的很差,可能是历史包袱太大了,系统又巨大,团队协作的难度非常大吧可以理解

3、希望大家写程序时一定要严谨,各种业务操作该串联的就串联,不要给后来人留坑,不要像Windows那样不负责任,不过这也是Windows一贯的作风,没有哪个软件是可以卸载干净的,你要是安装了一个Vistual Studio这种宇宙IDE,这辈子都别想干净的卸载了,只能重装系统。。。。不过听说Windows搞了一个小组专门研究Windows模块化,组件化,希望他们能早日成功吧,毕竟我们零云早已经实现高度模块化、组件化了。

4、希望大家在遇到问题是永不放弃,办法总比问题多。(这个问题可能是我进入互联网行业遇到最坑解决时间最长的问题了)

零云https://www.lingyun.net 是一套国内领先的互联网积木式开发云平台,追求简单、高效、卓越。可轻松实现支持多终端的互联网产品快速搭建、部署、上线。系统功能采用模块化、组件化、插件化等开放化低耦合设计,应用商城拥有丰富的功能模块、插件、主题,便于用户灵活扩展和二次开发。

© 著作权归作者所有

共有 人打赏支持
lyunweb
粉丝 26
博文 7
码字总数 4192
作品 4
南京
CEO
windows系统sysperp封装提示发生致命错误解决方法

我们制作系统镜像模板的时候,可能需要多次使用sysprep进行系统封装,但是几次过后,就会提示“发生致命错误”导致封装无法继续下去。 主要是我们使用Sysprep工具进行封装的时候,会减少“W...

水幕青辰
06/26
0
0
MDT2013批量升级Win7客户端至Win10

前段时间测试如何通过MDT升级Win7至Win10,顺带将office2010升级为office2016,保留原用户的配置文件。之前一直没时间,今天刚好周六,现将过程记录下来,便后来翻阅。 需求 通过MDT 实现将w...

湖塘79
07/07
0
0
在window下如何封装属于自己的系统

Windows7 系统封装 准备工作:准备好封装工具、操作系统等; 1、万能驱动 v7.17.521.3 测试版: 里头有win7、win10 32和64的这里用到的版本是win7X64位的。如果要封装相对应的系统,请选择相...

IT_luo
2017/07/20
0
0
Windows 10封装中出现“无法验证你的Windows安装”错误解决方法

近期(当时写文章时在今年4月份)在测试在Windows Server 2016 的虚拟桌面,在测试Windows 7的虚拟桌面时一切良好,但在测试Windows 10的虚拟桌面时,在对Windows 10的虚拟机进行封装时,出现...

王春海
2017/10/24
0
0
MDT 2013 从入门到精通之无法分析或处理pass[specialize]文件

技术问题描述: 中文报错:Windows无法分析或处理pass[specialize]的无人参与应答文件[C:WindowsPantherUnattend.xml]。 应答文件中指定的组件或设置不存在。 英文报错: "Windows could not ...

wenzhongxiang
2015/09/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部