无忧启动论坛

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

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

    [复制链接]
1#
发表于 2013-4-11 05:00:49 | 显示全部楼层
LZ给力了,话说最近都在埋头搞别的事,都没注意到开了个 UEFI 版,之前在 G4D 区问了一些 UEFI 的问题,也没多少人关注,现在开了个专版是好事。

几个问题:
1.ESP分区不一定要在磁盘首部吧,看截图在磁盘尾部也是可以的,这个对磁盘的整体容量有限制吗?x64寻址应该不会有,问题是ia32架构?而且 FAT 本身就不是为 x64 环境设计的,放在超大硬盘尾部会不会出问题?比如 2T 硬盘甚至以后更大硬盘的尾部分个 100M 出来做 ESP 这种情况?

2.如果磁盘存在多个符合ESP文件目录特征的FAT分区应该是启动找到的第一个ESP分区上的 efi 引导文件?

3.UEFI 启动找 ESP分区中的 /efi/boot/bootXXX.efi 这个路径以及上面提到的启动第一个ESP分区这些策略应该都是在主板的 flash 芯片内代码中的吧?以后不知道能不能直接定制 flash 内的程序,让 uefi 可以不从分区文件引导,直接读磁盘数据,这样就能做一些隐藏了。
回复

使用道具 举报

2#
发表于 2013-4-12 21:05:28 | 显示全部楼层
UEFI 引导 grub2 是把 grub2.efi 改名放到相应位置就可以了吧,我还没有试。

最新版的 grub2 不知道哪里有编译好的下载,我之前找过一阵,不过只找到了源码,没有找到编译好的包下载。
回复

使用道具 举报

3#
发表于 2013-4-13 01:06:12 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-13 01:20 编辑

如何用uefi启动win8pe?8pe.wim 内已经集成了顶贴内的支持文件。

坛子里有哪个版本的x86 8pe支持从uefi启动吗?

我手上机器的第一引导磁盘文件是根目录的 Shellx64.efi,跟 LZ 说的都不一样,应该是比较老的 efi 版本了。
回复

使用道具 举报

4#
发表于 2013-4-13 01:19:55 | 显示全部楼层
靠了,那机器是 x64 的 efi,貌似不能从 efi 启动 x86 的 8pe 了。
回复

使用道具 举报

5#
发表于 2013-4-13 08:06:46 | 显示全部楼层
2011hiboy 发表于 2013-4-13 07:57
你的Shellx64.efi类似我I部分的那个EFI Shell,你可以试试我发布的D部分的UEFI_Support.PMF恢复到U盘上面 ...


不是,我这个应该是很原始的支持efi的机器,要启动efi程序,得从bios界面里面手动选,如果是启动的shell程序,在shell程序里执行exit命令的话,就能够回到bios界面。

我用的shell就是你顶楼帖子里 I 部分那个,改名成shellx64.efi放在硬盘的fat分区根目录的。

D部分带目录结构的我也试过了,不行,这机器貌似只认根目录的shellx64.efi。不过我用的是普通的FAT分区,不是标记成 ESP 的 FAT。
回复

使用道具 举报

6#
发表于 2013-4-13 12:15:08 | 显示全部楼层
UEFI 可以启动到 G4D?看楼上的截图是启动到 G4D 了?
回复

使用道具 举报

7#
发表于 2013-4-13 13:13:24 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-13 13:15 编辑
baosheng00 发表于 2013-4-13 12:52
是两种不同 的启动方式,biso 是G4D,而UEFI 是将虚拟机设置EFI 启动模式。

不是切换模式哦!


我还以为从 EFI 启动 G4D 了。

之前找到一个 grub2.efi,能够启动起来,但是 chainloader (hd0)+1 报错,说是不支持的文件系统还是不认识的文件格式来着,然后 boot 不了。


LZ 有 grub2 编译好的包吗?我找了好久就找到一个光杆的 grub2.efi,而且版本不明,ls 显示的分区是 (hd1,msdos1) 格式,不知道是新的还是旧的,晕死了。
回复

使用道具 举报

8#
发表于 2013-4-13 13:56:35 | 显示全部楼层
zbkh 发表于 2013-4-13 13:25
你去下载ubuntu x64的安装镜像,那里面有grub.efi相关的引导文件。

谢谢,我去看看。
回复

使用道具 举报

9#
发表于 2013-4-13 16:38:56 | 显示全部楼层
fujianabc 发表于 2013-4-13 14:39
efi启动本质是执行一个.efi文件,所以efi版grub2中应该是chainloader一个.efi文件,而不是chainloader一个 ...

google能搜到grub2配置里有chainloader (hd0,1)+1的写法,但是不知道那个文章说的是什么版本的grub2。晚点空了我去找个ubuntu x64的来看看。
回复

使用道具 举报

10#
发表于 2013-4-13 17:06:33 | 显示全部楼层
zbkh 发表于 2013-4-13 16:48
ubuntu 你要去官网下一个最新的64位的版本:http://www.ubuntu.org.cn/download/desktop,那里面才有grub ...

谢谢,我去看了,先下着,晚上空了来折腾。
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

13#
发表于 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 的系统,毕竟历史遗留很丰富。
回复

使用道具 举报

14#
发表于 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之类来解决的,只是这对于普通用户来说不大亲和,毕竟程序员和维护人员在整个电脑使用者的比例中其实是很小的比例。

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

使用道具 举报

15#
发表于 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 加载。这是我这台机器的情况。
回复

使用道具 举报

16#
发表于 2013-4-14 09:41:54 | 显示全部楼层
2011hiboy 发表于 2013-4-14 03:26
Shell.efi 和 shellx64.efi是不是表示一个是IA32构架的一个是X64构架的?想我的机器和你全面的过程一样, ...

我想应该只是预置的文件名策略吧,与架构并无关系,把 bootia32.efi 改名成 shell.efi 放过去也不能启动的。
回复

使用道具 举报

17#
发表于 2013-4-14 21:35:32 | 显示全部楼层
2011hiboy 发表于 2013-4-14 17:36
那修改bootx64.ef能够启动码?你把你机器能启动的efi 附件或者邮件给我看看,我比较下和原版光盘的校验 ...


bootx64.efi 改名成 shell.efi 或者 shellx64.efi 可以启动。

我用的 efi 都是在你的顶楼贴里下载的,那个 shell 和 bootx64 可以启动,bootia32.efi 不行。
回复

使用道具 举报

18#
发表于 2013-4-17 16:52:34 | 显示全部楼层
2012raps 发表于 2013-4-17 15:37
1.据实测,3TB硬盘,尾部ESP分区启动正常
2.是的,我的电脑磁盘首尾都有一个350Mb的分区,分别引导win ...


谢谢,不过第3个我说的就是主板部分,控制权到了磁盘上启动的efi当然就按磁盘上efi的代码来了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 03:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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