无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
1951#
发表于 2021-10-23 12:50:34 来自手机 | 只看该作者
@whp  由于IP限制,地址打不开,只能逐步点进去。麻烦请说明一下帖子名

点评

GRUB4DOS for UEFI 教程(抄作业) - GRUB4DOS - 无忧启动论坛 - Powered by Discuz! http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423059&extra=page%3D1  详情 回复 发表于 2021-10-23 12:54
回复

使用道具 举报

1952#
发表于 2021-10-23 12:54:59 | 只看该作者
fdd_ds 发表于 2021-10-23 12:50
@whp  由于IP限制,地址打不开,只能逐步点进去。麻烦请说明一下帖子名

GRUB4DOS for UEFI 教程(抄作业) - GRUB4DOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

1953#
发表于 2021-10-23 16:24:45 | 只看该作者
本帖最后由 2010npic 于 2021-10-23 16:26 编辑

这个好 !!!
强烈支持一个 !!!

回复

使用道具 举报

1954#
发表于 2021-10-23 18:39:58 来自手机 | 只看该作者
反馈:1#和54#均黑屏卡死,但可热启。55#可加载到命令行,但加载菜单卡死,应该是menu.lst有问题

IMG_20211023_102658.jpg (27.07 KB, 下载次数: 232)

IMG_20211023_102658.jpg

点评

折腾啊 1. 把菜单 title 前面的 都 删了,菜单内 不要有 中文 2. efi/boot/bootx64.efi 换成 最新 版 的(2021-10-21的 ),  详情 回复 发表于 2021-10-24 11:10
回复

使用道具 举报

1955#
发表于 2021-10-24 11:10:59 | 只看该作者
本帖最后由 2011whp 于 2021-10-24 15:58 编辑
fdd_ds 发表于 2021-10-23 18:39
反馈:1#和54#均黑屏卡死,但可热启。55#可加载到命令行,但加载菜单卡死,应该是menu.lst有问题


1.  把菜单 title 前面的 都 删了,菜单内 不要有 中文

2.   efi/boot/bootx64.efi 换成 最新 版 的(2021-10-21的 ),  
      
回复

使用道具 举报

1956#
发表于 2021-10-24 15:46:13 | 只看该作者
本帖最后由 2011whp 于 2021-10-25 19:54 编辑

chainloader 的 用法 是不是 有什么变化: map 盘  默认启动 第一分区

一:(2021-9-8版bootx64)
     700MB 动态 vhd
                分区1: fat
                分区2: ntfs ( pewim的 释放)
     这种可以: map后   chainloader (hd-1)

实践二 :  
       700MB 动态 vhd
                分区1: ntfs ( pewim的 释放)
                分区2: fat
     这种: map后   chainloader (hd-1) 不能用
              一台电脑可以    chainloader (hd-1,0)/efi/boot/bootx64.efi
              另一台电脑不可以






回复

使用道具 举报

1957#
发表于 2021-10-24 19:36:10 来自手机 | 只看该作者
    1.efi/boot/bootx64.efi (2021-10-21的),无menu.lst,可启动到"grub>"。14吋屏(max:1920x1080)只在左上角约10×10cm范围有显示,其它区域都黑着,请问这样是正常的吗?
    2.菜单中,title 前面无内容,但title 后面有中文,在用实机测试时中文能显示,在用Qemu测试时则不显示。同样的文件怎么有不一样的结果?想不明白……

Qemu.JPG (30.89 KB, 下载次数: 129)

Qemu.JPG

(49.4 KB, 下载次数: 122)

点评

我昨天用2021-10-21版本试过,也出现过上面图片的问题,但是换了个菜单文件,就无此现象了——应该是新版本和菜单有些不兼容——出问题的那个菜单文件,2021-9-8以前的版本,是正常的。  详情 回复 发表于 2021-10-26 15:46
我这边 2021-10-21日版 的 正常 (启pe, 和 前几楼的 vhd 都正常) 拍的 图片显示 正常,因为 用的 主板的 字体,不全 分步 单独 慢慢试吧 1. 调下 分辨率 :graphicsmode -1 1024( 改为 800  详情 回复 发表于 2021-10-25 11:25
回复

使用道具 举报

1958#
发表于 2021-10-25 11:25:13 | 只看该作者
fdd_ds 发表于 2021-10-24 19:36
1.efi/boot/bootx64.efi (2021-10-21的),无menu.lst,可启动到"grub>"。14吋屏(max:1920x1080)只 ...

我这边 2021-10-21日版 的 正常 (启pe,   和 前几楼的  vhd  都正常)


拍的 图片显示  正常,因为 用的 主板的 字体,不全  

分步 单独  慢慢试吧
1.  调下  分辨率 :graphicsmode -1 1024( 改为 800  试试,或在命令行下 ,执行graphicsmode,看支持哪 些分辨率)
2.  加载背景图:  splashimage  /efi/grub/lt.jpg
3.  加载 字体 :font --font-high=24 /efi/grub/24unifont.hex
4.  其余的排版:  照 教程贴 54 楼,自己个 调


回复

使用道具 举报

1959#
发表于 2021-10-25 15:07:56 | 只看该作者
本帖最后由 lpsyuntao 于 2021-10-25 15:09 编辑

grub4dos-for_UEFI-2021-10-21,使用run的Automenu,Qemu及实机测试均报错,如图:

efi下run报错.JPG (36.61 KB, 下载次数: 87)

efi下run报错.JPG
回复

使用道具 举报

1960#
发表于 2021-10-25 16:13:41 来自手机 | 只看该作者
命令行下执行过,每次都黑屏卡死
graphicsmode -1 1920
graphicsmode -1 1280
……
graphicsmode -1 640

IMG_20211025_072823.jpg (47.72 KB, 下载次数: 117)

IMG_20211025_072823.jpg

点评

分辨率: 要么 1024 , 要么 800 还有一点: 菜单 格式 UTF8 这几项 正确,我没办法了  详情 回复 发表于 2021-10-25 17:53
回复

使用道具 举报

1961#
发表于 2021-10-25 17:08:53 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-11-2 08:31 编辑

grub4dos-for_UEFI-2021-10-21试了几个PE怎么都启动不了了?


title WINPE (WePE64_V2.2.iso)
find --ignore-floppies --ignore-cd --set-root /boot/imgs/WePE64_V2.2.iso
map --mem --top /boot/imgs/WePE64_V2.2.iso (0xff)
map --e820cycles=-1
map --hook
chainloader (0xff)



我上传了个微PE2.2用于测试,另外里面有录像,点击可以直接观看,很奇怪的是,WePE64_V2.2.iso大小是225MB的,map完了之后,又map个1025MB的文件,这个1025MB的文件是什么?是怎么来的?https://wss1.cn/f/6s2lj6ved9h

25164357.png (1.34 KB, 下载次数: 89)

25164357.png

点评

没出现,读1025MB 的 现象,  详情 回复 发表于 2021-10-25 19:31
回复

使用道具 举报

1962#
 楼主| 发表于 2021-10-25 17:35:02 来自手机 | 只看该作者
liuzhaoyzz:前一个版本正常吗?

点评

grub4dos-for_UEFI-2021-09-08正常。 但我另外一台台式机,不知道咋整的,许多版本都不正常,grub4dos-for_UEFI-2021-10-21一选择就直接死机,grub4dos-for_UEFI-2021-01-10到grub4dos-for_UEFI-2021-10-21许多版  详情 回复 发表于 2021-10-26 08:00
回复

使用道具 举报

1963#
发表于 2021-10-25 17:53:18 | 只看该作者
fdd_ds 发表于 2021-10-25 16:13
命令行下执行过,每次都黑屏卡死
graphicsmode -1 1920
graphicsmode -1 1280

分辨率:  要么 1024 , 要么 800

还有一点: 菜单 格式 UTF8

这几项 正确,我没办法了
回复

使用道具 举报

1964#
发表于 2021-10-25 18:32:05 | 只看该作者
本帖最后由 2011whp 于 2021-10-30 12:23 编辑

一通重启:试三个pe

   2021-9-8   : 三个都 可以
   
    2021-10-21:  唯独 wepe2.2 启动不了(画面和 liuzhaoyzz 的一样 )

    关于 wepe2.2 , grub205 可以启动


回复

使用道具 举报

1965#
发表于 2021-10-25 18:45:44 | 只看该作者
哈哈,发现一个问题:hotkey在硬盘启动时没有作用,不能显示热键。目前是0908版,EFI从硬盘的NTFS分区启动。

点评

通过回溯,0728的版本的hotkey是正常的,使用0908版使用0728的hotkey也正常。一个是9kb一个是13kb,9kb那个光盘启动时正常,硬盘或U盘启动时不正常。  详情 回复 发表于 2021-10-25 19:30
回复

使用道具 举报

1966#
发表于 2021-10-25 19:10:10 | 只看该作者
wepe2.2 改造
   1.  光盘根目录:  加了 bootmgr.efi
   2.  替换   启动软盘

2021-10-21版  的也可以了,

看来 ,bcd 没那么多讲究啊,  上面两个文件 ,是 win11的, bcd是原来的,也能接上 启动
回复

使用道具 举报

1967#
发表于 2021-10-25 19:30:31 | 只看该作者
本帖最后由 hhh333 于 2021-10-25 19:33 编辑
hhh333 发表于 2021-10-25 18:45
哈哈,发现一个问题:hotkey在硬盘启动时没有作用,不能显示热键。目前是0908版,EFI从硬盘的NTFS分区启动 ...

通过回溯,0728的版本的hotkey是正常的,0908版使用0728的hotkey也正常。一个是9kb一个是13kb,9kb那个光盘启动时正常,硬盘或U盘启动时不正常。一直没测试U盘和硬盘启动,原来不正常有好几版了。两个版本体积怎么相差这么远?
回复

使用道具 举报

1968#
发表于 2021-10-25 19:31:52 | 只看该作者
liuzhaoyzz 发表于 2021-10-25 17:08
grub4dos-for_UEFI-2021-10-21试了几个PE怎么都启动不了了?

没出现,读1025MB  的 现象,

回复

使用道具 举报

1969#
发表于 2021-10-25 21:10:06 | 只看该作者
建议hotkey功能能够内置,用外置很不确实:1、用728的hotkey正常,而后续版本不正常;2、用728的如果不是一启也不正常,譬如rfeind/xorboot等转G4E,hotkey失效全部原字符显示;3.最根本的是菜单显示表现应该是G4E的基本核心功能,外置不太合适。

点评

2021-06-02 (a1ive) 支持嵌入字库、模块(.mod文件)。 mkimage.exe -d 目录 -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c 嵌入菜单 -f 嵌入字库 -m 嵌入模块 mkimage.exe -d 目录 -p /efi/grub -o BOOTIA3  详情 回复 发表于 2021-10-26 11:20
回复

使用道具 举报

1970#
发表于 2021-10-26 08:00:58 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-10-26 08:02 编辑
2011yaya2007777 发表于 2021-10-25 17:35
liuzhaoyzz:前一个版本正常吗?

grub4dos-for_UEFI-2021-09-08+笔记本电脑正常。

但我另外一台台式机,不知道咋整的,许多版本都不正常,grub4dos-for_UEFI-2021-10-21一选择就直接死机,grub4dos-for_UEFI-2021-01-10到grub4dos-for_UEFI-2021-09-08许多版本都试了,原来记得能启动的,上面的菜单都不行了,我也不知道是啥原因,回头找下原因。可能是unifont.hex.gz的原因。        

点评

台式机,试了很多个g4e版本,按c进去命令行,执行find --ignore-floppies --ignore-cd --set-root /boot/imgs/WePE64_V2.2.iso 直接卡死了,这是什么原因?以前没有遇到过这样的问题。g4d执行这一句不会卡死。文件  详情 回复 发表于 2021-10-26 12:03
回复

使用道具 举报

1971#
发表于 2021-10-26 11:20:03 | 只看该作者
hhh333 发表于 2021-10-25 21:10
建议hotkey功能能够内置,用外置很不确实:1、用728的hotkey正常,而后续版本不正常;2、用728的如果不是一 ...

2021-06-02 (a1ive)
  支持嵌入字库、模块(.mod文件)。
  mkimage.exe -d 目录 -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c 嵌入菜单 -f 嵌入字库 -m 嵌入模块
  mkimage.exe -d 目录 -p /efi/grub -o BOOTIA32.EFI -O i386-efi -c 嵌入菜单 -f 嵌入字库 -m 嵌入模块


精选一个 版本,集成 进去。

点评

mod模块我从哪里得到呢,譬如我要728的hotkey,如何弄?  详情 回复 发表于 2021-10-26 11:32
集成进去以后菜单中还要不要insmod,应该不要吧  详情 回复 发表于 2021-10-26 11:24
回复

使用道具 举报

1972#
发表于 2021-10-26 11:24:12 | 只看该作者
2011whp 发表于 2021-10-26 11:20
2021-06-02 (a1ive)
  支持嵌入字库、模块(.mod文件)。
  mkimage.exe -d 目录 -p /efi/grub -o BOOTX6 ...

集成进去以后菜单中还要不要insmod,应该不要吧
回复

使用道具 举报

1973#
发表于 2021-10-26 11:32:55 | 只看该作者
2011whp 发表于 2021-10-26 11:20
2021-06-02 (a1ive)
  支持嵌入字库、模块(.mod文件)。
  mkimage.exe -d 目录 -p /efi/grub -o BOOTX6 ...

mod模块我从哪里得到呢,譬如我要728的hotkey,如何弄?

点评

hotkey 本身是 模块, 集成 后,不用 insmod ( 要集成 多个 外部命令的 话,要用 fbinst 打包) 使用的 话,当内部命令,就行, 菜单 得写 上, (具体记不清了: 你试吧,hotkey, 不能直接 -m 的话,fbi  详情 回复 发表于 2021-10-26 12:00
回复

使用道具 举报

1974#
发表于 2021-10-26 12:00:53 | 只看该作者
hhh333 发表于 2021-10-26 11:32
mod模块我从哪里得到呢,譬如我要728的hotkey,如何弄?

hotkey 本身是 模块,  集成 后,不用  insmod  ( 要集成 多个 外部命令的 话,要用 fbinst 打包)

使用的 话,当内部命令,就行, 菜单 得写 上,

(具体记不清了: 你试吧,hotkey,  不能直接 -m  的话,fbinst打包下,  做Ud分区的那个 软件)

点评

加也加入了,bootx64.efi体积增加了,但用不了。还是要外置才能用。 这个是打包命令hotkey已经拷贝到命令文件所在目录 这个是主菜单  详情 回复 发表于 2021-10-26 16:08
回复

使用道具 举报

1975#
发表于 2021-10-26 12:03:52 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-10-26 12:47 编辑
liuzhaoyzz 发表于 2021-10-26 08:00
grub4dos-for_UEFI-2021-09-08+笔记本电脑正常。

但我另外一台台式机,不知道咋整的,许多版本都不正 ...


台式机,试了很多个g4e版本,按c进去命令行,执行find --ignore-floppies --ignore-cd --set-root /boot/imgs/WePE64_V2.2.iso
直接卡死了,这是什么原因?以前没有遇到过这样的问题。g4d执行这一句不会卡死。文件确认是存在的,目录名字和大小写正常,奇怪的很。

哦,找到原因了,有个硬盘是GPT分区的,  esp+ext4分区格式,我直接重新分区格式化,弄成了ESP+NTFS,GPT分区,g4e就不卡死了,具体原因不知道为啥,之前chkdsk /f也没用,原因没有深究。台式机一个nvme ssd是MBR分区+一个机械硬盘MBR分区+一个机械硬盘GPT分区用于测试的。   
回复

使用道具 举报

1976#
发表于 2021-10-26 15:46:41 | 只看该作者
fdd_ds 发表于 2021-10-24 19:36
1.efi/boot/bootx64.efi (2021-10-21的),无menu.lst,可启动到"grub>"。14吋屏(max:1920x1080)只 ...

我昨天用2021-10-21版本试过,也出现过上面图片的问题,但是换了个菜单文件,就无此现象了——应该是新版本和菜单有些不兼容——出问题的那个菜单文件,2021-9-8以前的版本,是正常的。
回复

使用道具 举报

1977#
 楼主| 发表于 2021-10-26 15:55:30 | 只看该作者
本帖最后由 2011yaya2007777 于 2021-10-26 15:56 编辑
grub4dos-for_UEFI-2021-10-21试了几个PE怎么都启动不了了?

包里的3个PE我都测试了,直接用虚拟机启动他们,成功;使用g4e启动他们,失败。
原因是光盘启动目录,第0x26-0x27字节是启动时装入内存的映像文件扇区数,其数值为1,实际应当是0x1680。
我不清楚这个软盘镜像是使用什么软件制作的。

直接用虚拟机启动WePE_64_V2.0.iso时,虚拟机是以 CDROM(1, 0x140, 0x1884d)启动的。
真是情况是  CDROM(1, 0x140, 1)。
在程序内部使装入内存的映像文件扇区数=0x1680,使用g4e启动,不死机了,但是启动失败。
启动过程显示,虚拟机曾经探测 CDROM(1, 0x140, 0x1884d) 和 CDROM(1, 0x140, 0x1680),都失败。

点评

记得wintoflash曾经说过,UEFI下面的iso启动规范非常混乱。grub2uefi我试了可以成功启动WEPE2.0 2.1 2.2,grub2的相关代码可以参考下吗? 但是看map过程的提示,map那个225MB的iso文件之后,接着又map了一个1025M  详情 回复 发表于 2021-10-26 16:35
回复

使用道具 举报

1978#
发表于 2021-10-26 16:02:52 | 只看该作者
看见 G4D 也更新了,但是试了下新版本,分别试了三个分别是近 4KB、 4KB、20KB 的 slic 命令仍然如下图出错(2021-6-2及之前的正常)。有空及闲心的时候,YAYA也试下能不能解决这个问题吧。


回复

使用道具 举报

1979#
发表于 2021-10-26 16:08:51 | 只看该作者
2011whp 发表于 2021-10-26 12:00
hotkey 本身是 模块,  集成 后,不用  insmod  ( 要集成 多个 外部命令的 话,要用 fbinst 打包)

使 ...

加也加入了,bootx64.efi体积增加了,但用不了。还是要外置才能用。

这个是打包命令hotkey已经拷贝到命令文件所在目录

  1. @echo off
  2. rem mkimage.exe -d 64位内核img所在目录 -p /efi/grub(初始菜单查找目录) -o BOOTX64.EFI(目标文件) -O x86_64-efi(目标类型为固定的64位标识) -c 嵌入菜单 -f 嵌入字库 -m 嵌入模块
  3. rem mkimage.exe -d 32位内核img所在目录 -p /efi/grub(初始菜单查找目录) -o BOOTIA32.EFI(目标文件) -O i386-efi(目标类型为固定的32位标识) -c 嵌入菜单 -f 嵌入字库 -m 嵌入模块
  4. mkimage.exe -d x86_64-efi -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -m hotkey
复制代码

这个是主菜单
  1. terminal console
  2. debug off
  3. timeout 1

  4. #默认启动菜单
  5. set grmenu=h3_gr2hd.lst

  6. #光启菜单
  7. if %?_BOOT%==(cd) set grmenu=h3_gr2cd.lst
  8. checkrange 0xA0:0xFF read 0x82A0 > nul && set grmenu=h3_gr2cd.lst

  9. #网启菜单
  10. if %?_BOOT%==(pd) pxe keep && set grmenu=h3_grpxe.lst

  11. #判断32或64位
  12. calc *0x8272&0xff > nul ;; set arch=%@retval%
  13. if "%arch%"=="64" && set IA=x64 && set EXTP=/EFI/grub/ext ! set IA=ia32 && set EXTP=/EFI/grub/ext32 && set arch=PE

  14. #设置第一项为默认值
  15. graphicsmode -1 1024
  16. splashimage /BOOT/GRUB/BACK.JPG
  17. #font /EFI/grub/fonts/unifont.hex
  18. font /BOOT/GRUB/UNIFONT.HEX
  19. command --set-path=()%EXTP%

  20. #启用热键
  21. hotkey
  22. setmenu --hotkey-color=0xff00ff

  23. #定义自动编号及编号间隔符
  24. #write 0x8274 0x2D01

  25. #设置字符颜色(高32位是背景色,低32位是前景色。在命令行执行:echo -rrggbb,可查看对应的颜色。)
  26. color normal=0x999999 highlight=0xffffff helptext=0xffff heading=0x66ff00

  27. #字距与行距
  28. terminal --font-spacing=0:3

  29. #设置菜单框
  30. setmenu --box x=16 w=90 y=5 h=28 l=0 --lang=zh --ver-off
  31. #setmenu --font-spacing=1:5
  32. #设置倒计时
  33. #setmenu --timeout=x=y=颜色

  34. configfile /EFI/grub/%grmenu%
复制代码

点评

[attachimg]489344[/attachimg] 你试的时候,不加内置菜单时,默认会有内置菜单么?(能启动吧,只是热键不起作用)  详情 回复 发表于 2021-10-26 17:35
-m xxx.mod。要用打包工具把外部命令打包成 *.mod  详情 回复 发表于 2021-10-26 16:34
回复

使用道具 举报

1980#
 楼主| 发表于 2021-10-26 16:12:25 | 只看该作者
建议hotkey功能能够内置,用外置很不确实:1、用728的hotkey正常,而后续版本不正常;2、用728的如果不是一启也不正常,譬如rfeind/xorboot等转G4E,hotkey失效全部原字符显示;3.最根本的是菜单显示表现应该是G4E的基本核心功能,外置不太合适。

1. 我这里测试,grub4dos-for_UEFI-2021-07-28 和 grub4dos-for_UEFI-2021-09-08 版本,都正常。
2. 不管什么转G4E,要使用热键功能,G4E的菜单里必须有hotkey的加载路径和参数,而且在指定的路径上,要有hotkey这个文件。

点评

我一直也没管,直接升级,ISO文件在虚拟机中测试确实是正常的,但是, 1、如果安装到硬盘或U盘启动(不是MAP ISO的形式,即直接用G4E的bootx64.efi启动,就出现hotkey失效的问题。 2、还是硬盘启动,从xorboot等转G  详情 回复 发表于 2021-10-26 16:38
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-2 00:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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