hilsonma 发表于 2020-10-3 16:57
本贴模板中我是在runseek自定义命令中实现自动菜单的,想要不显示这类设备,需要修改runseek这个自定义命 ...
大神,这个怎么代用?我是小白,求教,谢谢
大神请问在BISO下也能封装成单文件吗 谢谢大神
tdqk003 发表于 2020-11-17 15:25
大神请问在BISO下也能封装成单文件吗 谢谢大神
bios下不能封装成单文件,因为core.img大小不能超出458240字节。
hilsonma 发表于 2020-11-17 15:43
bios下不能封装成单文件,因为core.img大小不能超出458240字节。
谢谢大神请问可以菜单内置吗 谢谢
tdqk003 发表于 2020-11-17 15:25
大神请问在BISO下也能封装成单文件吗 谢谢大神
如果用grub4dos,倒是能封装成大体积grldr单文件
pseudo 发表于 2020-11-17 18:30
如果用grub4dos,倒是能封装成大体积grldr单文件
grldr可以撑到几mb吗?
tdqk003 发表于 2020-11-17 17:01
谢谢大神请问可以菜单内置吗 谢谢
都不能单文件了,就不要考虑菜单内置了吧
如果要菜单内置的,还是用g4d,体积小,功能强劲。
bios平台下,如果为了界面与uefi一致,可以考虑grub2。不然的话bios平台我建议还是用g4d.
如果是uefi平台,我就建议首选grub2。
本帖最后由 pseudo 于 2020-11-18 12:43 编辑
wintoflash 发表于 2020-11-17 20:08
grldr可以撑到几mb吗?
当初单文件化用的是手工“续尾法”:http://bbs.wuyou.net/forum.php?m ... tra=page%3D1&page=1
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=163626
后来fbinsttool工具已经把续尾工作自动化通用化了。
续尾法其实并没有实质性改变grldr,所以与体积关系不大。
如果.efi没有校验方面问题,原则上应该也可以用续尾法实现单文件化。
pseudo 发表于 2020-11-18 12:35
当初单文件化用的是手工“续尾法”:http://bbs.wuyou.net/forum.php?m ... tra=page%3D1&page=1
http:/ ...
> 续尾法其实并没有实质性改变grldr,所以与体积关系不大。
最多能续多少?4GB?把一个winpe的iso都弄进去可以吗?
> 如果.efi没有校验方面问题,原则上应该也可以用续尾法实现单文件化。
不可以。PE格式不能这样做。
非常感谢大神的回复,我发现江南一根葱大神的作品http://bbs.wuyou.net/forum.php?mod=viewthread&tid=422210这个ISO文件启动起来我发现在BIOS下也是grub2引导的,但是我没发现菜单,我启动后在菜单上按e想看看菜单怎么写的,但是看不到,这位大神的方法是不是就是内置菜单了,非常感谢谢谢大神的回复
tdqk003 发表于 2020-11-18 15:49
非常感谢大神的回复,我发现江南一根葱大神的作品http://bbs.wuyou.net/forum.php?mod=viewthread&tid=4222 ...
哦
tdqk003 发表于 2020-11-18 15:49
非常感谢大神的回复,我发现江南一根葱大神的作品http://bbs.wuyou.net/forum.php?mod=viewthread&tid=4222 ...
他这个实例可以说是菜单内置,因为看不到独立的菜单文件,也不能编辑。
但是对于引导文件本身来说又不是内置,引导文件是fmldr,这个文件没有菜单或者说是内置菜单只有一条,就是引导一个镜像fm.loop,你看到的菜单应该就是在fm.loop中的。
而fmldr和fm.loop又是打包成一个iso文件了的,你看到的就是这个iso: netpe_multiarch.iso
所以这个实例中,真正的引导应该是ventoy或者是g4d或者是其他的引导程序
这个引导程序引导 netpe_multiarch.iso ,从而引导其中的fmldr,再引导iso中的fm.loop,然后就呈现设置在fm.loop中的菜单。
(init.sh --> netboot.sh --> netpe.lua 前面3个菜单项在netpe.lua中,后面的菜单项在netboot.sh中)
hilsonma 发表于 2020-11-18 18:13
他这个实例可以说是菜单内置,因为看不到独立的菜单文件,也不能编辑。
但是对于引导文件本身来说又不是 ...
非常感谢大神的详细解答,总与明白了,谢谢
wintoflash 发表于 2020-11-18 13:55
> 续尾法其实并没有实质性改变grldr,所以与体积关系不大。
最多能续多少?4GB?把一个winpe的iso都弄进 ...
1、续尾容易
copy命令带/B参数就可以实现。
2、尾大无妨
加了5GB尾部的大grldr跟原来的grldr功能一样。grub4dos载人stage2之类时不涉及尾部。
3、尾部可map
且假定大grldr在盘上是连续存放无碎片的。
已知续尾前grldr大小,blocklist命令可以找到大grldr起始位置和大小,推算出尾部在盘上的起始、大小,map之。无--mem尾大无妨,带--mem则看内存容量。
另外,可以先将大grldr(允许碎片)整个map到(rd),再对(rd)盘进行操作。只要内存足,尾大无妨。
pseudo 发表于 2020-11-20 11:37
1、续尾容易
copy命令带/B参数就可以实现。
2、尾大无妨
grub.exe也能续尾吗?
本帖最后由 pseudo 于 2020-11-21 13:44 编辑
wintoflash 发表于 2020-11-20 19:51
grub.exe也能续尾吗?
grldr没问题,没试过grub.exe。
你可以用
copy /B grub.exe /B +pe.iso /B
命令对grub.exe进行续尾,看续尾后grub.exe原有功能有没有受到影响。
只要续尾不影响原功能,就有机会通过续尾实现单文件化。续尾比内置响应快。
至于UEFI启动,刚在qemu中试了对bootx64.efi续7MB尾,成功启动,原功能不受影响。
只试了一次,没在其它环境、尤其是安全启动环境作更多测试。
pseudo 发表于 2020-11-21 12:28
grldr没问题,没试过grub.exe。
你可以用
copy /B grub.exe /B +pe.iso /B
efi的copy/b老早试过,不过不知道怎么利用。。。
学习中,能介绍下.efi的文件格式不!
seashipseaship 发表于 2020-12-21 18:01
学习中,能介绍下.efi的文件格式不!
我对 .efi 的文件格式也不甚了解。我只知道uefi引导需要 .efi 文件。之前我只知道可以用xorboot这个软件生成bootx64.efi,后来知道可以用grub2来生成bootx64.efi,之后就一直使用grub2来生成,本贴就是其中一个应用例子。
现在也可以下载grub4dos的.efi文件,不过还在完善中,一些功能还需要等待。
类似的引导程序还有refind、clover等,都是通过菜单文件来配置启动,efi文件是现成的。
我目前只发现grub2可以在一定程度上定义 .efi 文件, 其他的都只能使用现成的 .efi 文件。
要使用某efi文件做uefi主引导,需要将该efi文件命名为bootx64.efi 放在u盘fat16/fat32分区的 \efi\boot\ 文件夹中,或者将该efi文件命名为bootmgfw.efi 放到硬盘efi分区的 \efi\microsoft\boot\ 文件夹中,在某些主板上,也支持命名为bootx64.efi 放在硬盘efi分区的 \efi\boot\ 文件夹中。也有个别主板,支持各种格式的分区引导,支持各种位置的各种efi文件名,只需要在uefi固件设置中指定要引导的efi文件就可以了。
efi引导文件除了作为主引导外,也可以被其他efi文件链接引导,这种情况一般在上级引导的菜单配置中设定。
efi文件也不一定是引导文件,还有一些是驱动文件,需要在某引导文件中挂载使用,实现某种驱动。例如截屏驱动,ntfs文件系统驱动,鼠标驱动等。
製作EFI引導菜單嗎,學習一下
如何添加 font ?把fonts目录添加到grub.cfg后,
loadfont$prefix/fonts/unicode.pf2
set theme= $prefix/themes/elegant/theme.txt
这两个命令不起作用。
$prefix 表示 grub.cfg 所在文件夹
也就是说,上述菜单要求 字体文件 unicode.pf2 放在 grub.cfg 所在文件夹的子文件夹 fonts 之中
主题文件放在 grub.cfg 所在文件夹的子文件夹 themes 的子文件夹 elegant 之中
wuyouman01 发表于 2021-1-12 11:05
如何添加 font ?把fonts目录添加到grub.cfg后,
loadfont$prefix/fonts/unicode.pf2
set theme= $prefi ...
set theme=后面不要有空格。
wintoflash 发表于 2021-1-12 16:09
set theme=后面不要有空格。
谢谢您。
wintoflash 发表于 2021-1-12 16:09
set theme=后面不要有空格。
menuentry "1.Windows"--class windows --hotkey=1 {if search -n -s -f /Efi/Microsoft/Boot/Bcd; then chainloader /Efi/Microsoft/Boot/bootmgfw.efi fi}
menuentry "2.WindowsRe" --class recovery --hotkey=2 {run /Recovery/WindowsRe/winre.wim;}
menuentry "3.Winre" --class recovery --hotkey=3 {if search -n -s -f /winre.wim;then run /winre.wim fi}
1和3菜单出错。
1.Windows 和 3.Winre 请教应该怎么写?
3.Winre 改成一下语句后,不能启动。和2.WindowsRe是同一个wim,wim在不同分区,只不过2.WindowsRe的wim目录自带boot.sdi
menuentry "3.Winre" --class recovery --hotkey=3 {search -n -s -f /winre.wim;run /winre.wim;}
3.Winre 加了boot.sdi一样不能启动,是否是GPT+NTFS缘故?
汗,可以正常启动。原来/wim太多,而且不同的wim。
hilsonma 发表于 2020-3-8 19:32
感谢分享。
仿照你的方法,我更新了我的方案,添加grub2模块目录和定制程序,做成完整独立的单文件efi ...
我下载了你这个打包生成efi,引导只显示grub>界面,看不到菜单,我不知道自己哪里错了?
文件“grub2 生成 efi 引导 ” 是我修改后的,生成的efi有问题,能帮我看看,我的是哪里错了?
