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

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

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

图3 WEPE网站

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

图5 diskpart

图6 DiskPart分配盘符

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


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

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

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

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

图13 Win7 System权限获取代码

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

图15讲述人的原型

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

图17分配修改权限


图18 19替换成功的Narrator.exe

图20成功取得system权限

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

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

图23想用bcdboot修复EFI分区

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

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

图26 mountvol界面
看了一眼说明之后,mountvol H: /s
奇迹出现了,EFI分区可以进去了,我把它备份了一下,彻底格式化(因为毕竟要返厂了,无所谓了),在一连串bcdboot c:\windows /l zh-cn /s h: /f UEFI
重启
果然,不能进系统了。
抱着碰碰运气的心里关闭了“安全启动”(secure boot)。
Surface——进度条——选择一个操作系统——Windows 10——正在寻找你——欢迎
哇!
重启——Surface——进度条——选择一个操作系统——Windows PE——重启——Surface——Windows Boot Management——Loading Files——进度条——Windows PE正在启动
!!!
插入以前做好的U盘,Surface——Windows Boot Management——Loading Files——进度条——Windows PE正在启动
尘埃落定。
总结一下:步骤
1.用mountvol这个微软自带工具,将EFI分区映射为本地磁盘。
在以管理员身份运行的命令提示符窗口输入mountvol H: /s
H就是待映射的盘符,这里举个例子为H盘。
给出mountvol官方文档:
Mountvol创建、删除或列出卷装入点。
用法
MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
MOUNTVOL [drive:]path /L
MOUNTVOL [drive:]path /P
MOUNTVOL /R
MOUNTVOL /N
MOUNTVOL /E
MOUNTVOL drive: /S
path 指定装入点将驻留的现有NTFS目录。
VolumeName 指定装入点的目标的卷名称。
/D 从指定的目录中删除卷装入点。
/L 列出指定目录的已装入的卷名称。
/P 从指定目录删除卷装入点,卸下此卷并使此卷无法装入。您可以创建
一个卷来再次使此卷可以装入。
/R 删除不在系统中的、卷的装入点目录和注册表设置。
/N 禁用新卷的自动装入。
/E 再次启用新卷的自动装入。
/S 将EFI系统分区装载到提供的驱动器。
2.用DiskGenius格式化EFI分区,格式FAT32
3.在以管理员身份运行的命令提示符窗口输入bcdboot c:\windows /l zh-cn /s H: /f UEFI
C:\Windows要替换成你安装的Windows所在磁盘
H替换成你映射EFI的盘符
给出bcdboot官方文档
Bcdboot - Bcd启动文件创建和修复工具。
bcdboot.exe命令行工具用于将关键启动文件复制到系统分区以及创建新的系统BCD存储
bcdboot[/l
[/m [{OS Loader ID}]]
source 指定windows系统根目录的位置。
/l 指定在初始化BCD存储时使用的可选区域设置参数。
默认值为“简体中文”。
/s 指定一个可选的卷号参数,该参数用于指定要将启动环境文件复到
的目标系统分区。默认值为固件标识的系统分区。
/v 启用详细模式。
/m 如果提供了操作系统加载器GUID,则此选项可以将给定的加载器
对象与系统模板合并起来,以产生可启动条目。否则,只合并全局
对象。
示例: bcdboot c:\windows /l en-us
bcdboot c:\windows /s h:
bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}
4.重启计算机
想看到更多这类内容?去APP商店搜,天天都有小欢喜。
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载
币交易所地址
其它软件274.98M
下载
iotx交易所app
其它软件14.54 MB
下载
zt交易所安卓最新版
其它软件273.2 MB
下载
币拓交易所bittok
其它软件288.1 MB
下载
u币交易所平台app
其它软件292.97MB
下载
热币全球交易所app官网版
其它软件287.27 MB
下载
多比交易平台app
其它软件28.28MB
下载
币赢交易所app官网安卓版
其它软件14.78MB
下载
toncoin币交易所安卓版
其它软件48MB
下载