无忧启动论坛

标题: 关于bcdedit和bcdBoot的几个问题 [打印本页]

作者: damaoxiong    时间: 2017-2-21 20:28
标题: 关于bcdedit和bcdBoot的几个问题
本帖最后由 damaoxiong 于 2017-2-23 15:59 编辑

各位老大,大致浏览了论坛的帖子没有发现答案,由于比较着急得到答案,如是重复提问请见谅!

****2017-02-22 15:4 更新****
问题前提:BIOS & MBR

问题 1 我发现BCD中有些能成功启动的条目中"device" 一项是空的,空的代表什么意义?如何决定从那个device上启动?

问题2 BCD终会有如此写法  “device partition=C:”  ,这里"c:" 是否是盘符,系统没启动,"c:" 在这里代表什么意义?有的网友提到这里写“c:"注册表里还有内容,系统启动时能读取注册表吗?

问题3 bcdedit 中的GUID 是否是系统生成的?同一块硬盘同一个分区,是否每次安装操作系统会生成不同的GUID,如何理解这个GUID的作用?适用范围仅限BCD内?是否有其他软件可以查询到此GUID?

问题4 如运行 “bcdboot u:\windows" 微软的原文是 复制启动文件 从 the installed Windows image to the system partition,其中 installed Windows image和 system partition分别指什么?
(答案 感谢 不知&yfwang0798) 此处的 system partition 指的是 激活分区。installed Windows image是指有”boot-environment files“的一个目录,一般是一个Windows目录。

问题5 原问题表述不清,修改了一下。安装NT6.x的MBR,分两个区,第一个区有bootmgr,第二个区只有NTLDR,激活第二个区,可以正常引导。原理是什么? NT6.x的 MBR可以 直接引导NTLDR(无Bootmgr)
作者: 不知    时间: 2017-2-21 21:20
第一个问题:
我遇到过类似情况,从NTBOOT启动的系统没有任何启动项,编辑BCD也会出错。但是系统仍然可以正常启动和使用,只是启动后(进入保护模式后)找不到BCD文件。device为空可能默认的是[boot](引导分区)。
第二个问题:
我在双系统里试了的,同一启动项在两个系统的device盘符不一样,也就是说BCD里储存的不是盘符或者不只是盘符,只是只显示盘符而已。
第四个问题:
the installed Windows image指的是U:\windows,the system partition猜测是bootmgr所在分区(一般是活动分区)或者ESP分区。


作者: yfwang0798    时间: 2017-2-21 23:01
问题1:device 为空,如果磁盘是mbr磁盘,由于只有一个活动分区,会读取活动分区上boot\bcd文件
问题二 device partition=c: 指的是盘符,对应你当前系统的盘符
实际上bcd存储中还存储分区的 id,你还可以在注册表中看到内容
运行 regedit
位置 hkey_local_machine\BCD00000000
我的理解他实际现查找对应分区的id ,c盘d盘只是便于人们的命令。
问题三:guid 是gpt磁盘的概念,在创建卷的时候产生,以后只要不删除,其guid就不变
问题四 :bcdboot u:\windows  /s  c:
u:\windows 是操作系统已经安装在u:\windows中,
用这个命令是系统不能启动,这时先用pe启动,执行此命令,会从u:\windows文件夹中复制相关文件到启动分区以重建引导配置文件。参数 /s c: 就是告诉命令将文件复制到c盘中
问题五 bcd是vista引入的概念,不适合xp

再补充一下,有时候系统能正常启动,但是运行bcdedit
出现如下错误
The boot configuration data store could not be opened.
用bcdboot命令修复后,重新启动后运行bcdedit命令,照样出错,
解决方法是使用微软winre 中的外名命令bootrec
pe启动,在pe中运行bootrec /RebuildBcd
前提是pe中有这个外部命令

作者: moran    时间: 2017-2-22 11:40
yfwang0798 发表于 2017-2-21 23:01
问题1:device 为空,如果磁盘是mbr磁盘,由于只有一个活动分区,会读取活动分区上boot\bcd文件
问题二 de ...

bootrec 是啥命令?
我 Win10下试了一下,提示 'bootrec'不是内部或外部命令,也不是可运行的程序或批处理文件!

作者: nttwqz    时间: 2017-2-22 11:51
moran 发表于 2017-2-22 11:40
bootrec 是啥命令?
我 Win10下试了一下,提示 'bootrec'不是内部或外部命令,也不是可运行的程序或批处 ...

该命令非系统内置,WinRE中内置

简单说,是个官方启动修复工具,懒的打字,详情百度
作者: damaoxiong    时间: 2017-2-23 16:03
yfwang0798 发表于 2017-2-21 23:01
问题1:device 为空,如果磁盘是mbr磁盘,由于只有一个活动分区,会读取活动分区上boot\bcd文件
问题二 de ...

第四个问题,应该比较明确了 感谢 不知&yfwang0798

问题4 如运行 “bcdboot u:\windows" 微软的原文是 复制启动文件 从 the installed Windows image to the system partition,其中 installed Windows image和 system partition分别指什么?
(答案 ) 此处的 system partition 指的是 激活分区。installed Windows image是指有”boot-environment files“的一个目录,一般是一个Windows目录。





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3