无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 16286|回复: 146

[分享] grub2的自动菜单和多功启动(以cfg文件的方式仿造g4d的run/siso)

    [复制链接]
发表于 2019-12-31 08:23:33 | 显示全部楼层 |阅读模式
本帖最后由 hilsonma 于 2020-1-26 16:23 编辑

run.7z (568.88 KB, 下载次数: 646)

评分

参与人数 5无忧币 +21 收起 理由
jack612 + 1
jxdeng2017 + 5 终于看到了Grub2的 Autorun ,很给力!
shan + 5 万分感谢!终于有我需求的功能了
sghihor + 5
wintoflash + 5

查看全部评分

发表于 2019-12-31 08:49:18 | 显示全部楼层
这个可以有
回复

使用道具 举报

发表于 2019-12-31 09:31:52 | 显示全部楼层
这样好像应该只适合修改版grub2吧,  而且现在貌似写grub2菜单其实比g4d简单了,没有什么内存地址,
这个run,我有个很变态的写法,我酝酿一下折腾折腾,绝对变态,绝对的,
回复

使用道具 举报

 楼主| 发表于 2019-12-31 09:59:53 | 显示全部楼层
江南一根葱 发表于 2019-12-31 09:31
这样好像应该只适合修改版grub2吧,  而且现在貌似写grub2菜单其实比g4d简单了,没有什么内存地址 ...

当然只适合修改版grub2,只是三个cfg文件,功能都是基于wintoflash的相关模块支持。

拭目以待最伟的变态之作
回复

使用道具 举报

发表于 2019-12-31 11:19:36 | 显示全部楼层
hilsonma 发表于 2019-12-31 09:59
当然只适合修改版grub2,只是三个cfg文件,功能都是基于wintoflash的相关模块支持。

拭目以待最伟的变 ...

那不如打包成单efi啊,反正都启动了
想返回原菜单的话,你把里面的弄成返回你的菜单。

最近瞎忙都没折腾,
大概我就是会把菜单文件弄成可以用save_env来保存变量到自身

然后弄几个僵尸菜单,每种菜单对应一种启动方式,
菜单所有行前面弄个变量,变量值默认是#号,就是不出现菜单,
如果是iso格式的,那就把iso前面的变量由变量值#号变成空,iso相应的菜单就会显示了,就会启动了,

然后加密菜单,这样显得神秘
哈哈

回复

使用道具 举报

发表于 2019-12-31 13:24:52 | 显示全部楼层
请问大师 支持普通BIOS吗
回复

使用道具 举报

发表于 2019-12-31 13:41:32 | 显示全部楼层
早就该出手了,Grub2是大势所趋啊
回复

使用道具 举报

发表于 2019-12-31 13:46:06 | 显示全部楼层
江南一根葱 发表于 2019-12-31 11:19
那不如打包成单efi啊,反正都启动了,
想返回原菜单的话,你把里面的弄成返回你的菜单。

谢大大分享, 如果能打包成 .EFI更方便,就是最伟大大说的.
回复

使用道具 举报

 楼主| 发表于 2019-12-31 14:33:28 | 显示全部楼层
tdqk003 发表于 2019-12-31 13:24
请问大师 支持普通BIOS吗

道理上讲是支持,你看我列出的模块,如果bios模式里有这些模块就支持,没有的模块就缺少相应的功能。自动菜单应该是可以显示的。
回复

使用道具 举报

发表于 2019-12-31 15:05:40 | 显示全部楼层
hilsonma 发表于 2019-12-31 14:33
道理上讲是支持,你看我列出的模块,如果bios模式里有这些模块就支持,没有的模块就缺少相应的功能。自动 ...

大师啊  我试过了  不行了  少几个模块   一散就过  没有反映
回复

使用道具 举报

 楼主| 发表于 2019-12-31 15:19:47 | 显示全部楼层
tdqk003 发表于 2019-12-31 15:05
大师啊  我试过了  不行了  少几个模块   一散就过  没有反映

嗯,刚试了一下,没有关键的三大模块 map ntboot wimboot
可以自动菜单,但只能测试cfg文件,所以没有什么用
虽然可以修改成引用g4d的方式,但我认为没有那个必要。
bios下还是直接用g4d吧,我都是用g4d的。
回复

使用道具 举报

发表于 2019-12-31 15:30:07 | 显示全部楼层
hilsonma 发表于 2019-12-31 15:19
嗯,刚试了一下,没有关键的三大模块 map ntboot wimboot
可以自动菜单,但只能测试cfg文件,所以没有什 ...

非常感谢大师
回复

使用道具 举报

 楼主| 发表于 2019-12-31 16:16:05 | 显示全部楼层
本帖最后由 hilsonma 于 2019-12-31 16:21 编辑
江南一根葱 发表于 2019-12-31 11:19
那不如打包成单efi啊,反正都启动了,
想返回原菜单的话,你把里面的弄成返回你的菜单。

会不会弄grub2模块,wintoflash的ntboot我觉得比wimboot好用,但好象不支持中文文件名,并且看他发的贴子,他用的bcd文件是分winload.exe和winload.efi的,其实不需要在bcd中指定winload的,bootmgfw.efi 和bootmgr会自动使用恰当的winload来引导的。wintoflash在贴子中说他不会更新了,项目中止了。你如果会改又能抽得出时间的话,修改一下这个模块,我就可以完全用这个ntboot来代替wimboot了。
回复

使用道具 举报

 楼主| 发表于 2019-12-31 16:56:16 | 显示全部楼层
本帖最后由 hilsonma 于 2019-12-31 18:01 编辑
sghihor 发表于 2019-12-31 13:46
谢大大分享, 如果能打包成 .EFI更方便,就是最伟大大说的.

以我所知的方法,使用打包得来的efi效率不如cfg.
江南一根葱提过grub2搜索文件慢,我觉得用我现在的方式在实机上操作还可以,不觉得慢。
回复

使用道具 举报

发表于 2019-12-31 17:41:24 | 显示全部楼层
hilsonma 发表于 2019-12-31 16:16
会不会弄grub2模块,wintoflash的ntboot我觉得比wimboot好用,但好象不支持中文文件名,并且看他发的贴子 ...

为啥不支持中文?
因为文件路径转换成 bcd 里面的路径要进行编码转换。
这个不好做。


回复

使用道具 举报

 楼主| 发表于 2019-12-31 18:09:39 | 显示全部楼层
wintoflash 发表于 2019-12-31 17:41
为啥不支持中文?
因为文件路径转换成 bcd 里面的路径要进行编码转换。
这个不好做。

你的ntboot的贴子提到过实现的过程,我知道要转换路径,是不好做
wimboot的具体实现我不了解,不知道是怎么做到的,有没有参考的地方。在你看来应该是没有共通的,要不然你已经参考了,我只是想弄个明白,或者希望有人能解决。
回复

使用道具 举报

 楼主| 发表于 2019-12-31 18:44:03 | 显示全部楼层
本帖最后由 hilsonma 于 2019-12-31 18:47 编辑
wintoflash 发表于 2019-12-31 17:41
为啥不支持中文?
因为文件路径转换成 bcd 里面的路径要进行编码转换。
这个不好做。

刚才试了一下g4d的run,是可以启动中文文件名的pe镜像的,只是中文的地方显示变成了编码

run.jpg
回复

使用道具 举报

发表于 2019-12-31 18:58:41 | 显示全部楼层
本帖最后由 20160618 于 2019-12-31 19:00 编辑
hilsonma 发表于 2019-12-31 18:44
刚才试了一下g4d的run,是可以启动中文文件名的pe镜像的,只是中文的地方显示变成了编码

menu.lst 中要 中文字体

font /boot/grub/unifont.hex
加上看看,行不行
回复

使用道具 举报

 楼主| 发表于 2019-12-31 19:11:04 | 显示全部楼层
本帖最后由 hilsonma 于 2019-12-31 19:15 编辑
20160618 发表于 2019-12-31 18:58
menu.lst 中要 中文字体

font /boot/grub/unifont.hex

其实我在g4d中是用siso的,不需要另加中文字体,显示没有问题,只是siso中是可以用wimboot来实现启动pe的,所以我才用跟wimboot不同的run试给wintoflash看看有没有参考作用。

menu.lst 也是支持utf-8编码了的。

siso01.jpg
回复

使用道具 举报

发表于 2019-12-31 19:11:12 来自手机 | 显示全部楼层
hilsonma 发表于 2019-12-31 18:44
刚才试了一下g4d的run,是可以启动中文文件名的pe镜像的,只是中文的地方显示变成了编码

确实需要字体,我记着以前用的时候有加字体回头我查一下看看我还有保存档没!
回复

使用道具 举报

发表于 2019-12-31 20:35:31 | 显示全部楼层
中文iso倒是常用,中文wim我倒是还没折腾过,估计用“乱码”加载就可以了吧
回复

使用道具 举报

发表于 2019-12-31 20:47:43 | 显示全部楼层
hilsonma 发表于 2019-12-31 16:56
以我所知的方法,使用打包得来的efi效率不如cfg.
江南一根葱 也 提过grub2搜索文件慢,我觉 ...

看怎么搜索吧,我以前是全盘搜索,,只搜两层目录倒不是很慢,而且貌似grub2搜文件还有大小写问题,要搜索两遍,烦得很,
回复

使用道具 举报

发表于 2020-1-1 10:00:48 | 显示全部楼层
万分感谢!终于有我需要的功能了,有时间再测试哈
回复

使用道具 举报

发表于 2020-1-1 14:44:13 | 显示全部楼层
学习学习,谢谢大神分享。。。
回复

使用道具 举报

发表于 2020-1-1 15:02:37 | 显示全部楼层
逗我呢,g4d的NTBOOT本来就不支持中文名啊!
深度截图_选择区域_20200101150058.png
深度截图_选择区域_20200101145910.png
深度截图_选择区域_20200101150224.png

回复

使用道具 举报

发表于 2020-1-1 15:28:20 | 显示全部楼层
wintoflash 发表于 2020-1-1 15:02
逗我呢,g4d的NTBOOT本来就不支持中文名啊!
  1. Windows操作系统内核中的字符表示为UTF-16小尾序,可以正确处理、显示以4字节存储的字符。但是Windows API实际上仅能正确处理UCS-2字符,即仅以2字节存储的,码位小于U+FFFF的Unicode字符。其根源是Microsoft C++语言把 wchar_t 数据类型定义为16比特的unsigned short,这就与一个 wchar_t 型变量对应一个宽字符、可以存储一个Unicode字符的规定相矛盾。
复制代码
回复

使用道具 举报

 楼主| 发表于 2020-1-1 15:38:47 | 显示全部楼层
wintoflash 发表于 2020-1-1 15:02
逗我呢,g4d的NTBOOT本来就不支持中文名啊!

不好意思,我没有试过ntboot,我试的是run。
我知道siso走的是wimboot,不知道run走的是wimboot还是ntboot,我看siso显示正常而run显示不正常以为走的是不一样的。
我是业余有兴趣边看边学的,有些做得不到位或表达不到位,让你费心了,请多多包涵。感谢你的努力。
回复

使用道具 举报

发表于 2020-1-1 15:47:39 | 显示全部楼层
hilsonma 发表于 2020-1-1 15:38
不好意思,我没有试过ntboot,我试的是run。
我知道siso走的是wimboot,不知道run走的是wimboot还是ntbo ...

能否提供一下你用的run
里面应该有转码相关的东西。我以前记得,run里面是有gbk转码的,难道它是直接转换成了gbk?
另外就是bootice编辑bcd,设置中文wim名,能不能正常启动?
回复

使用道具 举报

 楼主| 发表于 2020-1-1 16:00:27 | 显示全部楼层
本帖最后由 hilsonma 于 2020-1-1 16:09 编辑
wintoflash 发表于 2020-1-1 15:47
能否提供一下你用的run
里面应该有转码相关的东西。我以前记得,run里面是有gbk转码的,难道它是直接转 ...

run.7z (559.91 KB, 下载次数: 26)
回复

使用道具 举报

 楼主| 发表于 2020-1-1 16:28:58 | 显示全部楼层
本帖最后由 hilsonma 于 2020-1-1 16:37 编辑
wintoflash 发表于 2020-1-1 15:47
能否提供一下你用的run
里面应该有转码相关的东西。我以前记得,run里面是有gbk转码的,难道它是直接转 ...

刚试了,bcd设置中文wim名,能正常启动。

bcd03.jpg

bcd04.jpg
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-4-22 09:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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