无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011hiboy

[原创] UEFI启动视频详解:启动分析+N项操作实例,赶紧学习,不要落伍啦,该给自己充电啦...

    [复制链接]
发表于 2013-4-13 18:03:07 | 显示全部楼层
2010qaqz111 发表于 2013-4-13 16:38
google能搜到grub2配置里有chainloader (hd0,1)+1的写法,但是不知道那个文章说的是什么版本的grub2。晚点 ...

那个是bios下面grub2从启动hd0,1分区启动的命令。efi下没有从那个设备或者那个分区启动的概念,只有从哪个文件启动
回复

使用道具 举报

发表于 2013-4-13 18:04:38 | 显示全部楼层
zbkh 发表于 2013-4-13 16:53
你好,我的uefi相关要点基本上都是你传授的,很感谢你!最近也有做uefi引导,我想做PE合盘,不知道bcd怎么 ...

bcdedit命令来添加启动项
回复

使用道具 举报

发表于 2013-4-13 18:28:41 | 显示全部楼层
哇塞,好完整的整理解析啊,进步好快,新的东西又得多花点时间去理解了

谢谢整理整合,辛苦了!:)
回复

使用道具 举报

发表于 2013-4-13 19:01:24 | 显示全部楼层
fujianabc 发表于 2013-4-13 14:35
别瞎说,安腾是IA64,IA32就是x86

我觉得说IA32构架和x86还是有区别的。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 19:09:02 来自手机 | 显示全部楼层
myBOOT 发表于 2013-4-13 19:01  我觉得说IA32构架和x86还是有区别的。

IA32是IA32,它只支持X86,并不是说他们相等。
回复

使用道具 举报

发表于 2013-4-13 19:17:32 | 显示全部楼层
2011hiboy 发表于 2013-4-13 19:09
IA32是IA32,它只支持X86,并不是说他们相等。

对,是理解上的区别。
一般说Windows X86就是大家常说的32位,x64就是64位。
IA32是指某些INTEL的CPU,和大家常看到的不同。

我记得在Vista以前的系统安装盘,x86的系统是i386目录,x64的目录是AMD64,
而IA32在NT 3.x时代有用过。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 19:50:40 | 显示全部楼层
myBOOT 发表于 2013-4-13 19:17
对,是理解上的区别。
一般说Windows X86就是大家常说的32位,x64就是64位。
IA32是指某些INTEL的CPU, ...

这个知识点我稍后加上去,虽然无关紧要,但是说错了以免尴尬,呵呵。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 19:52:31 | 显示全部楼层
zbkh 发表于 2013-4-13 16:53
你好,我的uefi相关要点基本上都是你传授的,很感谢你!最近也有做uefi引导,我想做PE合盘,不知道bcd怎么 ...

bcdedit可以但是需要了解下相关的命令用法。

我自己经常用BOOTICE这款非常棒的软件,GUI界面简单易懂。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 20:29:51 | 显示全部楼层
baosheng00 发表于 2013-4-13 12:05
使用楼主分享的

制作UEFI+BIOS启动盘资料

已解决,请下载最新的双启模板。可以答复的是,批处理没有任何问题。不需要改动,问题出在UEFI.bin版本的问题,请及时到一楼补充新知识。即将编辑。。。
回复

使用道具 举报

发表于 2013-4-13 20:32:22 | 显示全部楼层
fujianabc 发表于 2013-4-13 18:03
那个是bios下面grub2从启动hd0,1分区启动的命令。efi下没有从那个设备或者那个分区启动的概念,只有从哪个 ...

虽然我也觉得道理上 efi 没了中断不大可能直接把控制传到老的代码去,但是真被证实了确实如此还是觉得很那啥,好吧我的幻想又破灭了,难道要从 efi 引导 x86 的 Win8PE 就完全不可能了么,囧
回复

使用道具 举报

发表于 2013-4-13 21:12:23 | 显示全部楼层
本帖最后由 baosheng00 于 2013-4-13 21:15 编辑
2011hiboy 发表于 2013-4-13 20:29
已解决,请下载最新的双启模板。可以答复的是,批处理没有任何问题。不需要改动,问题出在UEFI.bin版本的 ...


谢谢测试,我试试看看。
回复

使用道具 举报

发表于 2013-4-13 21:14:46 | 显示全部楼层
这个很张大的学习贴,谢谢分享
回复

使用道具 举报

发表于 2013-4-13 21:21:25 | 显示全部楼层
fujianabc 发表于 2013-4-13 18:04
bcdedit命令来添加启动项

看来我要熟悉一下命令,呵呵!谢谢!
回复

使用道具 举报

发表于 2013-4-13 21:23:05 | 显示全部楼层
2011hiboy 发表于 2013-4-13 19:52
bcdedit可以但是需要了解下相关的命令用法。

我自己经常用BOOTICE这款非常棒的软件,GUI界面简单易懂。 ...

谢谢!
回复

使用道具 举报

发表于 2013-4-13 21:50:54 | 显示全部楼层
表示无忧不应该有回复可见啊~~印象中有了这个就开始不纯粹,要没落的样子~~~
回复

使用道具 举报

发表于 2013-4-13 21:53:06 | 显示全部楼层
2010qaqz111 发表于 2013-4-13 20:32
虽然我也觉得道理上 efi 没了中断不大可能直接把控制传到老的代码去,但是真被证实了确实如此还是觉得很那 ...

64位uefi确实无法启动32位pe
回复

使用道具 举报

发表于 2013-4-13 21:58:08 | 显示全部楼层
myBOOT 发表于 2013-4-13 19:01
我觉得说IA32构架和x86还是有区别的。

按wiki的说法两个概念有些差别
http://en.wikipedia.org/wiki/IA-32
IA-32是指32位x86处理器(而且要不支持64位),从386开始到P4/K7,之后的支持64位的x86处理器就叫x86-64或者x64架构了,之前8086到286则只支持16位,也不算IA-32。
回复

使用道具 举报

发表于 2013-4-13 22:05:00 | 显示全部楼层
本帖最后由 fujianabc 于 2013-4-13 22:13 编辑

楼主一句话不对:
把efisys_no prompt.bin命名为UEFI.bin示意UEFI模式下引导光盘需要的引导记录;目前来说没有可以替代的。

这个efisys_no prompt.bin就是一个1.44M的软盘镜像而已,用winimage打开可以修改这个软盘镜像,UEFI启动时自动执行软盘镜像中的bootx64.efi文件。之所以UEFI启动要用软盘模拟,是因为uefi只能直接读取FAT格式,模拟软盘提供了一个1.44M的FAT12分区来存放基本的启动文件。用户可以用自己的.efi文件替换掉软盘镜像中的bootx64.efi,或者自己手动制作一个这样的软盘镜像也很容易
回复

使用道具 举报

 楼主| 发表于 2013-4-13 22:29:42 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-13 22:31 编辑
fujianabc 发表于 2013-4-13 22:05
楼主一句话不对:

这个efisys_no prompt.bin就是一个1.44M的软盘镜像而已,用winimage打开可以修改这个软 ...


先感谢大元帅告诉我这么一个窍门,我早该想到的1.4MB的文件可能是软盘的....

不过bin里面的bootx64.efi是引导光盘根目录下的bootmgr.efi---->BCD的(已测试正确)

用什么代替bin里面的bootx64.efi?能够引导根目录下的bootmgr.efi--->BCD呢?
我说的是直接光盘引导根目录下的bootmgr.efi,不讨论bootmgr.efi改名换位或者使用EFI SHELL替代
这些操作固然可以间接实现引导,但是无疑增加了制作和操作的繁琐,不合理。

看来用来直接引导光盘根目录下的bootmgr.efi,目前来说,还是“无法替代的”呵呵

不过可以i利用这个知识尝试做一个光盘版的EFI SHELL....尝试下
回复

使用道具 举报

 楼主| 发表于 2013-4-13 22:42:41 | 显示全部楼层
baosheng00 发表于 2013-4-13 21:12
谢谢测试,我试试看看。

不知道你成功了没有?反正我制作成功了。

这是你的文件制作后的下载地址。GRLDR合盘+UEFI双启ISO【测试成功
http://pan.baidu.com/share/link?shareid=401772&uk=2383056768

我说下,从你发来的文件看,如果这些是你真实需要用的文件的话,你这个UEFI支持只能IA32构架的机器,而且是Win8 x86。

我猜对市面上大多数老机器和100%的新机器都无法支持,因为大多数机器都是X64构架的啊?就连我2011年买的带简单的UEFI都是X64,更不论现在买的机器了,
再老的机器可能直接就不支持UEFI了....
你制作出来可能只能在虚拟机上使用了....
回复

使用道具 举报

发表于 2013-4-13 23:18:34 | 显示全部楼层
我2010年买的那台小本也支持uefi,不过它查启动程序是找根目录下的 Shell.efi 或者 Shellx64.efi,而不是顶楼说的那个,如果打算支持一些比较老的 uefi,可能得考虑这个位置。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 23:19:51 | 显示全部楼层
fujianabc 发表于 2013-4-13 22:05
楼主一句话不对:

这个efisys_no prompt.bin就是一个1.44M的软盘镜像而已,用winimage打开可以修改这个软 ...

我制作了一个光盘版的EFI SHELL。就是使用你说的bin提取修改....

http://pan.baidu.com/share/link?shareid=401846&uk=2383056768
回复

使用道具 举报

发表于 2013-4-13 23:28:36 | 显示全部楼层
fujianabc 发表于 2013-4-13 21:53
64位uefi确实无法启动32位pe

其实我还是比较坚信 32 位的 win 以后会能够从 x64efi 启动的,要不然主板就必定会同时支持 x64efi 和 bios 启动两种方式,至少是大部分主板会支持,现在貌似也还没见到只支持x64的主板大量出现(貌似有个别的?),很多程序都还没有完全迁移到 x64 环境,这种转换不大可能靠一个 x64efi 就可以强制完成,必定还有一段长时间拉锯共存的,所以我现在还是比较倾向于 x86 的系统,毕竟历史遗留很丰富。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 23:32:04 | 显示全部楼层
2010qaqz111 发表于 2013-4-13 23:18
我2010年买的那台小本也支持uefi,不过它查启动程序是找根目录下的 Shell.efi 或者 Shellx64.efi,而不是顶 ...

查了下,的确。有些机器是从根目录读取shellx64.efi

可以把UEFI_ALL_Support.pmf恢复到U盘,然后移动文件改名。这个需要有人配合测试一些其他内容。
回复

使用道具 举报

 楼主| 发表于 2013-4-13 23:35:36 | 显示全部楼层
2010qaqz111 发表于 2013-4-13 23:28
其实我还是比较坚信 32 位的 win 以后会能够从 x64efi 启动的,要不然主板就必定会同时支持 x64efi 和 bi ...

BIOS不会完全消亡。32位的win能够从X64构架的电脑UEFI启动这或许要看微软是是否愿意写一些相关的文件支持了,至少原来的原版ISO不能支持,微软再出一遍以前的ISO?我觉得而不可能,他们大概会继续往前看..过去的就留在过去...

点评

大哥怎么查看UEFi版本号?UEFI最新的规范是2.3.1,我用什么工具查看主板是否符合2.3.1规范?  详情 回复 发表于 2018-4-7 22:20
回复

使用道具 举报

发表于 2013-4-13 23:36:29 | 显示全部楼层
2011hiboy 发表于 2013-4-13 22:29
先感谢大元帅告诉我这么一个窍门,我早该想到的1.4MB的文件可能是软盘的....

不过bin里面的bootx64. ...

直接用bootmgfw.efi放入软盘镜像代替之,这样连光盘根目录下的bootmgr.efi都不要了。。。

和bios模式下bootmgr类似,bootmgr是startup.com和bootmgr.exe两部分组成的(ntldr类似),而efi版的bootmgfw.efi也是由这个bootx64.efi和bootmgr.efi两部分组成的
回复

使用道具 举报

发表于 2013-4-13 23:36:56 | 显示全部楼层
2011hiboy 发表于 2013-4-13 22:42
不知道你成功了没有?反正我制作成功了。

这是你的文件制作后的下载地址。GRLDR合盘+UEFI双启ISO【测试 ...

测试成功,支持EZBOOT,GRLDR,其它的引导。真的很感谢你提供的。

UEFI_ia32.bin,UEFI_X64.bin。

不使用批处理都能制作成功了。
回复

使用道具 举报

发表于 2013-4-13 23:39:48 | 显示全部楼层
2010qaqz111 发表于 2013-4-13 23:28
其实我还是比较坚信 32 位的 win 以后会能够从 x64efi 启动的,要不然主板就必定会同时支持 x64efi 和 bi ...

64位windows本来就支持运行32位程序的
回复

使用道具 举报

发表于 2013-4-14 02:47:37 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-14 02:48 编辑
fujianabc 发表于 2013-4-13 23:39
64位windows本来就支持运行32位程序的


是的,大部分大众软件能够很好的运行,一些行业需要的软件有些问题,另外在开发上面也有一些问题,毕竟x64win兼容出来的32位环境并非完全真实,也许以后的windows版本会把这个问题放在虚拟化技术上来解决,那个时候32到64的进程就能跨进一大步了。其实如果电脑配置够NB的话现在也是可以用vmware之类来解决的,只是这对于普通用户来说不大亲和,毕竟程序员和维护人员在整个电脑使用者的比例中其实是很小的比例。

总之,在无忧混的人,必然是两种都要搞清楚的
回复

使用道具 举报

发表于 2013-4-14 02:52:13 | 显示全部楼层
2011hiboy 发表于 2013-4-13 23:32
查了下,的确。有些机器是从根目录读取shellx64.efi

可以把UEFI_ALL_Support.pmf恢复到U盘,然后移动文 ...

我的机器要启动 uefi 是要按 F2 进 bios 设置画面才可以选到,如果找不到 efi 文件会给出提示,但是提示的信息只会说是找不到 Shellx64.efi,但是根据我实际验证发现如果在 FAT 区根目录有 Shell.efi 的话会先于 Shellx64.efi 加载。这是我这台机器的情况。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 13:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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