无忧启动论坛

标题: 关于BIOS和EFI双启动 [打印本页]

作者: hhh333    时间: 2012-12-23 14:25
标题: 关于BIOS和EFI双启动
既然网友说到这个双启动ISO,我就再详细讲一下:
1、首先要生成一个支持双启的ISO,使用的命令如下:

oscdimg -m -o -j1 -h -u1 -udfver102 -lH3CDALL -bootdata:2#p0,e,bH3_MGRLD.BIN#pEF,e,befisys_noprompt.bin H3CD H3CD.ISO
以上红色字部分我解释一下,H3CDALL-------标签(l的意思就是label)
                                      H3_MGRLD.BIN-------BIOS方式用到的启动文件
                                      efisys_noprompt.bin-------UEFI方式用到的启动文件
                                      H3CD-------要打包的目录
                                      H3CD.ISO-------打包以后的文件
其中H3_MGRLD.BIN必须使用4kb的那个光盘引导文件,可以用Win8原版光盘中的etfsboot.com修改得来,如下图(表示要调用BOOT下的h3_mgrld.bin)


生成成功后,可以用ultraISO看一下,是UDF格式的,这个用来启动win7/8PE是没有问题的,但03PE是启动不了的。另外,UDF格式中我那个二次打包的OP.IMG文件IMDISK也装载不了,如果不解开打包的话,以上两种方式进去都是“光板”PE!因此,必须要将这个双启的ISO进行改造。

2、用最新版的UltraISO重写这个文件
打开这个ISO,将里面的文件全部清除再重新拖进去,指定好启动文件(这个时候可以任意指定启动文件了)。再进入属性作如下修改:


先指定属性再拖文件也是可以的,注意必须先全部清掉再拖进来。以上做好后重新保存就OK了,两种方式都是成功的。

3、在8.02以上的VM虚拟机中可以用记事本打开虚拟机VMX文件,加一行:firmware = "efi"   就会默认采用EFI方式启动。目前win8无论64位还是32位都支持EFI启动的,win7的好象只有64位支持,听说实机的主板都是原生64位的,我想既然win8-32位已经支持,32位的实机主板应该也会生产。以上做法64位与32位是通用的。


以上如果做成一个ISO模板,只要将文件往里面丢就可以了,按ultraiso官方的说法,它不会破坏EFI的启动信息。如果大家已经下了我的那个1221版,将里面的文件全部清掉再保存就可作模板。

[ 本帖最后由 hhh333 于 2012-12-23 14:38 编辑 ]
作者: fujianabc    时间: 2012-12-23 14:44
32位uefi只有一些抵挡平板电脑会有了,普通pc机都是一步到位从16位bios升级到原生64位uefi的。
作者: 527104427    时间: 2012-12-23 18:39
爱折腾的同学们有福啦,求得真经
作者: achst    时间: 2012-12-23 18:58
这件事我没明白,难道一个UEFI这么困难吗?

直接利用WIN8系统的ISO不就可以了吗?连打包都不要。

难道这不就不是活生生的模板吗?

不知道我说的对不对。我也去了解一下。

[ 本帖最后由 20121222 于 2012-12-23 19:01 编辑 ]
作者: hhh333    时间: 2012-12-23 19:15
标题: 回复 #4 20121222 的帖子
这应该也是可以的,只是那个一般是由efisys.bin建立起来的,启动时有一个按任意键进入CD的提示,否则就从硬盘启动,作安装系统的光盘是可以的,如果用来做PE就不合适了。
有点难度是因为ultraISO等图形模式的工具还不能直接写EFI启动文件。

[ 本帖最后由 hhh333 于 2012-12-23 19:17 编辑 ]
作者: achst    时间: 2012-12-23 19:22
原帖由 hhh333 于 2012-12-23 19:15 发表
这应该也是可以的,只是那个一般是由efisys.bin建立起来的,启动时有一个按任意键进入CD的提示,否则就从硬盘启动,作安装系统的光盘是可以的,如果用来做PE就不合适了。
有点难度是因为ultraISO等图形模式的工 ...


我一直是这样看的,WIN8系统是最大的WIN8PE。

我们要做PE,功能都在WIN8里了,只不过需要挑选和精简而已。

针对“按任意键进入CD的提示”,直接删除 .bin 后缀的文件怎么样,有影响吗?

(我猜测没关系,希望老大帮忙测试看看,截个图。)

[ 本帖最后由 20121222 于 2012-12-23 19:41 编辑 ]
作者: hhh333    时间: 2012-12-23 19:38
标题: 回复 #6 20121222 的帖子
没看懂你所说的:“直接删除 .bin 后缀的文件怎么样”
作者: 2012ysgj    时间: 2012-12-24 07:51
又学到东东了,非常详细.
唯一不明处
efisys_noprompt.bin-------UEFI方式用到的启动文件
这文件从哪来,要怎么改.
作者: 2012ysgj    时间: 2012-12-24 07:56
H3_MGRLD.BIN,表示要调用BOOT下的h3_mgrld.bin
efisys_noprompt.bin又是调用哪.
作者: hhh333    时间: 2012-12-24 08:25
标题: 回复 #8 2012ysgj 的帖子
这些文件都来源于win8安装光盘。
作者: zhaohj    时间: 2012-12-24 08:33
说明一下,H3使用的是win8启动方式的双启动,即:
1:普通bios方式启动,引导文件是(cd)\boot\etfsboot.com,H3_MGRLD.BIN是此文件改名而来;
2:UEFI方式启动,引导文件是(cd)\efi\MicroSoft\efisys_noprompt.bin,efisys_noprompt.bin是此文件改名而来。
转而引导bootmgr或bootmgr.efi。
目前新版grldr与bootmgr可以不用中转直接启动:
1:bootmgr启动grldr,bcd写法:
for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "grub4dos" /application bootsector ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH \grldr
bcdedit -store bcd /displayorder {%GUID1%} /addlast

2:grldr启动bootmgr
chainloader /bootmgr

pxe引导的可以参考:http://bbs.wuyou.net/viewthread. ... page=265#pid2608799

另:目前grub4dos还没有grldr.efi,所以无法做grldr的双启动。

[ 本帖最后由 zhaohj 于 2012-12-24 08:47 编辑 ]
作者: czswuyou    时间: 2012-12-25 17:02
BIOS和EFI双启动

学习学习
我的主板支持EFI
作者: xwan    时间: 2013-3-25 16:33
目前还没发现可以32位UEFI启动的实体PC机
作者: xwan    时间: 2013-3-25 16:33
目前还没发现可以32位UEFI启动的实体PC机
作者: 阿弥陀佛    时间: 2013-3-25 16:58
原帖由 xwan 于 2013-3-25 16:33 发表
目前还没发现可以32位UEFI启动的实体PC机

大部分新机器直接跳到64位EFI,但是仍有少部分是支持32位的,比如Acer4750G。
论坛也有人发了一个帖子“UEFI启动32位win8pe”http://bbs.wuyou.net/forum.php?mod=viewthread&tid=298240&extra=page%3D4
看样子应该他的机器也是支持的。
作者: 俊采星驰    时间: 2013-3-25 18:45
标题: 回复 #15 阿弥陀佛 的帖子
关键是不知道这支持32位efi启动的主板是否支持64位efi启动。
作者: opq    时间: 2014-5-15 02:30
本帖最后由 opq 于 2014-5-15 02:32 编辑

这都可以!有人看懂吗?老师
作者: lwz56    时间: 2014-6-4 13:49
efi启动最大的不同就是不在依赖某个启动扇区了,只要有合适的磁盘格式,里面丢进去efi文件夹就可以了吧,还有什么启动信息?只需要把光盘引导信息弄成支持bios的就可以了吧,efi只要有启动文件就ok了吧




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