无忧启动论坛

标题: GRUB4DOS是否支持HTTP方式加载VHD文件? [打印本页]

作者: freshwind    时间: 2025-12-18 23:13
标题: GRUB4DOS是否支持HTTP方式加载VHD文件?
本帖最后由 freshwind 于 2025-12-25 19:48 编辑

GRUB4DOS/GRUB2修改版是否支持HTTP方式加载VHD文件?
备注:1. UEFI MODE环境,  后续这已经是主流
2. VHD文件中是安装了SVBUS 驱动的windows. 最终是想从网络方式加载SVBUS驱动的RAMOS

刚开始看G4E 的源码,代码中读取VHD文件后,重新Install blockio Protocol并且针对SVBUS生成了一些数据结构,
未修改的IPXE, 最接近的启动方式是sanboot,  sanboot借助的是iscsi的协议intall 的block ioprotocol 试验也是FAIL
ipxe无论哪个命令都是无法启动的
20251225 更新,G4E/GRUB应是有命令,还没搞定,花了点时间找到一个折衷办法
借助于iPXE的ISCSI网络协议栈和NTFS Uefi Driver加载启动SVBUS RAMOS过程
注意:
以下全程为UEFI Mode,借助于IPXE的ISCSI协议栈模拟出来的HD,千兆网络25G大小VHD文件加载大概6分钟
BIOS自带的网络协议栈性能太差,所以借IPXE协议栈,否则加载10-20G大小的VHD文件,耗时太长
我的机器内存128G,如果内存太小没法玩这个
1.        启动到iPXE的Shell
2.        dhcp net0 获取IP,  show net0/ip  查看是否已获取成功
3.        启动iSCSI Server, 挂载vhd文件,vhd文件中 划分为 2个分区
a)        分区0:FAT32格式,放置 shell.efi 到指定目录比如根目录
b)        分区1:NTFS格式,放置包含WINDOWS+SVBUS的VHD 文件
i.        FAT32格式分区中文件大小最大只能支持4G,所以选择NTFS格式
ii.        注意该VHD上安装的Windows中VBOX的驱动要卸载掉,否则实际启动时可能BSOD,报VBOX驱动的ERROR
4.        iPXE Shell下执行:sanboot --filename \shell.efi iscsi:192.168.10.9::::iqn.1991-05.com.microsoft:target1
5.        如果一切正常,可启动到Uefi shell下, 切换到放置 ntfs_x64.efi 文件的分区
6.        load ntfs_x64.efi, map –r –b 刷新查看新分区
7.        切换到 grub4dos uefi文件 所在目录,通过grub4dos uefi 启动RAMOS (详细设置自行搜索)





作者: smile_z    时间: 2025-12-19 02:15
学习一下
作者: mygamexxx    时间: 2025-12-19 07:44
本帖最后由 mygamexxx 于 2025-12-19 07:55 编辑

支持HTTP传输文件是支持的。VHD也是文件。GRUB4DOS以 ipxe 开头的命令的方式。如何使用要多看站内网络启动区葱大的帖子。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=348258

ScreenShot_2025-12-19_075236_062.png (9.29 KB, 下载次数: 44)

ScreenShot_2025-12-19_075236_062.png

作者: cncecpcy    时间: 2025-12-19 08:38
好。。。。。。。。
作者: a66    时间: 2025-12-19 09:14
试试就行
作者: win82    时间: 2025-12-19 10:44
进来学习
作者: ebaqiang    时间: 2025-12-19 10:49
进来学习一下
作者: guong    时间: 2025-12-19 14:01
来学习学习
作者: cc2025    时间: 2025-12-19 14:04
看评论学习了
作者: freshwind    时间: 2025-12-20 20:35
本帖最后由 freshwind 于 2025-12-20 21:09 编辑
mygamexxx 发表于 2025-12-19 07:44
支持HTTP传输文件是支持的。VHD也是文件。GRUB4DOS以 ipxe 开头的命令的方式。如何使用要多看站内网络启动 ...

感谢指点,具体是如何操作,脚本怎样写?自己折腾是FAIL
作者: mygamexxx    时间: 2025-12-23 16:52
freshwind 发表于 2025-12-20 20:35
感谢指点,具体是如何操作,脚本怎样写?自己折腾是FAIL

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=425572
没试过。一般不用VHD。
作者: mygamexxx    时间: 2025-12-24 11:55
本帖最后由 mygamexxx 于 2025-12-24 15:02 编辑

BIOS使用ipxe,用到memdisk,脚本可能是如下:
set keep-san 1
initrd http://${booturl}/file.vhd
chain http://${booturl}/boot/memdisk raw

百度了一下:


作者: freshwind    时间: 2025-12-24 14:13
本帖最后由 freshwind 于 2025-12-24 14:25 编辑
mygamexxx 发表于 2025-12-24 11:55
使用ipxe,用到memdisk,脚本可能是如下:
set keep-san 1
initrd http://${booturl}/file.vhd

感谢关注,我用的是UEFI MODE模式
VHD文件中是安装了SVBUS 驱动的windows. 最终是想从网络方式加载SVBUS驱动的RAMOS
刚开始看G4E 的源码,代码中读取VHD文件后,重新Install blockio Protocol并且针对SVBUS生成了一些数据结构,
未修改的IPXE, 最接近的启动方式是sanboot,  sanboot借助的是iscsi的协议intall 的block ioprotocol 试验也是FAIL,所以感觉不修改ipxe,无论哪个命令都是无法启动的
作者: mygamexxx    时间: 2025-12-24 14:58
本帖最后由 mygamexxx 于 2025-12-24 15:01 编辑
freshwind 发表于 2025-12-24 14:13
感谢关注,我用的是UEFI MODE模式
VHD文件中是安装了SVBUS 驱动的windows. 最终是想从网络方式加载SVBUS ...

UEFI下ipxe用sanboot 方式(脚本中有sanboot,不知道算不算)加载ISO的PE是没问题的,加载VHD不知道行不行。
set keep-san 1
iseq ${platform} efi && sanboot --no-describe http://${booturl}/isos/NewBeePlus_Server.iso ||



作者: freshwind    时间: 2025-12-25 19:49
mygamexxx 发表于 2025-12-24 14:58
UEFI下ipxe用sanboot 方式(脚本中有sanboot,不知道算不算)加载ISO的PE是没问题的,加载VHD不知道行不 ...

找到一个折衷办法
作者: freshwind    时间: 2025-12-25 19:52
找到一个折衷办法,哪位楼主有SVBUS驱动支持的相关规范,需要生成哪些数据结构和service麻烦给发下,计划挪到iPXE中试下,单纯看源码改动,风格和内容太@##¥F了




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3