无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 44881|回复: 50
打印 上一主题 下一主题

想在ESP分区放个PE,请问如何编辑BCD?——(已解决)

    [复制链接]
跳转到指定楼层
1#
发表于 2013-4-19 21:45:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ddianxing 于 2013-4-21 10:36 编辑

在ESP分区根目录上放了grldr.mbr, grldr, disk.wim 三个文件...

如图,我尝试在 BCD 里加 GRUB 和 PE 均不成功,不知错在哪里?请大侠指教!





------------------------------------

已解决!!!


其实除了GRUB启动项外在UEFI启动中不支持以外,我在BCD中添加的PE项目是没有问题的!但少了boot\boot.sdi这个文件,所以保证ESP分区的文件是这样的就行了:

根目录
├─boot目录
│  └─boot.sdi
├─efi目录
│  ├─boot目录
│  │    ├─zh-cn目录
│  │    │     └─bootx64.efi.mui
│  │    └─ bootx64.efi
│  └─microsoft目录
│        └─boot目录
│            ├─fonts目录
│            │        ├─ chs_boot.ttf
│            │        └─wgl4_boot.ttf
│            └─BCD
└─WINPE目录
    └─winpe_x64.wim


注意:如果bootmgfw.efi文件是win7里的,就无法启动win8PEx64,把bootmgfw.efi换成win8版本的后,就可以启动win7PEx64/win8PEx64了。


另外有个问题没有解决,就是我我在开机时按F11,只能选择Windows Boot Manager 的方式启动,而没有UEFI的其它选项。也就是说不能通过 bootx64.efi来启动,而只能通过bootmgfw.efi 来启动。在我的机子上bootx64.efi这个文件删掉没有任何影响!(2011hiboy 版主的对此文件作用有说明,见:http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

我猜想可能由于我的主板比较老(两年前的微星H61M-E33 B3 BIOS版本 12.3),对UEFI的支持不是很好!
推荐
 楼主| 发表于 2013-4-19 22:38:05 | 只看该作者
2011hiboy 发表于 2013-4-19 22:10
首先既然你说ESP分区,那么就是UEFI启动了,那么是不支持grub4dos的。可以支持grub2

再说WIM文件的添加, ...


谢谢你,原来GRUB不能在ESP里用,我把它从BCD里删掉了。

但PE按你的说法设置了,但还是不能启动PE。。。这个 WIM 是天意的win8pe.iso里提取出来的,应该没有问题。。。



回复

使用道具 举报

推荐
发表于 2013-4-19 22:13:12 | 只看该作者
看看
回复

使用道具 举报

推荐
发表于 2013-4-19 22:10:07 | 只看该作者
首先既然你说ESP分区,那么就是UEFI启动了,那么是不支持grub4dos的。可以支持grub2

再说WIM文件的添加,给你看图吧:

点评

这个工具能不能传一个?没找到哪儿下载?  发表于 2014-3-7 18:07

评分

参与人数 1无忧币 +5 收起 理由
1828872758 + 5 这工具在哪里下载啊?

查看全部评分

回复

使用道具 举报

5#
发表于 2013-4-19 23:14:59 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 23:18 编辑
ddianxing 发表于 2013-4-19 22:38
谢谢你,原来GRUB不能在ESP里用,我把它从BCD里删掉了。

但PE按你的说法设置了,但还是不能启动PE。 ...


错误信息怎么说?你看好了你的机器99%是X64构架的,Win8 x86的PE 在X64的机器上无法UEFI启动,你确保你下载的PE是X64的。

记得使用 BOOTICE 1.05 最新版
回复

使用道具 举报

6#
发表于 2013-4-20 07:32:24 | 只看该作者
2011hiboy 发表于 2013-4-19 23:14
错误信息怎么说?你看好了你的机器99%是X64构架的,Win8 x86的PE 在X64的机器上无法UEFI启动,你确保你 ...

我以为WIN8X64和X86系统都支持UEFI启动呢!

原来只支持X64

点评

我的电脑预装的就是win8x86,也是uefi启动啊?  详情 回复 发表于 2014-8-7 12:27
回复

使用道具 举报

7#
发表于 2013-4-20 07:36:46 | 只看该作者
2011hiboy 发表于 2013-4-19 22:10
首先既然你说ESP分区,那么就是UEFI启动了,那么是不支持grub4dos的。可以支持grub2

再说WIM文件的添加, ...


最近想重新YY一个UEFI/BIOS平台使用的PE(两栖PE)启动,菜单方面得好好充充电了。。。

支持版主!
回复

使用道具 举报

8#
 楼主| 发表于 2013-4-20 09:32:53 | 只看该作者
2011hiboy 发表于 2013-4-19 23:14
错误信息怎么说?你看好了你的机器99%是X64构架的,Win8 x86的PE 在X64的机器上无法UEFI启动,你确保你 ...

原来如此,谢谢版主!—— 偶的机子的确是X64的,我用的那个PE的确是32-Bit的,现在我就去找个64的PE!
回复

使用道具 举报

9#
 楼主| 发表于 2013-4-20 10:54:42 | 只看该作者
本帖最后由 ddianxing 于 2013-4-20 10:56 编辑

下载了64位的PE还是不行。。。把此PE放在C:盘和第二块硬盘也无法启动显示如下:
Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1、Insert your windows installation...
2、Choose your language...
3、Click Repair your computer
status: 0xc000000f
Info: the boot selection failed because a required device is inaccessible.

另外我还发现一个问题,就是我的机子开机时按F11,选择 Windows Boot Manager 可以进入系统,但选择“从本地硬盘启动”却无法启动,显示找不到操作系统。。。也就是说无法从bootx64.efi这个引导启动。。。
回复

使用道具 举报

10#
发表于 2013-4-20 13:31:36 | 只看该作者
wim启动还需要boot文件跟里面的boot.sdi文件
回复

使用道具 举报

11#
 楼主| 发表于 2013-4-20 13:47:23 | 只看该作者
leonxis 发表于 2013-4-20 13:31
wim启动还需要boot文件跟里面的boot.sdi文件

请问放在什么位置?
回复

使用道具 举报

12#
发表于 2013-4-20 14:54:33 | 只看该作者
boot文件夹放根目录
回复

使用道具 举报

13#
 楼主| 发表于 2013-4-20 17:39:19 | 只看该作者
leonxis 发表于 2013-4-20 14:54
boot文件夹放根目录

谢谢你的指教!—— 这样做了之后,只能进入win7安装光盘里的boot.wim或recover文件夹里的wim文件,论坛上试了几个PE都不行,包括阿弥陀佛的纯64也不行...
回复

使用道具 举报

14#
发表于 2013-4-20 17:53:15 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-22 22:41 编辑
糊涂 发表于 2013-4-20 07:32
我以为WIN8X64和X86系统都支持UEFI启动呢!

原来只支持X64

正确的:
在CPU指令集支持的情况下(普遍支持),系统能否支持UEFI启动,主要看系统和UEFI的匹配情况,
就是说32bit的UEFI可以运行支持uefi启动的x86系统;64bit的UEFI可以运行支持uefi启动的x64系统。
回复

使用道具 举报

15#
发表于 2013-4-21 14:41:35 来自手机 | 只看该作者
2011hiboy 发表于 2013-4-20 17:53 对是有限制的,CPU的限制。 win8 PE x86想要UEFI启动,CPU必需是纯X86框架的,就是没有X86-64指令集的CP ...

win8pe x86支持从UEFI固件启动,但是前提是你的UEFI也是32bit的,这个和CPU是什么架构的没有啥直接关系。
回复

使用道具 举报

16#
发表于 2013-4-21 14:54:51 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 15:35 编辑
拿铁不加糖 发表于 2013-4-21 14:41
win8pe x86支持从UEFI固件启动,但是前提是你的UEFI也是32bit的,这个和CPU是什么架构的没有啥直接关系。

win8pe x86 支持从UEFI启动,那么该计算机构架就必须是IA32的,IA32构架就是纯X86的CPU构架,搭配32bit系统。


CPU的指令集不同决定了计算机运行的程序类型,CPU是纯X86的那么只能运行32位程序,UEFI固件类型是根据CPU支持的指令集来编译的,受CPU的制约。


注:
目前市场上大多数的PC的CPU指令集除了纯X86的指令集外还集成了X86-64指令集(AMD64;Intel64(EM64T)),可以支持64bit的系统和程序。
配备该类型的CPU的计算机的UEFI固件是X64的。




点评

了解了。用cpuz  详情 回复 发表于 2013-9-26 22:10
回复

使用道具 举报

17#
发表于 2013-4-21 15:57:13 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 18:57 编辑

这个和cpu架构没什么关系,是主板固件的事情。配32位UEFI的主板只能用32位系统,配64位UEFI的主板只能用64位系统..
回复

使用道具 举报

18#
发表于 2013-4-21 16:58:49 | 只看该作者
fujianabc 发表于 2013-4-21 15:57
这个和cpu架构没什么关系,是主板固件的事情。配32位UEFI的主板只能用32位系统,配64位UEFI的主板只能用6 ...

我觉得fujianabc老大的说法是正确的,64位能够来,32位应该更加不在话下,BIOS方式两者都可以就是证明。只是这些个无良商家想钱想疯了,弄的只支持64的UEFI,想强推64位,好象主要是intel主板在那里搞这些妖蛾子,如果两者都支持的话,可能大多数人就不会64位了,硬件软件厂商没得事做。
回复

使用道具 举报

19#
发表于 2013-4-21 18:43:45 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 19:02 编辑
hhh333 发表于 2013-4-21 16:58
我觉得fujianabc老大的说法是正确的,64位能够来,32位应该更加不在话下,BIOS方式两者都可以就是证明。只 ...


已经回复,那是我的分析。虽然有点长,我还是认真分段了...

PS:目前市面上的CPU包含X86和X86-64指令集,肯定可以支持32bit和64bit的系统,
然而我们BIOS可以双支持那是因为BIOS没有分32bit或者64bit,X86的指令集一直支持BIOS,而市面CPU能支持64bit的原因自然也是UEFI是64bit的,CPU能够执行其用到的指令。
不支持32bit的原因,自然是从发展的角度来说,X64比X86更具有潜力,厂家压根没有集成UEFI 32bit,所以不支持,我想加入能够在市面CPU的前提下,将UEFI 64bit 改为UEFI 32bit
那么肯定能支持X86的系统。

http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=305291&pid=2760920&fromuid=396698
回复

使用道具 举报

20#
发表于 2013-4-21 18:44:18 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 19:01 编辑
2011hiboy 发表于 2013-4-21 14:54
win8pe x86 支持从UEFI启动,那么该计算机构架就必须是IA32的,IA32构架就是纯X86的CPU构架,搭配32bit系 ...


#已经回复,那是我的分析。虽然有点长,我还是认真分段了...
http://bbs.wuyou.net/forum.php?m ... &fromuid=396698
回复

使用道具 举报

21#
发表于 2013-4-21 18:55:32 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 22:48 编辑

****我同意UEFI固件类型对PE启动的影响,也一直没有否认这点,但是我不同意这和CPU没有任何关系*****

首先我坚持认为 win8 x86的PE想要UEFI启动,必需要CPU的支持
我同意UEFI如果是32bit的能够支持win8 x86 pe的运行;但我认为这是只是看到了问题的表面
不管UEFI是32bit或者64bit这都需要CPU的指令来支持,否则,UEFI加载了一个efi文件,那么efi文件的运行呢?UEFI给它解释指令吗?还是efi自己给自己解释指令?
不,他们都没有指令集,那么肯定是CPU给efi文件解释它运行时发出的指令,那么CPU的指令集将是一切的核心,具有最终决定权。




理论及证据:
市面CPU=市面上普遍的CPU,包含有X86和X86-64指令集
------------------------------------------------------------------

首先计算机的运行最核心的就是CPU,程序最终解释并运行也是靠CPU里面的指令来完成的。UEFI固件主要是由c写的,
然而任何程序不管采用什么高级程序设计语言编写的,都需要通过高级语言编译程序或者解释程序先翻译成 x86指令才可以被CPU执行。
UEFI固件也不会例外,不信的网友,请拔掉CPU看看能否通过UEFI启动efi文件.....



>::纯X86的CPU能否运行Windows/UEFI  64bit ??【不可以
假设你在使用纯X86的CPU的计算机上使用Windows/UEFI 64bit或者运行含有x86不能识别的指令的程序,那么我想是不可能运行成功的,
正由于这点,才有了X86-64指令集的问世,这个指令集包含了一些可以识别64bit需要的指令。



>::市面CPU能否运行Windows/UEFI 32bit ??【可以
再说到目前的CPU,它包含X86和X86-64指令集,却不能在UEFI运行Win8 x86 PE的原因,原因就出在UEFI固件的问题上,是它不支持,
这也是我首先同意说UEFI版本能够影响到PE的运行。但是我想现如今的机器,如果将UEFI 64bit 换成 UEFI 32bit固件的话,那么肯定能够UEFI下运行Win8 x86 PE。
因为CPU指令集是包含该系统运行所需要的所有指令的。

例1:
VM虚拟机新建一个Windows 8,UEFI固件32bit,我们运行Win8 x86,
成立条件:市面CPU能支持+系统32bit+UEFI 32bit
结果:可以支持win8 x86pe的运行,进入系统里面可以看到虚拟机的CPU包含的指令集和我们实机的指令集一模一样。
          符合我们说的只要CPU支持,当UEFI时32bit 时候,可以支持win8 x86pe的运行。
而我们目前的机器都不集成UEFI 32bit,不支持Win8 x86PE的启动,
          恐怕是从X64未来的发展的角度考虑的,而非CPU不支持..


例2:IA64系统下的nvrboot.efi(仅适合于:纯X64CPU,UEFI 64bit)运行于:市面CPU 行+UEFI 64bit
已成立条件:UEFI 64bit支持,CPU不支持(本楼尾可以下载nvrboot.efi做一下测试)

结果:无法运行,理论:CPU指令集不支持,其他都是浮云,该efi需要的一些指令只有纯X64的CPU才具备的指令集....

有这么一种情况:
如果我找到一台纯X86的CPU的机器,内存加到1GB,运行VM9 x86绿色版(我目前用的),那么我运行虚拟机新建Windows 8 X64,UEFI是64bit,那么能否UEFI启动win8PE x64 呢?
答:我没有条件实验,但不妨碍我猜测:我想即使UEFI固件类型和系统类型一样,假如没有CPU指令集的支持,那么一切都是浮云...


我最终认为CPU不支持的你无论如何都不可能支持启动(除非换CPU),CPU支持的你肯定能通过其他手段启动。


如果耐心看完这么长的论述的话,还坚持说:
win8 x86的PE想要UEFI启动只需要UEFI固件支持,和CPU没有任何关系的话,那我无话可说了,因为我都说完了.....

nvrboot.zip (46.35 KB, 下载次数: 40)


回复

使用道具 举报

22#
发表于 2013-4-21 19:24:24 | 只看该作者
看来uefi启动的pe块研究出来了。
回复

使用道具 举报

23#
发表于 2013-4-21 19:29:55 来自手机 | 只看该作者
不一定非要有uefi打头的启动项,我的主板开启UEFI后,启动项也没有UEFI打头,直接选择你要启动的设备即可。就会进入计算机默认引导…
回复

使用道具 举报

24#
发表于 2013-4-21 19:55:39 | 只看该作者
2011hiboy 发表于 2013-4-21 18:55
****我同意UEFI固件类型对PE启动的影响,也一直没有否认这点,但是我不同意这和CPU任何没有关系*****

首 ...

不知道你举nvrboot.efi干什么,那个是运行于安腾平台的东西,和x64没有任何关系,那个是IA-64,IA-64和x64是两种完全不同的64位架构。而且ia-64那个是EFI 1.x,不是UEFI。
回复

使用道具 举报

25#
发表于 2013-4-21 22:44:40 | 只看该作者
fujianabc 发表于 2013-4-21 19:55
不知道你举nvrboot.efi干什么,那个是运行于安腾平台的东西,和x64没有任何关系,那个是IA-64,IA-64和x6 ...

......我举nvrboot.efi的目的?
不管他运行于什么平台,只要它是CPU+系统 的结构就OK,我写这个并不是我混淆了IA64与X64的区别,事实上我能够区分这两者,正是由于这点我才要举nvrboot.efi的例子,当CPU构架不支持当前启动时候,UEFI再怎么变也是无力的。
不管EFI 1.x 还是后来的UEFI,他们的标准,是统一的。
回复

使用道具 举报

26#
发表于 2013-4-21 22:47:40 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-21 22:57 编辑

UEFI固件类型能对PE和系统的启动产生影响,也不能否认,但与CPU肯定有不可分割的关系,况且CPU和系统的联系一直是比较密切的...






其实我说的那种在纯X86的CPU上面验证的方法能够通过就能将问题说明了,可是我身边的电脑,都是X64的,没法验证这最有力的一点...
纯X86的恐怕只有我家的256MB内存的TCL才有可能,以后有机会验证下在纯X86计算机的CPU情况下试验VMware UEFI 启动...

PS:或许等我有机会验证完毕后,已经没人关注这个话题了,楼主的问题已经解决,我想也没必要争论了,真相就在那,也在我们的心中。
回复

使用道具 举报

27#
发表于 2013-4-22 09:57:07 | 只看该作者
2011hiboy 发表于 2013-4-20 17:53
对是有限制的,CPU的限制。
win8 PE x86想要UEFI启动,CPU必需是纯X86框架的,就是没有X86-64指令集的CP ...

“win8 PE x86想要UEFI启动,CPU必需是纯X86框架的,就是没有X86-64指令集的CPU”我在VMware中开启UEFI然后首先安装32bit的win8,可以安装完成也证明使用的是UEFI,但是我在这个虚拟机中安装64bit的win8就不可以,我的CPU是i5的。何解?
回复

使用道具 举报

28#
发表于 2013-4-23 00:25:38 | 只看该作者
拿铁不加糖 发表于 2013-4-22 09:57
“win8 PE x86想要UEFI启动,CPU必需是纯X86框架的,就是没有X86-64指令集的CPU”我在VMware中开启UEFI然 ...

对于这个问题,我之前已经认同UEFI固件对PE启动的影响,
事后主要针对CPU和UEFI对启动的影响进行讨论的..

我和 fujianabc 元帅的争论完毕了,

结论:
只要CPU指令集支持+UEFI 固件匹配 那么是可以进行UEFI启动的。
==========================================

现在针对你说的,你的CPU指令集支持x86和x64,那么剩下的就是UEFI固件匹配的问题了。显而易见..
回复

使用道具 举报

29#
发表于 2013-4-23 13:30:23 | 只看该作者
学习了学习了学习了学习了学习了学习了学习了学习了学习了
回复

使用道具 举报

30#
发表于 2013-4-24 16:35:13 | 只看该作者
2011wap774411 发表于 2013-4-21 19:24
看来uefi启动的pe块研究出来了。

不是已经出来很多了吗 ……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-30 07:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表