无忧启动论坛

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

[我不是网管]分享个ipxe、grub2-http协议启动PE的免配置网启模板

    [复制链接]
1#
发表于 2019-12-26 12:01:08 | 显示全部楼层
本帖最后由 wintoflash 于 2019-12-26 12:08 编辑
liuzhaoyzz 发表于 2019-12-26 11:26
我知道grub2的菜单要用utf-8无BOM的,我也试过了,所有的路径里面,包括文件名字F:\boot\grub2\grub2pxe. ...

之前江南一根葱和我讨论过这个问题。
win10等系统里面,文件名是utf-8的,但是经过网启或者生成文件列表,在grub2里面必须要转成gbk编码文件名,才能读取。
好像是这样的,我记不太清了。

在grub2里面用strconv命令可以gbk/utf-8互相转换。
lua里面也有相关函数。

回复

使用道具 举报

2#
发表于 2019-12-27 12:00:27 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-27 11:45
strconv我没搜到这个模块啊?是grub2的内置命令吗?还是外置命令?我没看到。我倒是依稀记得linux里面有个s ...

模块是 conv
在 command.lst 里面搜命令,就知道在哪个模块了。


回复

使用道具 举报

3#
发表于 2019-12-29 18:55:58 | 显示全部楼层
本帖最后由 wintoflash 于 2019-12-29 18:58 编辑
liuzhaoyzz 发表于 2019-12-29 17:46
看了你的解释,为了加载中文,迫不得已绕了很多弯弯啊!
大概的意思,就是因为set lang=zh_CN不支持pxe, ...
@wintoflash能看看从代码层级做出一些改进吗?

对于网络方面,我只能说,还是另请高明吧。
网络的文件系统在grub2下不好用,文件随机读取容易出问题。
内存盘多好,稳定,快速,而且支持安全写入。

至于中文路径,估计是 gb2312/gbk/gb18030 之类的问题,它们之间虽然说是兼容但中间有问题。



点评

1、绕路解决也是很好的解决办法,我抽空摸索下内存盘的做法。 2、另外,我准备给grub2官方发一封EMAIL,把我们这个帖子里面讨论的关于UEFI-grub2-PXE启动关于中文字体的问题,向官方反馈看看,看看他们怎么说。虽然  详情 回复 发表于 2019-12-29 19:14
回复

使用道具 举报

4#
发表于 2019-12-29 19:18:41 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-29 19:14
1、绕路解决也是很好的解决办法,我抽空摸索下loopback内存盘的做法。
2、另外,我准备给grub2官方发一 ...

用官方版的测试一下有没有这个问题。这个不是字体的问题,是gettext/locale方面的问题。

还有个绕路的解决办法是强制修改PE文件名字为英文名字,一个PE.ISO,搞什么中文吗!

这个编码问题我后面可能会看一下。
不过这个确实属于软件艹蛋,不用utf-8,那繁体中文还要big5转码,日文还要jit转码......


点评

晚点我用官方的grub2测试下看看,给他们反馈也尽可能用他们官方的版本。 我曾经修改了“游兰海”编写的文件编码转换,可以自动判断文件编码,并转换为指定的文件格式,例如gbk,utf-8之类的,但这是文件编码转换  详情 回复 发表于 2019-12-29 19:36
回复

使用道具 举报

5#
发表于 2019-12-30 08:21:14 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-30 07:33
我用7z压缩为gz格式,无论是标准压缩,还是极限压缩,似乎没有加载啊?
7z格式也不行。gz格式直接用,需要 ...

支持gz需要gzio模块
xz需要xzio模块

点评

添加了gzio模块,果然可以了! loopback -m支持gz的。  详情 回复 发表于 2019-12-30 10:38
回复

使用道具 举报

6#
发表于 2019-12-30 10:54:00 | 显示全部楼层
另外一个问题,这个unicode.pf2大概2.3MB,能精简吗?中国的常用汉字大概6000个,grub4dos的UNIFONT.HEX只有603KB,为啥grub2的这么大?大了我看着不爽,分享起来占地方。

unicode.pf2 各国语言字体都有,用 xz 压缩一下也就 740KB 左右。
想自己生成字体,要到 Linux 下用 grub-mkfont 命令。
回复

使用道具 举报

7#
发表于 2019-12-30 11:26:10 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-30 11:08
62楼葱分享的wimboot.gz是怎么来的?怎么制作的?跟官方的不同吗?还是你修改来的?
为什么可以在UEFI启动 ...

msyh.pf2.tar.gz (85.24 KB, 下载次数: 5)
效果惨不忍睹



点评

配合 dosvga 字体,还行,但是还是缺字符 注意要先加载 巨硬雅黑字体,再加载 dosvga 字体,用 dosvga 字体的英文字符覆盖掉微软雅黑的 sb 全角字符 loadfont msyh loadfont dosvga  详情 回复 发表于 2019-12-30 11:33
回复

使用道具 举报

8#
发表于 2019-12-30 11:33:17 | 显示全部楼层

配合 dosvga 字体,还行,但是还是缺字符


dosvga.pf2.tar.gz (3.5 KB, 下载次数: 4)
注意要先加载 巨硬雅黑字体,再加载 dosvga 字体,用 dosvga 字体的英文字符覆盖掉微软雅黑的 sb 全角字符
loadfont msyh
loadfont dosvga


回复

使用道具 举报

9#
发表于 2019-12-30 14:02:31 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-30 13:55
问下大家,grub2有没有类似grub4dos的内置菜单那种pxe detect的命令,作用是检测是否存在pxeserver,如果存 ...

用 grub-mkimage -c 参数内嵌的启动脚本不支持复杂语句。
有需要,内存盘里面搞。
回复

使用道具 举报

10#
发表于 2019-12-31 12:07:02 | 显示全部楼层
本帖最后由 wintoflash 于 2019-12-31 12:09 编辑
  1. vfat --create
  2. vfat --add=bootmgfw.efi -m (xxx)/xxx/bootx64.efi
  3. vfat --add=bcd -m (xxx)/xxx/bcd
  4. vfat --add=boot.sdi -m (xxx)/xxx/boot.sdi
  5. vfat --add=boot.wim -m (xxx)/xxx/xxx.wim
  6. vfat --install
  7. vfat --boot
复制代码



加 -m 是复制到内存。
在 vfat --boot 之前可以执行 vfat --ls 查看虚拟盘里面的文件。
这样就比 wimboot 好理解了吧。
回复

使用道具 举报

11#
发表于 2019-12-31 17:40:01 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-31 16:39
menuentry "/imgs/boot.wim" "/imgs/boot.wim" {
wimboot \
  @:bootmgfw.efi:/ms/EFI/boot/bootx64.efi  ...

把你这一堆wimboot的命令换成上面我说的vfat命令。
回复

使用道具 举报

12#
发表于 2020-1-2 11:58:16 | 显示全部楼层
liuzhaoyzz 发表于 2020-1-2 11:08
不用批处理,不同的方案,启动文件不一定相同,多一个方案多一个选择,不是什么坏处。比如说有的需要undi ...

这个run好像比较新
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=418198&pid=3941413&fromuid=487838
回复

使用道具 举报

13#
发表于 2020-1-14 16:08:31 | 显示全部楼层
liuzhaoyzz 发表于 2020-1-10 15:01
给grub2官方bug-grub@gnu.org发的一封EMAIL。
杳无音讯。。。

https://lists.gnu.org/archive/html/bug-grub/
bug-grub 邮件档案里面没你的邮件啊


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 13:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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