无忧启动论坛

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

[已解决] 如何将GRUB2的模块打包到memdisk中

[复制链接]
1#
发表于 2015-2-26 14:49:46 | 显示全部楼层
我使用的一个内嵌的grub.cfg.供参考
#############################################################
###嵌入在g2ldr内部的配置文件内容
###prefix=(hd0,1)/grub2  这是默认前缀.即grub模块所在路径.
###prefix=(${rootgrubdev})/grub2 这是修改后的前缀,必须使用绝对路径;避开root关键词.
##set rootgrubdev=(hd0,msdos1)
##search --no-floppy -f --set=rootgrubdev /grub2/grubpc.cfg
##set prefix=(${rootgrubdev})/grub2
##set  root=(${rootgrubdev})
###指向新的配置文件
###configfile /grub2/grubpc.cfg
##########################################################
回复

使用道具 举报

2#
发表于 2015-2-26 14:51:49 | 显示全部楼层
这里的内嵌grub,cfg中  $root $fontdev $prefix都没有初始化和定义吧?是不是这个缘故???
回复

使用道具 举报

3#
发表于 2015-2-27 15:25:36 | 显示全部楼层
ql1307096 发表于 2015-2-27 10:31
感谢niumao的解答!我的内嵌grub.cfg中的确没有定义 $prefix这些变量的路径,失误了,我再试试看,,

g2ldr.mbr我是从grldr.mbr使用winhex把grldr更改为g2ldr得到的.可以使用0.46a 或者 0.45c .
后来发现ubuntu里面grub2本身带有一个g2ldr.mbr.都可以使用.
制作g2ldr的命令就来自论坛.命令来自2011895866818的帖子"grub2教程,grub2模板"

点评

我也是用你这个方法,修改grldr.mbr的字串,但是无法引导。,我用grub-mkimage生成core.img、然后用copy命令合并,生成的g2ldr可以用grub4dos的kernel启动,但是无法通过bootmgr启动,  详情 回复 发表于 2015-2-27 20:26
回复

使用道具 举报

4#
发表于 2015-2-27 15:33:37 | 显示全部楼层
ql1307096 发表于 2015-2-27 10:31
感谢niumao的解答!我的内嵌grub.cfg中的确没有定义 $prefix这些变量的路径,失误了,我再试试看,,

查阅了论坛的帖子.好像是这个命令: 意思是单独一个文件,似乎不再需要mod目录了.
  1. grub-mkimage -o core.img --prefix="(hd0,1)/grub2"  -O i386-pc  all_video  biosdisk  boot  btrfs  cat  chain  configfile  echo  exfat  ext2  fat  font  freedos  fshelp  gettext  gfxmenu  gfxterm  gptsync  halt  help  hfs  hfsplus  iso9660  jfs  jpeg  legacycfg  linux16  linux  loopback  lsacpi  lsapm  lsmmap  ls  lspci  lvm  memdisk  memrw  minicmd  msdospart  multiboot2  multiboot  normal  ntfscomp  ntfs  ntldr  part_acorn  part_amiga  part_apple  part_bsd  part_dvh  part_gpt  part_msdos  part_plan  part_sun  part_sunpc  parttool  password  pci  play  png  pxechain  pxe  read  reboot  reiserfs  romfs  scsi  search_fs_file  search_fs_uuid  search_label  search  sendkey  serial  sfs  sleep  tar  terminal  terminfo  testload  test  time  true  udf  ufs1  ufs2  usb_keyboard  usb  vbe  vga  vga_text  video_bochs  video_cirrus  video_fb  videoinfo  video  videotest  zfs xfs bsd -c embed.cfg
复制代码
可能会增减一些模块.

点评

试了一下,这样编译出来的g2ldr可以启动,用lsmod显示所有的模块都加载了。但是不能显示背景图,加载了png模块,也指向了正确的文件,就是不能显示背景图,只是个黑底白字的菜单,中文倒是可以正常显示  详情 回复 发表于 2015-2-27 21:25
回复

使用道具 举报

5#
发表于 2015-2-28 12:23:19 | 显示全部楼层
本帖最后由 2011niumao 于 2015-2-28 12:33 编辑

g2ldr.mbr可以下载一个制作好的就行.不一定自己制作的.

制作g2ldr应该是cat命令(ubuntu).如果是windows 我就不知道了.

不过有点奇怪的是,那个头文件似乎可以选择几个之一. 很奇怪的.

例如 在ubuntu内 /usr/lib/grub/i386-pc里面 有 boot.img g2hdr.bin g2hdr.img g2ldr.img

都可以和制作好的 core.img 合并为 g2ldr .似乎都可以启动.

但注意其大小应该是512吧.不是这个大小的恐怕不行.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 10:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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