无忧启动论坛
标题:
可以把g4d和g4e合并吗?做成通用的,大大们可以吗?
[打印本页]
作者:
879792799
时间:
2022-2-28 16:35
标题:
可以把g4d和g4e合并吗?做成通用的,大大们可以吗?
合在一起,加入自动判断bois 或efi 32 efi 64执行相应的g4d 或g4e 或g4e32, 这样是不是方便一些
,就不知道难度大不大,问问大大们有可能吧?!
作者:
3457769165
时间:
2022-2-28 16:53
0
作者:
liuzhaoyzz
时间:
2022-2-28 16:56
本帖最后由 liuzhaoyzz 于 2022-2-28 20:20 编辑
启动原理不同,你所说的判断,只是为了调用不同的菜单而已,这样子会增加菜单的复杂度。现在的方案挺好的,因为BIOS/UEFI本来就是关联性不大的东西,选择了一种启动模式,就只有用这一种。
作者:
mdyblog
时间:
2022-2-28 18:48
应该可以。
grub2 就是自动判断 BIOS和EFI。
作者:
2011whp
时间:
2022-2-28 19:41
自适应的 引导程序没见过,从bios 分道了(bios启动菜单 一选择 定型了 )
clover 好像是能 启动两种(但 启动clover 本身,只能 二择一)
————————————————————
自适应菜单 有
title 启动windows
!BAT
if "%@uefi%"=="64"
{
chainloader /efi/boot/bootx64.efi
boot
}
if "%@uefi%"==""
{
chainloader /bootmgr
boot
}
作者:
爱启动
时间:
2022-3-1 09:04
关注这个问题,可以 吗?
作者:
nowayer
时间:
2023-10-21 03:52
提示:
作者被禁止或删除 内容自动屏蔽
作者:
不点
时间:
2023-10-21 07:49
什么叫 “合并”?具体含义是啥?
BIOS 和 EFI 的启动方式完全不同,但互不冲突。所以,两种启动代码可以同时存在,或者说,可以共存。那么,这 “共存” 之后,算不算是 “合并” 了?
“合并” 是咋定义的?是让 bios 与 efi 的启动代码、主程序也合并?或者是让菜单文件 “共用” 一个?
新型主板已经去除了 bios,只有 EFI 了。合并,即使有可能,也没多大意义了吧?
作者:
sunsea
时间:
2023-10-21 11:28
1、新型主板已经去除了 bios,只有 EFI 了。合并,即使有可能,也没多大意义了吧?
2、UEFI使用的是MZ PE文件格式,跟BIOS的直接开头就是代码完全不同。所以也不可能合并,会加载失败。
作者:
qhb
时间:
2024-11-7 23:12
赞赞
作者:
mygamexxx
时间:
7 天前
本帖最后由 mygamexxx 于 2024-11-15 08:29 编辑
重复发了
不知道G4E如何修改内置菜单,想改一下menu.lst的find顺序?
作者:
mygamexxx
时间:
7 天前
本帖最后由 mygamexxx 于 2024-11-15 08:56 编辑
我现在在用的菜单是G4D与G4E同一个菜单,不过里面发现不少问题,主要原因是命令有些不一致。需要修改G4D的grldr的内置菜单,find并configfile与G4E的同一个menu.lst。
#显示模式,要放在最前,运行graphicsmode显示支持的模式
graphicsmode -1 800
##判断启动方式
if %@uefi%==64 set bt=EFI_x%@uefi%
if %@uefi%==32 set bt=EFI_x%@uefi%
if %@uefi%#==# set bt=BIOS
setmenu --hotkey-color=0xffff00
#G4D热键设置,排除e热键,在字库加载后运行,会出错error:not enough space!
if %bt%==BIOS /boot/ext/hotkey -A [F4] commandline && /boot/ext/hotkey -A [F3] reboot && /boot/ext/hotkey [e]
#G4E热键设置
if %bt%==EFI_x64 /efi/ext/hotkey -A [F4] commandline && /efi/ext/hotkey -A [F3] reboot
#加载透明背景的图像 splashimage [--offset=[type]=[x]=[y]] FILE
splashimage /boot/background.jpg
# 读0x1800820判断是否加载了字库,只能用于G4D,G4E下0x1800820总是读取成功。
if %bt%==BIOS read 0x1800820 || font --font-high=22 /boot/hk22.hex
if %bt%==EFI_x64 font --font-high=22 /boot/hk22.hex
if %bt%==EFI_x64 load -n /EFI/grub/CrScreenshotDxe.efi
##颜色 菜单文字 选择高亮 帮助信息 版本信息 边框
color normal=0x0F highlight=0x0A helptext=0x05 heading=02 border=01
#菜单自动编号
setmenu --auto-num-on
##--box x=[x] y=[y] w=[w] h=[h] l=[l] 菜单项标题起始列,起始行,每行最大字符数,最大菜单项数,菜单框线条宽度(像素);
setmenu --box x=9 w=0 y=8 h=10 l=10 --ver-on
##--lang=en --lang=zh 菜单帮助信息中英文切换。默认英文;
setmenu --lang=zh --timeout=8=6=0xff00
##--help=[x]=[w]=[y] 帮助位置。单位:列,行; 注:x=0 由边框确定(默认);w=0 水平居中;
setmenu --help=8=0=19
##--keyhelp=[y_offset]=[color] 按键帮助位置,颜色。单位:列,行,24位色彩;
setmenu --keyhelp=2=0x222222
##计算物理硬盘数,识别分区类型
##用于BISO启动(EFI启动不行)的硬盘数,0x475的低2字节保存的是物理硬盘数,所以要去掉高2字节
#set /a hdn=*0x475&0xff
##用于EFI启动(BIOS启动也行)的硬盘数
geometry (hd-1) | set hdn=
set /a hdn=%hdn:~9,1%+1
set pt=MBR
find checkrange 0xEE parttype && set pt=GPT
setmenu --string=9=3=0xffff00="%@date%==存在%pt%类型的硬盘!!!==小楼一夜听春雨=="
setmenu --string=9=5=0xff00ff="硬盘数量:%hdn%,启动分区:%@root%,启动方式:%bt%"
###################################菜单开始###################
find --set-root /windows | set win=
uuid ()
find --set-root /boot/ext/SISO
if %bt%==EFI_x64 set mn1="find --set-root /EFI/ext/ntload/ntloader && kernel /EFI/ext/ntload/ntloader uuid=%?_UUID% && initrd /EFI/ext/ntload/initrd.lz1"
if %bt%==BIOS set mn1="find --set-root /boot/ext/SISO && /boot/ext/SISO NTBOOT NT6=%win%"
if %bt%==EFI_x64 set mn2="chainloader /EFI/microsoft/boot/bootmgfw.efi"
if %bt%==BIOS set mn2="chainloader /boot/bootmgr"
uuid ()
if %bt%==EFI_x64 set mn3="find --ignore-floppies --ignore-cd --set-root /efi/ext/ntload/ntloader && kernel /EFI/ext/ntload/ntloader uuid=%?_UUID% file=/0pe/10pe.wim && initrd /EFI/ext/ntload/initrd.lz1"
if %bt%==BIOS set mn3="find --set-root /boot/ext/SISO && /boot/ext/SISO BOOT.WIM=0pe/10PE.WIM"
if %bt%==EFI_x64 set mn4="command --set-path=/efi/ext/ && command /efi/ext/RUN --mem --top --set-showsize=0 --automenu show.iso.wim /imgs/"
if %bt%==BIOS set mn4="find --set-root /boot/ext/SISO && /boot/ext/SISO RUN=--loadfont --automenu show.iso.wim /imgs/"
default 0
timeout 6
title 快速启动 WINDOWS\n快速启动硬盘上的系统
%mn1:~1,-1%
boot
title 用BCD启动 WINDOWS\n用BCD启动硬盘上的系统
%mn2:~1,-1%
boot
title 启动WIM格式WIN10PE-X64\n启动/0pe/10PE.WIM
%mn3:~1,-1%
boot
title 运行任意映像文件\n运行/imgs/下映像文件
%mn4:~1,-1%
boot
#很奇怪,这里不能用[if %bt%==BIOS]
iftitle [if %@uefi%#==#] 启动 0PE\n启动/0pe/0pe.iso
find --set-root /0pe/0pe.iso
map --mem /0pe/0pe.iso (0xff)
map --hook
chainloader (0xff)
boot
title [F4]进入命令行commandline\n进入命令行
commandline
title 启动存在的光盘(cd0)
chainloader (cd0)
title [F3]重启reboot\n重启电脑
reboot
title 关机halt\n关闭电脑
halt
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/)
Powered by Discuz! X3.3