bcdedit无法打开启动配置数据存储
bcdedit 无法打开启动配置数据存储 解决方案大全(适用于UEFI+MBR或UEFI+GPT)
对于Windows NT6系列的用户来说,现在的系统引导趋势是采用UEFI+GPT模式,,那么在GPT分区下,windows系列引导故障处理程序有bcdedit,bcdboot等。。正常情况下,执行bcdedit命令可以查看当前系统的引导情况,然而种种情况下,会出现意外的案列,下面进行相应的处理方案。
首先列出可能出现的现象:
1.无法打开启动配置数据存储 拒绝访问
2.无法打开启动配置数据存储 系统找不到指定的文件
3.无法打开启动配置数据存储 找不到请求的系统设备
2,对bcd文件所在的分区标记为活动分区,然而这仅适用于mbr分区模式,不适用于gpt分区方式
那么该如何解决其他的故障呢??
首先我们得从uefi+gpt的windows引导说起,流程如下(http://www.heu8.com/647.html ):
UEFI BIOS→ESP分区→ EFI/Boot/bootx64.efi→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.efi→加载内核启动系统
上述流程中的ESP分区(标准的ESP分区可以使用Diskgenious软件创建),为UEFI下Windows的引导分区,实际上就是一个FAT格式的分区,并无其他特殊的要求。并不像在传统BIOS下,启动Windows需要“活动的主分区”。在ESP分区下,存在几个重要的文件(“√”表示必不可少的文件):
√EFI/Boot/bootx64.efi(或bootia32.efi)
√ EFI/Microsoft/Boot/bootmgfw.efi
√ EFI/Microsoft/Boot/BCD
EFI/Microsoft/Boot/zh-CN
上面这几个文件可以系统安装光盘中找到,我们只要简单的使用“复制”-“粘贴”,放到ESP分区即可。当然也可以通过命令进行操作:
bcdboot C:\windows /l zh-cn
上述命令成功执行的前提:1、必须存在bcdboot.exe文件(原版Windows8.1/8/7的C:\Windows\System32下有此文件)。2、命令在bcdboot.exe文件所在路径下执行。3、若自行创建的FAT分区(不是标准的ESP分区),则需要执行命令:bcdboot C:\windows /l zh-cn /s Y: (Y代表FAT分区盘符)。
明明系统中存在esp分区,为什么bcdedit提示找不到呢,这种情况往往发生在ghost系统,或者不当分区操作之后。esp分区因为种种原因导致系统无法识别,这是我们需要重新新建esp分区,如下图,默认情况下esp分区类型为0xef,我们现在利用dg删除当前出现错误的esp分区,然后重新新建一个esp分区,如下图,
最后分区如下,重点注意箭头部分:
然后从系统盘中复制相应的文件,如下:
这时,我们再执行bcdedit,我们发现其运行正常了,而且msconfig,启动恢复菜单也都正常了,,所以总结产生的原因,就是esp的部分分区数据异常,导致windows无法识别,所以我们重新生成一个esp就解决了
当然对于UEFI+MBR模式下WinX64出现的这种现象,解决方案又不一样,具体如下:
mbr+uefi方式启动后,win7的bcdedit会从以下注册表读取信息,获取引导分区位置,从而将相应目录下的系统bcd文件加载到注册表HKLM\BCD00000000,然后进一步进行操作。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"FirmwareBootDevice"="multi(0)disk(0)rdisk(0)partition(1)"
"SystemBootDevice"="multi(0)disk(0)rdisk(0)partition(2)"
然而微软早期也许没有意料到会有用户在uefi+mbr模式下引导windows吧,对在mbr模式下识别系统bcd的情况没有进行相应的处理,所以导致mbr+uefi+win7x64环境下,bcdedit,msconfig,系统属性的启动和故障恢复os列表均出现了无法识别系统bcd的异常。
到了win8时期,微软也许意识到这种问题,对bcdedit进行了完善,进而可以识别mbr+uefi模式下的系统bcd。所以解决方案既可以用win8的bcdedit覆盖win7版本,也可以将win8x64的bededit复制到win7x64上,运行一次,然后win7x64就可以成功识别系统bcd了,不过这种方法重启后就失效了,HKLM\BCD00000000在重启后被卸载了需要重新加载。
以下为通过用procmon观察win8的bcdedit识别系统bcd的过程截图。
bcdedit无法打开启动配置数据存储相关推荐
- windows无法启动 bcd linux efi,bcdedit 无法打开启动配置数据存储的终极解决办法
对于Windows NT6系列的用户来说,现在的系统引导趋势是采用UEFI+GPT模式,,那么在GPT分区下,windows系列引导故障处理程序有bcdedit,bcdboot等..正常情况下,执行b ...
- BCDEDIT - 启动配置数据存储编辑器
Bcdedit.exe 命令行工具用于修改启动配置数据存储. 启动配置数据存储包含启动配置参数并控制操作系统的启动方式.这些参数以前位于 Boot.ini 文件中(在基于 BIOS 的操作系统中)或位 ...
- 华为云FusionInsight MRS HDFS组件数据存储策略配置指导
操作场景 默认情况下,HDFS NameNode自动选择DataNode保存数据的副本.在实际业务中,可能存在以下场景: DataNode上可能存在不同的存储设备,数据需要选择一个合适的存储设备分级存 ...
- ESXI添加硬盘时提示 无法创建 VMFS 数据存储 - 无法更改主机配置
ESXI添加硬盘时提示 无法创建 VMFS 数据存储 - 无法更改主机配置 1.打开ESXI的SSH 2.找到不能添加的硬盘路径 3.用SSH操作 1.打开ESXI的SSH 2.找到不能添加的硬盘路径 ...
- Excel催化剂开源第10波-VSTO开发之用户配置数据与工作薄文件一同存储
在传统的VBA开发中,若是用的是普通加载项方法,是可以存储数据在xlam上的,若用的是Com加载项方法同时是Addins程序级别的项目开发的,配置文件没法保存到工作薄中,一般另外用配置文件来存放供调用 ...
- php 存储数据的方法,在PHP中存储可轻松编辑的配置数据的最快方法?
与存储PHP变量的JSON相比,序列化更好. var_export可用于保存配置文件,而'include'可用于加载配置文件信息. 这是一种以编程方式保存配置数据且易于读取/写入的简便方法.以下是相同 ...
- rpm mysql 指定目录_rpm 安装并配置MySQL(包含指定数据存储路径)
1.安装rpm包 rpm -ivh /home/mysql-rpms/*.rpm 2.拷贝配置文件 cp /usr/share/mysql/my-small.cnf /etc/my.cnf 3.修改/ ...
- App Inventor 2数据存储组件之:微数据库,本地存储数据App下次启动可共享读取
数据存储一般分为两大类:本地 和 网络,本地一般是数据文件的形式存储在手机上,本地App每次启动都可以共享读取,但是不同的手机之间不可以共享数据:如果需要多个手机之间共享获取或存储数据的话,那就需要用 ...
- 数据中心的配置思路 存储 FC交换机 服务器
2021-07-09 大连工作本周小结 一.存储与服务器的连接 1.服务器A的2块FC卡各连接1个光纤口,每块FC卡还各有1个口没有连接,以备将来有变更的空间,服务器B也是同样配置 2.存储的2个控制 ...
最新文章
- TSNE Understanding
- AQS(CountdownLatch、CyclicBarrier、Semaphore)、FutureTask、BlockingQueue、ForkJoin
- Linux 系统服务管理(启动服务/停止服务/重启服务)的命令 - chkconfig/service/systemctl
- Linux游戏蒸蒸日上,Wikimedia坚持开放格式,等等
- windows 常见环境变量(%AppData%、%TEMP%、%TMP%)
- 3D视觉创新方案分享:仓储VSLAM/商品三维重建/静态场景重建/表情识别等多个方向...
- Sensor系列之aDSP端Sensor Driver流程
- 工作效率低,怎么办?
- R语言str_c函数
- 江苏大学计算机学院换届,关于计算机学院各支部选举结果的批复
- VC++ MFC实现的优秀的开源项目
- Android--耗电优化
- PLC程序案例一:喷泉电路(采用中间继电器完成分步控制)
- 计算机毕业论文致谢信范文,毕业论文致谢信范文
- 宝塔服务器源代码修改记录,宝塔BT面板修改相关记录,所有插件免费用
- C++中的new和delete运算符(内存管理)
- Java基础学习01(JDK)
- 如何利用Flutter框架开发运行小程序
- Modbus转Profinet网关连接台达ME300案例
- 他在自己的荣光中如此孤独,孤独地连一个敌人都没有剩下。