无忧启动论坛

标题: U启如何同时支持 BIOS 和 UEFI ? [打印本页]

作者: 不点    时间: 2021-11-29 11:48
标题: U启如何同时支持 BIOS 和 UEFI ?
我想有个 U 盘,能够在 BIOS 和 UEFI 都能启动到 grub4dos 。

有办法实现吗?

偷懒了,我不曾研究过,谁有现成的方案,教一下我。


作者: sunsea    时间: 2021-11-29 12:04
本帖最后由 sunsea 于 2021-11-29 12:06 编辑

我的方案。
还是要用一下您那个古老的multimbr工具。
第一分区,multimbr造的那个FAT32,8GB,放PE啊什么的都放进去,grldr第一个拷进去。
第二分区,128MB FAT16,就放一个g4e的bootx64.efi文件,内嵌一个简单的菜单,这个菜单唯一的作用就是找到第一分区然后跳转进去,然后其他文件还在第一分区
第三分区,存放其他数据。

为什么要单独把第二分区拽出来?我这电脑非常神奇,过1GB UEFI下就不认。所以第一分区里放UEFI的bootx64.efi没有用。

作者: 2011yaya2007777    时间: 2021-11-29 12:16
fat32分区。/efi/boot/bootx64.efi   ;   /efi/grub/g4e_menu.lst   ;   /grldr   ;    /g4d_menu.lst   ;    使用 bootice 设置主分区NT6模式启动   ; 设置引导分区 grub4.6a启动。
作者: 不点    时间: 2021-11-29 12:32
sunsea 发表于 2021-11-29 12:04
我的方案。
还是要用一下您那个古老的multimbr工具。
第一分区,multimbr造的那个FAT32,8GB,放PE啊什么 ...

谢谢!那您试过没有?把第一分区弄成:小于 1G,看 bootx64.efi 还能工作吗?
作者: 不点    时间: 2021-11-29 12:37
2011yaya2007777 发表于 2021-11-29 12:16
fat32分区。/efi/boot/bootx64.efi   ;   /efi/grub/g4e_menu.lst   ;   /grldr   ;    /g4d_menu.lst   ;  ...

谢谢,这就知道了,bootx64.efi 文件需要放在什么位置。真是初次接触,没查阅过相关资料。
作者: fd1688    时间: 2021-11-29 13:40
谢谢,知道了
作者: HRJ20sky    时间: 2021-11-29 23:36
我也有个方案:
先用FbinstTool把grldr菜单和iso PE镜像写入U盘,会自动生成一个隐藏分区,再用DiskGenius把正常的分区拆分成两个分区,把其中一个分区格式化成FAT16或者FAT32,容量大小根据文件大小进行调整,把BOOT文件夹、EFI文件夹复制到该分区中,BOOT文件夹里存放SDI文件和wim镜像文件,EFI文件夹下建MICROSOFT文件夹和BOOT文件夹,EFI/BOOT/bootx64.efi文件,EFI/MICROSOFT/BOOT/BCD文件。这样就可以实现BIOS 和 UEFI 都能启动,而且两个PE独立,互不干扰,也可以是不同版本的PE。剩下的那个分区也可以正常使用。
作者: sunsea    时间: 2021-12-7 09:33
不点 发表于 2021-11-29 12:32
谢谢!那您试过没有?把第一分区弄成:小于 1G,看 bootx64.efi 还能工作吗?

您工具里自己设定的是
允许的最小值是 2000000(即大约 1 GB)
,没法做……
作者: sunsea    时间: 2021-12-7 09:51
另外当时测试结果是,bootmgfw.efi是个傻*,遇到multimbr这样当MBR里有BPB的时候就乱套了,会找不到BCD。所以最后的workaround是用wimboot。
作者: 不点    时间: 2021-12-7 10:52
sunsea 发表于 2021-12-7 09:33
您工具里自己设定的是 ,没法做……

这个限制,是咱自己的工具,倒是可以更改。问题是,

遇到multimbr这样当MBR里有BPB的时候就乱套了,会找不到BCD

貌似是故意使绊,所以,更改了 1G 限制也没有多大意义。

那就不奢求了。只好用两个 U 盘:

1、用一个 multimbr U盘来作 BIOS 启动,单一FAT32 分区,再加一个全隐藏的 NTFS 分区,最大限度支持所有变态的 BIOS 主板。当然也可以同时套上 grub4efi,这样也能部分地兼容一些 UEFI 的主板。

2、用 yaya 在前面提到的方案,即,用一个 grub4efi U盘来作 UEFI 启动,同时也套上 grub4dos(for bios),部分地兼容一些 BIOS 主板。

一句话:一个 U 盘主攻 BIOS,另一个 U盘主攻 UEFI。两个方案合在一起,启动成功率得到保证,也算是不完美之中的完美了。


特别说明,如果用 multimbr 或者 fbinst,必须做成单一分区,即,分区表中只有一个项目,否则,遇到某一批联想电脑,就根本不识别 U 盘,直接跳过(即使 FAT32 分区里面有 EFI 之类的 PE 工具,也都无法进入 EFI 启动)。

像 sunsea 版主所说的,multimbr 放在 FAT32, 而 EFI 放在另外一个分区上,总共需要两个显式的分区,因此这种方法是不行的。当然了,如果你忽略那一批联想电脑的存在,那就没问题了。


作者: xianglang    时间: 2021-12-7 13:56
我基本上是按 YAYA 的那样做,不过更彻底一些:U盘分2区,第一分区为 FAT32 活动分区,几百MB到几GB无所谓,其余空间为 EXFAT 分区。G4D 0.46A 作为磁盘和分区主引导,FAT32 分区根目录放GRLDR文件,EFI的文件也放 FAT32 分区的 EFI 目录下,PE之类也丢 FAT32 分区中去。G4E 的 BOOTIA32.EFI、BOOTX64.EFI 两个文件放在 \EFI\BOOT\ 目录下。这样的 U 盘,除了苹果这种反人类的系统之外,还没有遇到不能启动的情况。

作者: 953825781    时间: 2021-12-8 13:29
学习。
作者: 求道者    时间: 2021-12-11 09:56
不点 发表于 2021-12-7 10:52
这个限制,是咱自己的工具,倒是可以更改。问题是,

联想不认盘的问题我遇到过。
我的银灿主控没这问题。
但慧荣某个USB2.0主控有这问题。(对应ID后BIOS会加载一个特别的策略)
是VID还是什么ID的问题。
量产时注意改一下ID。
然后就是如果Fat32分区后置。
联想这傻逼UEFI貌似也检测不到EFI。
其他问题应该没有。
作者: 江南一根葱    时间: 2021-12-11 18:35
我四个分区,
ud+fat+ntfs+fat
只有老华硕不认efi分区,不认不用非得让它认
别的没遇到过

有个坑,卷标最好用EFI 不能用括号
作者: 不点    时间: 2022-1-28 22:31
最近给人修机,联想的电脑,bios 启动方式,好几个 PE,用 ventoy 都无法启动。只有一个 RAMOS 的 PE,可以用 ventoy 启动,勉强完成了修电脑的任务。不是图形菜单的问题。换成文本模式菜单,照样死机。

到此为止,我的试验已经告一段落。ventoy 在 bios 启动方面,出现的问题太多,我觉得该是时候转向 grub4dos 的方案了。接下来我准备用 grub4dos 来启动 PE,给人修机。

作者: cchessbd    时间: 2022-1-28 22:42
本帖最后由 cchessbd 于 2022-1-28 22:44 编辑

反正用ud+微软efi方案还行,就是有的主板连efi pe都进不去,这种情况只能看天意了,有bios启动就好说,没有的话看efi pe兼容性及个数了。能bios启动就最好,pe进不去,我起码还能进dos修复下分区啥的,有时自带系统就可以进去了。

作者: weilovetian    时间: 2022-2-27 10:23
本帖最后由 weilovetian 于 2022-3-6 11:28 编辑
xianglang 发表于 2021-12-7 13:56
我基本上是按 YAYA 的那样做,不过更彻底一些:U盘分2区,第一分区为 FAT32 活动分区,几百MB到几GB无所谓 ...

难怪我用ventoy做的启动盘在MBP2012MID上用uefi模式加载iso都是黑屏,bios模式加载倒是正常。原来是苹果的锅。----
后面在戴尔台式机上试了下ventoy uefi加载uos教育版顺利启动。感谢。

作者: 友联电脑    时间: 2022-4-16 16:26
不点 发表于 2022-1-28 22:31
最近给人修机,联想的电脑,bios 启动方式,好几个 PE,用 ventoy 都无法启动。只有一个 RAMOS 的 PE,可以 ...

类似的问题出现时,我会去用Linux试试,看不能不凑效。假如是系统问题,备份数据后,再恢复一下系统镜像
作者: nullren    时间: 2022-6-12 18:50
本帖最后由 nullren 于 2022-6-12 19:09 编辑
不点 发表于 2022-1-28 22:31
最近给人修机,联想的电脑,bios 启动方式,好几个 PE,用 ventoy 都无法启动。只有一个 RAMOS 的 PE,可以 ...

ventoy启动,F6自定义菜单,进Grub4dos,
    menuentry '【运行 Grub4dos】 ' --class grub {
        ntldr ${vtoy_iso_part}/ventoy/grldr
    }

再:grub4dos菜单
find --ignore-floppies --ignore-cd --set-root /ventoy/SISO
command /ventoy/SISO RUN=--loadfont  /ISO/XXX.ISO
command (fd11)/NTBOOT.CMD/RUNS (hd0,0)/ISO/XXX.ISO

这样相当于用 ventoy 启动,然后环境转成 grub4dos ,再启动 iso 就不会黑屏了
ventoy 最大的好处是支持 ARM64及MIPS ,对付国产机很方便  

作者: 不点    时间: 2022-6-12 19:14
nullren 发表于 2022-6-12 18:50
ventoy启动,F6自定义菜单,进Grub4dos,
    menuentry '【运行 Grub4dos】 ' --class grub {
        ...

嚯!还有这黑科技!收藏一下,哪天有机会了试试。
作者: wuwuzz    时间: 2022-6-13 10:50
本帖最后由 wuwuzz 于 2022-6-13 10:54 编辑

楼上诸位有益的建议已经提了很多,我补充一点。
那就是U盘(固件)本身的选择,不是任意一个U盘
拿来就适合做启动用途的。U盘固件对U启非常关键。

(尽管现代U启容错增强,会掩盖、误导一些东西,
就像大脑、心脏,当人没得病时,往往会忽略她们
的重要性)。
==========================================
工欲善其事,必先利其器。
建议选购慧荣SMI系列主控(固件)盘。

如果对U启兼容性要求高、对读写速度要求不高,
建议选购慧荣3255、3257系列USB 2.0主控
(固件)盘。

如果对读写速度要求较高、适当放低U启兼容性要求,
建议选购慧荣3267系列USB3.0主控(固件)盘。

慧荣最后一代(因为慧荣被收购了)U盘主控3281、
3280主控(固件)好坏参半,挑好了各方优秀,

挑不好烦恼百出。

以上所讲U盘,均为易得的大路货,可随意购到。
========================================
SMI主控固件的特点是:遵从U启规范度较高。
更有一些歪打正着的隐藏选项。
(这些选项本来是SMI开发人员留着调试用的,
结果被挖掘出来,用好了真的可以进入自由
王国,带来极大便利)

作者: 无垠    时间: 2022-8-9 17:49
遇到过有的联想笔记本UEFI启动不能从U盘高端隐藏区启动,但低端隐藏区倒可以
作者: poison8866999    时间: 2022-8-23 23:54
學習了!感謝各位大大分享的知識!
作者: geciwang    时间: 2022-9-11 20:42
学习了。好像现在论坛里都有模板了。
作者: ZMLoveLH    时间: 2022-9-14 18:45
帮顶一下楼主,我也想知道




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