升级Win10 16193提示错误代码0xc0e90002致无法重装系统详细解教程

如题所述

注:方法总结写在了最后,是探索过程。
升级了Windows10开发者预览版,Build版本号16193。升级之后由于重重原因,打算回退Windows10Creator正式版。进行系统恢复时发现,原可以引导系统的U盘,出现了错误。
具体的错误现象:停滞在windowsBootManager界面,错误代码:0xc0e90002。查询宏映射得知0xc0e90002被映射为:STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION。看来是权限的问题。于是,关闭了secureboot,还是不行。
我想,是不是这个版本的windows10修改了UEFI的RAM代码,导致只能认16193以及更高的版本。我的电脑上正好有Fedora26Alpha测试版,调整好启动项,Fedora顺利开机。于是,排除了只认windows的可能。进而想到,应该不是修改了UEFI的RAM代码。(仅仅是应该,不确定是不是只识别16193更高版本)那么问题来了,怎么能把这个系统重装
Dism++这个软件开发团队设计了一个功能,在windowsRE中运行Dism++。WindowsRE是一个Windows应急恢复环境。

图1RE中运行Dism++选项
在WindowsRE中果然恢复成功。(恢复的是我以前备份过的Creator正式版系统)。出于好奇,我又试了一下U盘启动,还是0xc0e90002。
是不是应该更新一下U盘中的WindowsPE。一天过去了,无论如何(U+,量产)都不能正确引导。

图2WindowsPE
我的电脑只有UEFI没有BIOS,所以必须把U盘制作成FAT32格式,然而这个格式又不能放大于4G的文件,所以很头疼。先不管格式了,全盘格式成FAT32.
用UltraISO这个软件进行U+启动盘制作。所有的都试过了。仍然不好使。PE已经用到了Creator更新的PE。
上网搜了一个制作U+的PE。微PE。这个PE在知乎上评价很高,在此也推荐给大家。

图3WEPE网站

图4安装界面
在安装界面可以看到,直接安装到硬盘是可以的。为了排除U盘的干扰,这里直接安装到了硬盘。没有时间点击完成安装,直接操作Win+XUR(意思是重启)。屏幕上:Surface进度条选择一个操作系统winPE【重启】Surface进度条WindowsBOOTManagement0xc0e90002,再次GG。
既然是权限的问题,那么就跟证书有关。进入EFI分区,看到若干证书,修改时间是升级Insider的时间,还有BCD文件,修改时间就是安装微PE工具箱的时间。由于新版windows10Creator(Build版本号1703)没办法正常映射EFI分区。用磁盘工具DiskGenius强制映射一下,提示系统错误,没有指定权限是不是权限不足?管理员身份运行,系统错误。于是用起了windows自带的diskpart。
先看看图,和图下的文字说明,没什么可以打字的。

图5diskpart

图6DiskPart分配盘符

图7表面上看起来很好的E盘

图8,图9迷惑性的可以取得权限

图10傻眼了吧,根本没有安全选项卡

图11一键添加超级管理员权限的代码

图12驱动器上根本没有取得管理员权限选项
想到System权限吗?WindowsXP及以前的时代,可以直接System权限运行个explorer.exe,方法大家上网搜吧。WindowsVista后,不能像XP那么简单获取System权限了。Windows7以前(windows88.1没有测试过)可以通过创建服务的方式来取得System权限。代码还是给你们放出来。

图13Win7System权限获取代码

图14Microsoft:休想随便取得System权限
糟糕,可是我还有一个最后的办法取得System权限。替换讲述人(Narrator.exe)。

图15讲述人的原型

图16取得Narrator的超级管理员权限

图17分配修改权限

图1819替换成功的Narrator.exe

图20成功取得system权限

图21休想在System权限运行explorer.exe

图22终于可以了(这个是现在正常的样子,故障的时候哪里想得到截图)
用C:\Windows\Boot替换EFI分区里面的关键文件
替换完成后,心惊胆战的重启了一下,进入系统了,长舒一口气。
测试PE,仍然0xc0e90002。
尝试bcdboot

图23想用bcdboot修复EFI分区

图24正常状态下可以修复的EFI分区(故障的时候这个直接提示权限不足)

图25System权限下也不能修复
真正的解决方案mountvol

图26mountvol界面
看了一眼说明之后,mountvolH:/s
奇迹出现了,EFI分区可以进去了,我把它备份了一下,彻底格式化(因为毕竟要返厂了,无所谓了),在一连串bcdbootc:\windows/lzh-cn/sh:/fUEFI
重启
果然,不能进系统了。
抱着碰碰运气的心里关闭了安全启动(secureboot)。
Surface进度条选择一个操作系统Windows10正在寻找你欢迎
哇!
重启Surface进度条选择一个操作系统WindowsPE重启SurfaceWindowsBootManagementLoadingFiles进度条WindowsPE正在启动
!!!
插入以前做好的U盘,SurfaceWindowsBootManagementLoadingFiles进度条WindowsPE正在启动
尘埃落定。
总结一下:步骤
1.用mountvol这个微软自带工具,将EFI分区映射为本地磁盘。
在以管理员身份运行的命令提示符窗口输入mountvolH:/s
H就是待映射的盘符,这里举个例子为H盘。
给出mountvol官方文档:
Mountvol创建、删除或列出卷装入点。
用法
MOUNTVOL[drive:]pathVolumeName
MOUNTVOL[drive:]path/D
MOUNTVOL[drive:]path/L
MOUNTVOL[drive:]path/P
MOUNTVOL/R
MOUNTVOL/N
MOUNTVOL/E
MOUNTVOLdrive:/S
path指定装入点将驻留的现有NTFS目录。
VolumeName指定装入点的目标的卷名称。
/D从指定的目录中删除卷装入点。
/L列出指定目录的已装入的卷名称。
/P从指定目录删除卷装入点,卸下此卷并使此卷无法装入。您可以创建
一个卷来再次使此卷可以装入。
/R删除不在系统中的、卷的装入点目录和注册表设置。
/N禁用新卷的自动装入。
/E再次启用新卷的自动装入。
/S将EFI系统分区装载到提供的驱动器。
2.用DiskGenius格式化EFI分区,格式FAT32
3.在以管理员身份运行的命令提示符窗口输入bcdbootc:\windows/lzh-cn/sH:/fUEFI
C:\Windows要替换成你安装的Windows所在磁盘
H替换成你映射EFI的盘符
给出bcdboot官方文档
Bcdboot-Bcd启动文件创建和修复工具。
bcdboot.exe命令行工具用于将关键启动文件复制到系统分区以及创建新的系统BCD存储
bcdboot[/l][/s][/v]
[/m[{OSLoaderID}]]
source指定windows系统根目录的位置。
/l指定在初始化BCD存储时使用的可选区域设置参数。
默认值为简体中文。
/s指定一个可选的卷号参数,该参数用于指定要将启动环境文件复到
的目标系统分区。默认值为固件标识的系统分区。
/v启用详细模式。
/m如果提供了操作系统加载器GUID,则此选项可以将给定的加载器
对象与系统模板合并起来,以产生可启动条目。否则,只合并全局
对象。
示例:bcdbootc:\windows/len-us
bcdbootc:\windows/sh:
bcdbootc:\windows/m{d58d10c6-df53-11dc-878f-00064f4f4e08}
4.重启计算机
温馨提示:答案为网友推荐,仅供参考