无忧启动论坛

 找回密码
 注册
搜索
一次装机 终生领工资最纯净的「微PE装机优盘」UEPON大师作品★IDC大全★服务器租赁、托管★优惠促销★
可防勒索的强大数据备份恢复软件卡瑞飞系统和装机二合一超级U盘广告联系 QQ:184822951 微信:wuyouceo
楼主: 2011hiboy

[教程] 制作ISO【3支持】BIOS+UEFI(IA32+X64同时支持)已测试成功!文件替换后直接用..

    [复制链接]
 楼主| 发表于 2013-4-16 16:39:27 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-16 16:51 编辑
baosheng00 发表于 2013-4-16 14:25
测试启动 UEFI X64

修改BCD文件同时也支持WIN8 PE X86系统


我看不出这两幅图之间的关系。看第一幅图应该是虚拟机截图的?

对于UEFI启动:
X64构架的电脑可以启动X64构架的PE,那是因为PE里面的winload.efi是64位的。不能启动X86的PE那是因为里面的winload.efi是32位的。

对于传统BIOS启动:
没有限制。可以启动X86,X64.

你应该放出在UEFI启动下:
1、X64构架的计算机,在UEFI启动模式下,既能启动X64又能启动X86的证明。

2、IA32构架的计算机,在UEFI启动模式下,既能启动X86又能启动X64的证明。

3、让X86PE同时支持X64构架和X86构架的证明

4、让X64PE同时支持X64构架和X86构架的证明

据我实机和虚拟机启动的结果来看是无法证明的。

回复 支持 反对

使用道具 举报

发表于 2013-4-16 20:40:28 | 显示全部楼层
就是要证明
这几点

1、X64构架的计算机,在UEFI启动模式下,既能启动X64又能启动X86的证明。

2、IA32构架的计算机,在UEFI启动模式下,既能启动X86又能启动X64的证明。

3、让X86PE同时支持X64构架和X86构架的证明

4、让X64PE同时支持X64构架和X86构架的证明


UEFI 启动→winload.efi(X86或x64) → 加载BCD文件 → 启动BCD文件选择进入项 →进入PE

我们可以修BCD文件,将X64修改为加载X86文件,结果可以启动。

说明BCD文件后部分我们可以自由继续DIY.

回复 支持 反对

使用道具 举报

发表于 2013-4-16 21:31:22 | 显示全部楼层
baosheng00 发表于 2013-4-16 20:40
就是要证明
这几点

没做出来就不要误导,32与64共用BCD出菜单的办法,我想应该是我的原创吧。
后来发现这个有一个大的弊端,就是EFI64的只能启动64位的PE,如果选32位的,还是会提示错误进不去,反之也是一样的,32位的机子选64位的PE,也会进不去。这样就形成了一个误导,导致很多人来问,32位的进不去。所以后来才搞不共用BCD的办法,严格地说不能叫同时支持32与64位,只能叫分别支持32位与64位。

当然,如果能够自由选32位与64位,那是最好的了,不知有不有这方面的技术。
回复 支持 反对

使用道具 举报

发表于 2013-4-16 21:49:04 | 显示全部楼层
baosheng00 发表于 2013-4-16 20:40
就是要证明
这几点

“我们可以修BCD文件,将X64修改为加载X86文件,结果可以启动。”

请问你是如何修改BCD文件的

点评

我用的是bootice.exe文件最新版1.0.6,修改BCD文件,前面的版本可能会出错。虚拟机测试时, 本来是出现64位和32位的win8pe选项,后来我用bootice.exe文件最新版1.0.6修改了一下,让他直接运行进入64位win8pe. 不出现  详情 回复 发表于 2013-7-3 16:56
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-17 03:29:26 | 显示全部楼层
baosheng00 发表于 2013-4-16 20:40
就是要证明
这几点

你能够发表你的看法我也挺高兴,生命在于折腾嘛....

按你说的的话,我之前也想过,不过没有动手实验,觉得麻烦了,现在既然你提到了我就实验一番好了。

不过提前预测喜爱:首先一个PE里面的 winload.efi替换了,那么始终这个winload.efi要么支持X86要么支持X64,如果你为了让X86的PE能够在UEFI模式下的X64构架的计算机上运行而替换winload.efi(X64,假设成功了),那么X86就不能支持IA32了,我觉得还是有瑕疵....??
我觉得能够让一个PE同时支持两种构架才好,我不知道能否实验成功...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-17 04:20:32 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-17 04:33 编辑
UEFI 启动→winload.efi(X86或x64) → 加载BCD文件 → 启动BCD文件选择进入项 →进入PE

我们可以修BCD文件,将X64修改为加载X86文件,结果可以启动。

说明BCD文件后部分我们可以自由继续DIY



我试验错误,没有得出想要的....你说的修改BCD可以启动,怎么个修改法呢?

纠正下你上面的启动顺序:

→UEFI 启动
→按照你的计算机构架查找Bootx64.efi或者bootia32.efi
→加载efi/microsoft/boot/BCD文件
→按照BCD文件里面的项目启动(假设启动PE)
→加载WIM文件到RAMDISK
→加载\windows\system32\winload.efi
→winload.efi接下来加载系统内核程序ntoskrnl.exe,并转交控制权,开始启动电脑...
→启动服务,N多启动项,进入桌面,操作.......启动完毕!

顺便说下,ntoskrnl.exe文件是由校验和签名的,只能由32位的winload.exe或者winlaod.efi引导,32位系统用的ntoskrnl.exe,64的位也是,
不能出现混搭引导,因为那不行,后面n多校验和调用文件都不匹配,引导会失败...

我不知道你修改的过程是什么,但是我想你可能哪些地方忽略了....
你说说你的方法吧,看看如何修改的...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-17 04:30:49 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-17 04:31 编辑
hhh333 发表于 2013-4-16 21:31
没做出来就不要误导,32与64共用BCD出菜单的办法,我想应该是我的原创吧。
后来发现这个有一个大的弊端, ...

32与64共用BCD出菜单的办法,我想应该是我的原创吧。

话说共用BCD是否就是efi\microsoft\boot\bcd  ?微软系统光盘不管x64,x86的操作系统,该位置都有一个bcd,然而bcd没有X86和X64之分,所以bcd我们可以自行创建修改....


后来发现这个有一个大的弊端,就是EFI64的只能启动64位的PE,如果选32位的,还是会提示错误进不去,反之也是一样的,32位的机子选64位的PE,也会进不去。这样就形成了一个误导,导致很多人来问,32位的进不去。所以后来才搞不共用BCD的办法,严格地说不能叫同时支持32与64位,只能叫分别支持32位与64位。

这句话的理解,“这样就会形成一个误导” 你说的误导应该是“很多人认为32位的PE没有用吧”

然而事实上应该就是:“EFI64的只能启动64位的PE,如果选32位的,还是会提示错误进不去,反之也是一样的,32位的机子选64位的PE,也会进不去”



我的理解没有误吧?开始我还理解岔了...
回复 支持 反对

使用道具 举报

发表于 2013-4-17 08:04:51 | 显示全部楼层
谢谢楼主。这就下载实验
回复 支持 反对

使用道具 举报

发表于 2013-4-17 09:10:13 | 显示全部楼层
2011hiboy 发表于 2013-4-17 04:30
话说共用BCD是否就是efi\microsoft\boot\bcd  ?微软系统光盘不管x64,x86的操作系统,该位置都有一个 ...

实际上很简单,因为共用BCD文件,在BCD中做上32和64的菜单,但还得用户选择,选错了就进不去。通过修改引导文件,让其指向不同的BCD,这样BCD中就不用做两个菜单,也不用麻烦用户选择,即达到了自动化。

我不知道你的启动模板是怎么安排的,请弄成自动的,可以避免许多麻烦。我看用菜单让用户选的方式发布的PE都有多人反馈什么32位用不了等等。因为这种方式很容易让用户认为,两个都可以用。
回复 支持 反对

使用道具 举报

发表于 2013-4-17 09:17:24 | 显示全部楼层
请问用启动管理器制作的量产,也可以支持BIOS+EFI双启动吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2019-2-16 11:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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