无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1761|回复: 18
打印 上一主题 下一主题

[求助] grub2 的 http 怎样使用

[复制链接]
跳转到指定楼层
1#
发表于 2024-1-13 12:19:12 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何初始化,如何应用?需要哪些模块?
大侠们可否举几个适应的例子?
2#
 楼主| 发表于 2024-1-13 12:22:35 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2024-1-13 12:24 编辑

请顺便关注一下这个帖子的196#
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418132&extra=page%3D1&mobile=2

点评

F:\boot\grub2\定制grub2-BIOS+UEFI.bat @echo off rem echo 生成grub2-UEFI-grub2x64.efi grub-mkimage -d x86_64-efi -p /boot/grub2 -c bootconfig.cfg -o grub2x64.efi -O x86_64-efi acpi all_video blockli  详情 回复 发表于 2024-1-13 18:16
ipxe网启,不考虑中文支持的话,直接TinyPXEServer+ipxe+wimboot的方案很好用啊。  详情 回复 发表于 2024-1-13 15:41
回复

使用道具 举报

3#
发表于 2024-1-13 14:00:58 | 只看该作者
观望中.......
回复

使用道具 举报

4#
发表于 2024-1-13 14:04:59 | 只看该作者
谢谢
回复

使用道具 举报

5#
发表于 2024-1-13 15:41:04 | 只看该作者
2011yaya2007777 发表于 2024-1-13 12:22
请顺便关注一下这个帖子的196#
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418132&extra=page%3D ...

ipxe网启,不考虑中文支持的话,直接TinyPXEServer+ipxe+wimboot的方案很好用啊。
回复

使用道具 举报

6#
发表于 2024-1-13 15:45:45 | 只看该作者
好像是模块pxe tftp http net,编译参数-prefix="(pxe)",-prefix="(http)"
编译进后只要是网启应该是开局初始化的,efi环境貌似也有个efinet什么命令的初始化重新从dhcp获得地址
http的变量值可以改的,net_default_server貌似
用法应该是chainloader (http)/mm.efi或chainloader (http,www.por*hu*)/mm.efi之类的
这个始前屎山代码有https://github.com/zwj4031/netgrubfm
回复

使用道具 举报

7#
发表于 2024-1-13 15:48:17 | 只看该作者
学习学习
回复

使用道具 举报

8#
发表于 2024-1-13 16:32:45 | 只看该作者
我也想知道
回复

使用道具 举报

9#
发表于 2024-1-13 18:16:09 | 只看该作者
本帖最后由 liuzhaoyzz 于 2024-1-14 17:13 编辑

F:\boot\grub2\定制grub2-BIOS+UEFI.bat
@echo off
rem echo 生成grub2-UEFI-grub2x64.efi
grub-mkimage -d x86_64-efi -p /boot/grub2 -c bootconfig.cfg -o grub2x64.efi -O x86_64-efi acpi all_video blocklist boot cat chain commandline configfile conv cpio disk echo efi_gop efi_netfs efi_uga efiload efinet exfat ext2 extcmd fat fb font getargs getkey gfxterm gzio halt help http iso9660 linux linux16 linuxefi loadenv loopback ls lzopio map minicmd net normal ntboot ntfs part_gpt part_msdos partnew probe progress reboot regexp sbpolicy search tar terminal terminfo test tftp udf version video_bochs video_cirrus vhd wimboot xzio gfxterm_background jpeg png tga

rem echo 生成grub2-BIOS-corebios.img和g2ldr,增加了terminal gfxterm vbe vga png partnew probe wimboot ntboot reboot regexp
rem echo core1.img大小36KB,超过了32KB,精简了ntfs和ntfscomp模块,没什么意思,不能写入MBR,只能作为第二引导。
rem grub-mkimage.exe -d i386-pc -p /boot/grub2 -c bootconfigbios.cfg -o core1.img -O i386-pc biosdisk part_msdos fat ntfscomp search_fs_file
rem BCD-g2ldr引导模式,不能加linux linux16、echo、terminal gfxterm vbe vga udf gzio xzio  reboot halt,否则会出错。“The application or operating system couldn't be loaded because required  file is missing or contains errors.”
grub-mkimage.exe -d i386-pc -p /boot/grub2 -c bootconfigbios.cfg -o core1.img -O i386-pc biosdisk part_msdos fat ntfs ntfscomp ext2 iso9660 search_fs_file search boot

grub-mkimage.exe -d i386-pc -p /boot/grub2 -c bootconfigbios.cfg -o core2.img -O i386-pc biosdisk boot cat chain configfile cpio echo exfat ext2 extcmd fat fb font gzio halt help iso9660 linux linux16 loopback ls lua lzopio memdisk minicmd newc normal ntfs ntldr part_gpt part_msdos search sleep tar test udf xzio terminal gfxterm vbe vga png partnew probe wimboot ntboot reboot regexp

copy /b i386-pc\lnxboot.img+core1.img g2ldr


我的帖子里面,有定制grub2的批处理,关于ipxe就是需要那几个核心模块,tftp http net configfile search map conv,其中,configfile search模块用于遍历pxe server上面的grub.cfg,strconv命令包含在conv模块中,用于转换文件名字到gbk编码,所以conv模块也需要的,需要配套用。

F:\boot\grub2\bootconfig.cfg
#用于pxe和本地启动的grub2内置菜单2:
#首先尝试加载tftp服务器上面的grub2pxe.cfg,如果不存在,尝试搜索本地/boot/grub2/grub.cfg配置文件并加载。
configfile (tftp)/grub2/grub2pxe.cfg
search --no-floppy -f --set=root /boot/grub2/grub.cfg
configfile /boot/grub2/grub.cfg


grub2用于ipxe启动的时候,传递文件名似乎有点问题,似乎必须用gbk格式传递,你研究下grub2-pxe启动菜单范例,当然如果需要map iso的话,需要map模块,如果需要启动pe.wim的话,需要特定的wimboot模块,我已经打包了:
F:\boot\grub2\grub2pxe.cfg
set pager=20
set grub_draw_border=1

#设定菜单字体及背景颜色
set menu_color_normal=white/black
set menu_color_highlight=white/blue

loopback -m ramdisk (tftp)/grub2/unicode.xz
loadfont (ramdisk)/grub2/fonts/unicode.pf2
set locale_dir=(ramdisk)/grub2/locale
set lang=zh_CN
gfxmode=auto,800x600,1024x768
terminal_output gfxterm

#中文语言set lang=zh_CN似乎和pxe启动有冲突?因此可以用上面loopback建立内存盘的办法规避,或者PE.ISO名字不要包含中文。
#if loadfont /grub2/fonts/unicode.pf2;then
#set locale_dir=/grub2/locale
#set lang=zh_CN
#set gfxmode=auto,800x600,1024x768
#terminal_output gfxterm
#fi

net_bootp
set net_default_server=10.7.20.78
set root='(http)'

menuentry "WePE64_V2.2.iso" "WePE64_V2.2.iso" {
strconv --gbk --set=file "(http)/imgs/WePE64_V2.2.iso";map -f --mem --type=CD ${file}
}

menuentry "/imgs/WePE_64_V2.0/WEPE64.WIM" "/imgs/WePE_64_V2.0/WEPE64.WIM" {
wimboot \
  @:bootmgfw.efi:/pxe/bootmgfw.efi   \
  @:bcd:/grub2/bcd    \
  @:boot.sdi:/boot.sdi    \
  @:boot.wim:(http)/imgs/WePE_64_V2.0/WEPE64.WIM
}

回复

使用道具 举报

10#
 楼主| 发表于 2024-1-13 19:20:44 | 只看该作者
我的帖子里面,有定制grub2的批处理

我是严格按照你那个帖子,没有替换与改动任何文件,按步骤操作的。
你帮我看看是那里的问题。
我是笔记本电脑启动本机的虚拟机。
关于这个问题,我觉得还是移步你那个帖子讨论吧。因为我在那里发了请求,几天未见回复,心急就单独在这里发了一贴。

点评

有时候我随便在论坛瞎晃悠,随便看看论坛新帖子,虽然上了论坛,但是没有留意到你的帖子和回复,所以没有回复。抱歉。 哪个帖子已经回复,感觉应该是有线网卡的问题吧。  详情 回复 发表于 2024-1-14 17:11
回复

使用道具 举报

11#
发表于 2024-1-14 17:11:45 | 只看该作者
2011yaya2007777 发表于 2024-1-13 19:20
我是严格按照你那个帖子,没有替换与改动任何文件,按步骤操作的。
你帮我看看是那里的问题。
我是笔记 ...

有时候我随便在论坛瞎晃悠,随便看看论坛新帖子,虽然上了论坛,但是没有留意到你的帖子和回复,所以没有回复。抱歉。

那个帖子已经回复,感觉应该是有线网卡的问题吧。
回复

使用道具 举报

12#
发表于 2024-1-17 07:46:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
发表于 2024-1-19 17:41:37 | 只看该作者
前辈 我论坛积分不够没法联系你,我porteus kiosk可以引导安装,但是porteus无法安装 因为我的电脑是mmc光盘,我先用kiosk的引导程序去安装porteus 所以先请教你下

点评

我没有尝试过porteus网启,我主要是用于pxe启动WINPE。 网启linux,现阶段最好的方案是iVentoy,超级简单。 新一代网络启动解决方案——iVentoy 【2023/09/13 1.0.19 版本发布】 - Ventoy - 无忧启动论坛 - Powere  详情 回复 发表于 2024-1-20 22:29
回复

使用道具 举报

14#
发表于 2024-1-20 22:29:38 | 只看该作者
本帖最后由 liuzhaoyzz 于 2024-1-20 22:40 编辑
seocgr 发表于 2024-1-19 17:41
前辈 我论坛积分不够没法联系你,我porteus kiosk可以引导安装,但是porteus无法安装 因为我的电脑是mmc光 ...

我没有尝试过porteus网启,我主要是用于pxe启动WINPE。
网启及安装linux,现阶段最好的方案是iVentoy,超级简单。
新一代网络启动解决方案——iVentoy 【2023/09/13 1.0.19 版本发布】 - Ventoy - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=436278
项目地址: https://www.iventoy.com


你说的是通过本地安装porteus还是pxe安装porteus?
本地安装porteus的话,也可以用国产开源U盘启动工具——Ventoy 【2023/10/06 1.0.96 版本发布】 - Ventoy - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?m ... 9840&extra=page%3D1

回复

使用道具 举报

15#
发表于 2024-1-24 11:05:16 | 只看该作者
学习学习
回复

使用道具 举报

16#
发表于 2024-1-24 15:30:33 | 只看该作者
摸摸楼主的头,我就随便看看不说话
回复

使用道具 举报

17#
发表于 2024-1-29 13:37:33 | 只看该作者
我的grub2用efi启动可以加载网卡,而bios启动却不行,这是为什么呢?
回复

使用道具 举报

18#
 楼主| 发表于 2024-1-29 14:13:45 | 只看该作者
我的grub2用efi启动可以加载网卡

是可以工作在PXE。问题是能不能工作在HTTP?如果能用,菜单里怎么设置?
回复

使用道具 举报

19#
发表于 2024-1-29 21:12:27 | 只看该作者
efi我试过可以网络启动安装fedora.下面是我的菜单,
menuentry "Fedora install | rescue via mirror" --unrestricted {
        insmod net http tftp pxe efinet
        net_bootp
        echo 'Loading kernel...'
        set mirror_host=mirror.nyist.edu.cn
        set mirror_path=/fedora/releases/39/Everything/x86_64/os
        linux (http,$mirror_host)$mirror_path/images/pxeboot/vmlinuz inst.repo=http://$mirror_host$mirror_path
#inst.rescue
        echo 'Loading initial ramdisk...'
        initrd (http,$mirror_host)$mirror_path/images/pxeboot/initrd.img
}
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-29 17:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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