无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
2971#
发表于 2023-8-31 17:31:57 | 只看该作者
2011yaya2007777 发表于 2023-8-31 05:40
initrd.lz1包含在NTLOADER压缩里呀。你没有下载?没有打开看看?

我下載的是Development Build ,Jun 28 裡面是initrd.cpio
v2.01的裡面是initrd.lz1
Jun 28的測試可以使用了.
有問題清空一下secure boot就好了
就沒測試了v2.01
回复

使用道具 举报

2972#
 楼主| 发表于 2023-8-31 17:51:47 来自手机 | 只看该作者
解决了就好

点评

G4E有没隐藏显示分区的命令?G4D下的hide和unhide似乎不管用了  详情 回复 发表于 2023-9-1 10:40
回复

使用道具 举报

2973#
发表于 2023-9-1 10:40:17 | 只看该作者

G4E有没隐藏显示分区的命令?G4D下的hide和unhide似乎不管用了
回复

使用道具 举报

2974#
 楼主| 发表于 2023-9-1 14:27:47 | 只看该作者
G4E有没隐藏显示分区的命令?

G4E有hide,没有unhide。

点评

好的。这个命令还是改写分区标记来达到隐藏?  详情 回复 发表于 2023-9-1 15:27
回复

使用道具 举报

2975#
发表于 2023-9-1 15:27:53 | 只看该作者
2011yaya2007777 发表于 2023-9-1 14:27
G4E有hide,没有unhide。

好的。这个命令还是改写分区标记来达到隐藏?
回复

使用道具 举报

2976#
发表于 2023-9-1 15:34:36 | 只看该作者
感谢分享
回复

使用道具 举报

2977#
发表于 2023-9-3 14:20:55 | 只看该作者

感谢楼主指点!关闭安全启动,关闭CSM功能,都没解决问题!最后是将EFI分区里以前留下的Microsoft文件夹全部删除后才解决了问题。华硕主板是折腾人。
回复

使用道具 举报

2978#
发表于 2023-9-19 12:02:15 | 只看该作者
(真传一句话)已有EFI分区的朋友,解包bootx64.efi拷入\EFI\BOOT\ ;其他解包文件全部拷到新建目录 \EFI\grub\ 目录中
回复

使用道具 举报

2979#
发表于 2023-9-20 11:05:29 | 只看该作者
        
        用GRUB4DOS for UEFI 64 位对“运行 Porteus 3.2 口袋 Linux 系统中文定制版”启动失败,我用以下4个菜单调用,均告失败:

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --set-root /porteus.iso
kernel /porteus/vmlinuz from=porteus.iso
initrd /porteus/initrd.xz

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --set-root /porteus.iso
kernel /porteus/vmlinuz copy2ram
initrd /porteus/initrd.xz

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --set-root /porteus.iso
map /porteus.iso (0xff)
chainloader (0xff)

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版(加载到内存)
find --set-root /porteus.iso
map --mem /porteus.iso (0xff)
chainloader (0xff)

        盼大神您给指点一下,谢谢!!!

点评

你的菜单不对。参考下: title /linux/porteus/Porteus-4.0-x86_64-20170917.iso find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-4.0-x86_64-20170917.iso ;; uuid () ;; echo %?_UUID%  详情 回复 发表于 2023-9-21 15:19
回复

使用道具 举报

2980#
 楼主| 发表于 2023-9-20 11:43:50 来自手机 | 只看该作者
菜单首位增加  debug  3,看看有什么反馈信息。启动 linux 比较困难,尤其是传递什么参数。
回复

使用道具 举报

2981#
发表于 2023-9-20 12:59:36 | 只看该作者
牛牛,感谢分享
回复

使用道具 举报

2982#
发表于 2023-9-21 12:59:01 | 只看该作者
本帖最后由 有阴也有阳 于 2023-9-21 13:00 编辑


        请问32位的Grub4dos for UEFI的菜单该如何设置?菜单名是menu.lst,还是menu2.lst?

如果是menu2.lst,应该如何设置才能让32位的Grub4dos for UEFI调用的菜单是menu2.lst,而

不是menu.lst?麻烦您了,谢谢!!!
回复

使用道具 举报

2983#
 楼主| 发表于 2023-9-21 13:43:35 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2023-9-21 14:17 编辑

menu.lst放在 /efi/grub/

点评

我的menu.lst菜单是放在了/efi/grub/中,但问题是从64位的G4D-UEFI启动时64位的G4D-UEFI调用的是它,从32位的G4D-UEFI启 动时32位的G4D-UEFI调用的还是它,而这张menu.lst菜单我是针对64位的G4D-UEFI启  详情 回复 发表于 2023-9-21 16:08
回复

使用道具 举报

2984#
发表于 2023-9-21 15:19:31 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-10-12 14:36 编辑
有阴也有阳 发表于 2023-9-20 11:05
用GRUB4DOS for UEFI 64 位对“运行 Porteus 3.2 口袋 Linux 系统中文定制版”启动失败 ...

你的菜单不对。参考下:
title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-4.0-x86_64-20170917.iso ;; uuid () ;; echo %?_UUID%
map /linux/porteus/Porteus-4.0-x86_64-20170917.iso (hd32)
map --hook
kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/linux/porteus/Porteus-4.0-x86_64-20170917.iso norootcopy nomagic
Porteus 3.2,我不知道是否支持UEFI启动。如果能启动,菜单应该是上面的样子。

点评

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版 find --ignore-floppies --ignore-cd --set-root /porteus.iso ;; uuid () ;; echo %?_UUID% map /porteus.iso (hd32) map --hook kernel (hd32)/porteus/v  详情 回复 发表于 2023-9-21 18:19
请问“001-core.xzm”这个文件在哪儿提取出来?  详情 回复 发表于 2023-9-21 17:28
回复

使用道具 举报

2985#
发表于 2023-9-21 16:08:06 | 只看该作者


        我的menu.lst菜单是放在了/efi/grub/中,但问题是从64位的G4D-UEFI启动时64位的G4D-UEFI调用的是它,从32位的G4D-UEFI启

动时32位的G4D-UEFI调用的还是它,而这张menu.lst菜单我是针对64位的G4D-UEFI启动、运行写的,32位的G4D-UEFI的菜单应该或改

名——如"menu2.lst",或另外放置一个地方,否则64位的G4D-UEFI与32位的G4D-UEFI就会调用的是同一张menu.ls菜单,下面的工作就无

法进行下去了......
回复

使用道具 举报

2986#
 楼主| 发表于 2023-9-21 16:28:06 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2023-9-21 17:20 编辑

统一菜单。在菜单里判断是32/64。好像变量是 %@uefi%,返回32/64。
if %@uefi%==32 执行命令

点评

“统一菜单”——那是不是64位的UEFI菜单与32位的UEFI菜单写在同一张menu.lst菜单上,比如: title 运行 Win10 PE 64 位 find --set-root /w1064pe.iso map /w1064pe.iso (0xff) chainloader (0xff) title  详情 回复 发表于 2023-9-21 17:57
回复

使用道具 举报

2987#
发表于 2023-9-21 17:28:58 | 只看该作者
liuzhaoyzz 发表于 2023-9-21 15:19
你的菜单不对。参考下:
title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
find --ignore-floppi ...

请问“001-core.xzm”这个文件在哪儿提取出来?
回复

使用道具 举报

2988#
发表于 2023-9-21 17:57:47 | 只看该作者
本帖最后由 有阴也有阳 于 2023-9-21 18:01 编辑
2011yaya2007777 发表于 2023-9-21 16:28
统一菜单。在菜单里判断是32/64。好像变量是 %@uefi%,返回32/64。
if %@uefi%==32 执行命令

       “统一菜单”——那是不是64位的UEFI菜单与32位的UEFI菜单写在同一张menu.lst菜单上,比如:

title 运行 Win10  PE 64 位
find --set-root /w1064pe.iso
map /w1064pe.iso (0xff)
chainloader (0xff)

title 运行 Win10  PE 32 位
find --set-root /w1032pe.iso
map /w1032pe.iso (0xff)
chainloader (0xff)

        在32位的UEFI的G4D环境下就运行“title 运行 Win10  PE 32 位”,在64位的UEFI的G4D环境下就运行“title 运行 Win10  PE 64 位”,

我这样理解对吗?
回复

使用道具 举报

2989#
 楼主| 发表于 2023-9-21 18:09:15 来自手机 | 只看该作者
是的,正确。

点评

32/64位的UEFI Grub4dos的菜单都写在同一张menu.lst菜单上太过拥挤......我做了一下变通: 1.启动32位的UEFI Grub4dos时先进入32/64位的UEFI Grub4dos的公共menu.lst菜单: [attac  详情 回复 发表于 2023-9-21 20:05
可否考虑将32位与64位的UEFI-G4D的菜单分开,因为对启动U盘来说,都集中在同一张菜单上太过拥挤、臃肿...... 这只仅仅是64位的UEFI-G4D的菜单: [attachimg]532019[/attachimg]  详情 回复 发表于 2023-9-21 18:40
回复

使用道具 举报

2990#
发表于 2023-9-21 18:19:13 | 只看该作者
本帖最后由 有阴也有阳 于 2023-9-21 18:33 编辑
liuzhaoyzz 发表于 2023-9-21 15:19
你的菜单不对。参考下:
title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
find --ignore-floppi ...

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --ignore-floppies --ignore-cd --set-root /porteus.iso ;; uuid () ;; echo %?_UUID%
map /porteus.iso (hd32)
map --hook
kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/porteus.iso norootcopy nomagic
initrd (hd32)/porteus/base/001-core.xzm

porteus.iso文件放置在启动U盘的根目录,已经用软碟通从porteus.iso文件的base文件夹中提取出001-core.xzm文件......

在32位的UEFI的环境下的启动报错:



启动到此,就停滞不前,一直停在这儿不动了......

在64位的UEFI的环境下的启动报错:



Porteus 3.2 口袋 Linux 系统中文定制版——porteus.iso肯定支持32/64位的UEFI启动,在32/64位的UEFI的Xorboot环境中都能正常启动。

点评

001-core.xzm,不需要解压缩,iso里面就有,所有的文件都不需要解压缩。  详情 回复 发表于 2023-9-22 14:17
title /linux/porteus/Porteus-3.2-i586-20160613.iso find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-3.2-i586-20160613.iso ;; uuid () ;; echo %?_UUID% map /linux/porteus/Porteus-3  详情 回复 发表于 2023-9-22 11:52
回复

使用道具 举报

2991#
发表于 2023-9-21 18:40:32 | 只看该作者


         可否考虑将32位与64位的UEFI-G4D的菜单分开,因为对启动U盘来说,都集中在同一张菜单上太过拥挤、臃肿......

        这只仅仅是64位的UEFI-G4D的菜单:

        

        假如再加上32位的UEFI-G4D的菜单那还不知道要有多长......

点评

善用is64bit命令呗,然后返回1就configfile 64位的菜单不就行了吗。  详情 回复 发表于 2023-9-21 18:45
回复

使用道具 举报

2992#
发表于 2023-9-21 18:45:01 | 只看该作者
有阴也有阳 发表于 2023-9-21 18:40
可否考虑将32位与64位的UEFI-G4D的菜单分开,因为对启动U盘来说,都集中在同一张菜单上太过拥 ...

善用is64bit命令呗,然后返回1就configfile 64位的菜单不就行了吗。
回复

使用道具 举报

2993#
发表于 2023-9-21 20:05:58 | 只看该作者


         32/64位的UEFI Grub4dos的菜单都写在同一张menu.lst菜单上太过拥挤......我做了一下变通:

        1.启动32位的UEFI Grub4dos时先进入32/64位的UEFI Grub4dos的公共menu.lst菜单:

        

        2.然后再转入32位的UEFI Grub4dos的专属菜单menu32.lst:

        

        而menu.lst菜单既是32/64位的UEFI Grub4dos的公共菜单,又是64位的UEFI Grub4dos的专属菜单:

        

        这样就好多了——没办法的办法,还是希望大神把32位与64位的菜单分开......谢谢!!!麻烦了!!!
回复

使用道具 举报

2994#
发表于 2023-9-22 11:52:46 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-10-12 14:40 编辑
有阴也有阳 发表于 2023-9-21 18:19
title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --ignore-floppies --ignore-cd --set-root /p ...

我用来测试的porteus应该是wintoflash的作品。
https://www.123pan.com/s/lE5A-7U3yv.html

title /linux/porteus/Porteus-3.2-i586-20160613.iso
find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-3.2-i586-20160613.iso ;; uuid () ;; echo %?_UUID%
map /linux/porteus/Porteus-3.2-i586-20160613.iso (hd32)
map --hook
kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/linux/porteus/Porteus-3.2-i586-20160613.iso norootcopy nomagic

我这边测试也是无法启动。grub4dos-for_UEFI-2023-09-22,我感觉是Porteus-3.2版本太老了,g4e不支持,grub2用的UEFI引导协议支持。


我测试了grub2用loopback方式可以启动。


menuentry "/linux/porteus/Porteus-3.2-i586-20160613.iso" "/linux/porteus/Porteus-3.2-i586-20160613.iso" {
set gfxpayload=keep
search --no-floppy --set --file $2;probe -u ($root) -s uuid;echo $uuid
loopback loop $2
linux (loop)/porteus/vmlinuz from=UUID:$uuid$2 norootcopy nomagic
}






回复

使用道具 举报

2995#
发表于 2023-9-22 14:17:14 | 只看该作者
有阴也有阳 发表于 2023-9-21 18:19
title 运行 Porteus 3.2 口袋 Linux 系统中文定制版
find --ignore-floppies --ignore-cd --set-root /p ...

001-core.xzm,不需要解压缩,iso里面就有,所有的文件都不需要解压缩。
回复

使用道具 举报

2996#
发表于 2023-9-22 14:25:09 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-10-12 14:48 编辑

Porteus-4.0-x86_64-20170917.iso测试可以启动
title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-4.0-x86_64-20170917.iso ;; uuid () ;; echo %?_UUID%
map /linux/porteus/Porteus-4.0-x86_64-20170917.iso (hd32)
map --hook
kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/linux/porteus/Porteus-4.0-x86_64-20170917.iso norootcopy nomagic


GPT-TEST-2023-09-22-14-24-39.png (759.45 KB, 下载次数: 99)

GPT-TEST-2023-09-22-14-24-39.png

点评

这是什么操作?  详情 回复 发表于 2023-9-22 14:41
回复

使用道具 举报

2997#
发表于 2023-9-22 14:41:00 | 只看该作者
liuzhaoyzz 发表于 2023-9-22 14:25
Porteus-4.0-x86_64-20170917.iso测试可以启动
title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
f ...
initrd (hd32)/porteus/base/001-core.xzm

这是什么操作?

点评

我也忘记了,大概是initrd (loop)/porteus/initrd.xz加载不了,然后加载initrd (hd32)/porteus/base/001-core.xzm这个组件包好像,我也忘记了是网上看的,还是根据启动失败的时候提示信息修改来的,反正是能够启动了  详情 回复 发表于 2023-9-22 14:47
回复

使用道具 举报

2998#
发表于 2023-9-22 14:47:19 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-9-22 15:02 编辑

我也忘记了,大概是initrd (hd32)/porteus/initrd.xz加载不了,然后加载initrd (hd32)/porteus/base/001-core.xzm这个组件包好像,我也忘记了是网上看的,还是根据启动失败的时候提示信息修改来的,反正是能够启动了。
就这样。

title /linux/porteus/Porteus-4.0-x86_64-20170917.iso
find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-4.0-x86_64-20170917.iso ;; uuid () ;; echo %?_UUID%
map /linux/porteus/Porteus-4.0-x86_64-20170917.iso (hd32)
map --hook
kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/linux/porteus/Porteus-4.0-x86_64-20170917.iso norootcopy nomagic
initrd (hd32)/porteus/vmlinuz



刚才我又试了下,上面的也可以启动。我记不清initrd (hd32)/porteus/base/001-core.xzm是怎么来的,好像是用这个可以适配更多版本。


点评

不需要initrd啊  详情 回复 发表于 2023-9-22 15:07
回复

使用道具 举报

2999#
发表于 2023-9-22 15:07:26 | 只看该作者
liuzhaoyzz 发表于 2023-9-22 14:47
我也忘记了,大概是initrd (hd32)/porteus/initrd.xz加载不了,然后加载initrd (hd32)/porteus/base/001- ...

不需要initrd啊

点评

哦,我试了下,不要initrd的确可以启动,应该是你魔改的结果吧,是不是他通过那个porteus.sgn标致文件定位并自己找到的? 刚才我试了下porteus官网的5.0,好像需要initrd。 porteus-mirrors.txt - created on 20  详情 回复 发表于 2023-9-22 15:23
回复

使用道具 举报

3000#
发表于 2023-9-22 15:23:19 | 只看该作者

哦,我试了下,不要initrd的确可以启动,应该是你魔改的结果吧,是不是他通过那个porteus.sgn标致文件定位并自己找到的?

刚才我试了下porteus官网的5.0,好像需要initrd。
porteus-mirrors.txt - created on 2018-02-19
http://porteus.org/porteus-mirrors.html

title /linux/porteus/Porteus-XFCE-v5.0-x86_64.iso
find --ignore-floppies --ignore-cd --set-root /linux/porteus/Porteus-XFCE-v5.0-x86_64.iso ;; uuid () ;; echo %?_UUID%
map /linux/porteus/Porteus-XFCE-v5.0-x86_64.iso (hd32)
map --hook
kernel (hd32)/boot/syslinux/vmlinuz from=UUID:%?_UUID%/linux/porteus/Porteus-XFCE-v5.0-x86_64.iso norootcopy nomagic
initrd (hd32)/boot/syslinux/initrd.xz

GPT-TEST-2023-09-22-15-19-58.png (783.37 KB, 下载次数: 300)

GPT-TEST-2023-09-22-15-19-58.png

点评

title 运行 Porteus 3.2 口袋 Linux 系统中文定制版 find --set-root /porteus.iso ;; uuid () ;; echo %?_UUID% map /porteus.iso (hd32) map --hook kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/port  详情 回复 发表于 2023-9-22 16:46
title 运行 Porteus 3.2 口袋 Linux 系统中文定制版 find --set-root /porteus.iso ;; uuid () ;; echo %?_UUID% map /porteus.iso (hd32) map --hook kernel (hd32)/porteus/vmlinuz from=UUID:%?_UUID%/port  详情 回复 发表于 2023-9-22 16:45
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-13 12:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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