hilsonma 发表于 2020-9-28 23:51 已解决,谢谢 |
我发现你很喜欢记事本编辑菜单,建议utf8保存菜单。既然用ud,可以用fbinsttool内置的编辑器编辑菜单,右键保存为utf8格式。 |
wengzhenquan 发表于 2020-9-28 16:58 重新定制core.img,把你要用到的模块都包含进去。 或者是把 i386-pc 这个模块文件夹整个复制到 grub.cfg 所在文件夹 然后在菜单前面加载相应的模块如 insmod echo insmod linux16 insmod initrd16 建议重新定制core.img |
本帖最后由 hilsonma 于 2020-9-27 21:09 编辑 wengzhenquan 发表于 2020-9-27 17:27 grub4dos调用grub2不需要 copy /b boot.img+core.img g2ldr ,直接使用core.img就可以了 定制core.img时,如果使用了 -c 就不要使用 -p 了 -p 是指定prefix (配置文件所在文件夹) -c 是使用预配置文件,而预配置文件里通常会指定prefix,所以用了 -c 就不用 -p 如果 -c 的预配置结果是跟 -p 一样的话,就直接使用 -p 无需使用 -c 通常是使用 -p 定制,如果 -p 不能满足定制要求,才改用 -c 定制。 象你这个定制例子,如果core.img 跟 grub.cfg在同一个分区的,使用 -p 定制就可以了,如果需要 core.img 跟 grub.cfg 在不同的分区,就不使用 -p 定制而改用 -c 定制。 不管grub.cfg 跟core.img是不是同一个分区,按你的定制例子,grub.cfg都应该是放在 /boot/grub 现在趋向于uefi启动,一般都有EFI文件夹,所以我通常使用 -p /EFI/grub 定制,将grub.cfg 放在 /EFI/grub 而core.img我就放在 /EFI 当使用grub4dos引导时,如下转向grub2菜单: find --set-root /EFI/core.img kernel /EFI/core.img 这样,无论是uefi启动还是legacy启动,使用的都是同一个菜单。 至于使用bootice制作grub4dos引导,只是将mbr更改为grub4dos,不做其他操作是不会导致分区表错误的。 如果要使用ud也就是fbinst引导,只要不使用 --force 也是可以无损制作的 |
问题已经解决,定制可用。 遇到的问题: 1、一开始core.img 不是自己生成的,其它的方东拼西凑的,导致引导之后版本和*.mod的版本不一致。 2、用BOOTICE重新制作成grub4dos的时候分区表设置错误。 |
wengzhenquan 发表于 2020-9-27 12:57 grub4dos调用grub2可以kernel core.img,当然加上正确的core.img路径。 没有加载grub.cfg的话,在grub2命令行输入set,查看prefix在哪个位置,然后将grub.cfg放到这个位置。 或者自己定制core.img,指定prefix,然后将grub.cfg放到指定位置。 |
kernel /boot/grub/grldr 这里的 grldr 是从哪弄来的? 这个错误,是因为你启动的 grub2 内核 (core.img) 和加载的模块 (*.mod) 版本不一致。 legacy考虑到兼容性,想做ud版,grub2不支持ud,于是用grub4dos引导grub2菜单。 如果考虑兼容性,那就不要用 grub2,因为 BIOS 下只有 ud + grub4dos 的兼容性最好。 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.