【分享】使用 g2ldr 通过 windows 启动菜单引导 Ubuntu 9.10(附制作方法)
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
bean大,请问
source /boot/grub/grub.cfg
和
configfile /boot/grub/grub.cfg
有没有什么区别?
source /boot/grub/grub.cfg
和
configfile /boot/grub/grub.cfg
有没有什么区别?
-
- 帖子: 131
- 注册时间: 2008-05-14 14:18
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
ptptptptptpt 写了:不是的,出来的是 g2ldr 而不是 g2ldr.mbr 。关于 g2ldr.mbr 请看20楼。mancomeon 写了:Pt:
请教一事:用上面命令产生的文件 g2ldr,其实应该是所谓的g2ldr.mbr吧?代码: 全选
grub-mkimage -d /boot/grub -p /grub2 -o ~/core.img part_msdos biosdisk fat ntfs ext2 reiserfs cat /boot/grub/lnxboot.img ~/core.img > ~/g2ldr
因为是这样的:我把这个g2ldr放到C盘,用win7可以引导启动它。但是我看网上说到,win7的话,只能引导g2ldr.mbr文件,而不能引导 g2ldr.
win7 不能直接引导体积大于 64K 的g2ldr,但小于 64k 的可以。
而XP只能装入8K,所以必须使用g2ldr.mbr。
xp可以直接使用 grldr 是因为 grldr 开头的8K就是 grldr.mbr。
因此,综合考虑,还是建议统一都使用 g2ldr.mbr 。
原来如何。THANKS~~~
还有一个小问题,我编译安装完grub1.97.1,为什么没有生成 /etc/default/grub 这个文件 ?(我是按默认来configure/make/install的)

- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
这个就不知道了,俺没编译过 grub1.97.1 ,只编译过 burg —— bean 已经写好了说明书
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
不过这个功能应该不难实现:用 drivemap 把 loop 映射为光驱,再 chainloader 光驱+1 。。。ptptptptptpt 写了:没有办法,目前mancomeon 写了: 另外一个问题是关于上面说到的引导ISO文件:
像Ubuntu ISO这种可以像你写的那样引导之,但如果其它一些可引导ISO文件(举例如 winpe.iso),当中并无
/casper/vmlinuz 和/casper/initrd.lz文件 ,又当如何?
或许已经实现了??我试试
-
- 帖子: 238
- 注册时间: 2008-06-03 12:25
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
configfile建立一个新的环境,然后运行grub.cfg里的命令,没有export的变量在新环境里是没有定义的。而source在当前的环境里运行grub.cfg里的命令。另外,configfile还有一个附加的效果,如果grub.cfg里有定义菜单项,在解析完后自动显示菜单。smallapple 写了:bean大,请问
source /boot/grub/grub.cfg
和
configfile /boot/grub/grub.cfg
有没有什么区别?
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
是不是可以理解:
用configfile之后,当前的grub.cfg的设置将不存在,而是使用之后的grub.cfg的设置,
用source则在保留当前设置,运行grub.cfg的命令。
如果是这样,那用source是否会显示grub.cfg的菜单?
用configfile之后,当前的grub.cfg的设置将不存在,而是使用之后的grub.cfg的设置,
用source则在保留当前设置,运行grub.cfg的命令。
如果是这样,那用source是否会显示grub.cfg的菜单?
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
动手试试呗,一试便知smallapple 写了:是不是可以理解:
用configfile之后,当前的grub.cfg的设置将不存在,而是使用之后的grub.cfg的设置,
用source则在保留当前设置,运行grub.cfg的命令。
如果是这样,那用source是否会显示grub.cfg的菜单?
我试过了,但是不告诉你

- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
configfile我用过多次了,没用过source的。
下次开机再试。
下次开机再试。

- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
-
- 帖子: 238
- 注册时间: 2008-06-03 12:25
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
嗯,差不多就是这样。其实,菜单就是保存在menu环境变量里的,不过是二进制数据,用echo显示不了。用configfile的话,menu先清空,因此显示的全都是grub.cfg里菜单。用source的话,菜单是添加到当前的menu变量里。smallapple 写了:是不是可以理解:
用configfile之后,当前的grub.cfg的设置将不存在,而是使用之后的grub.cfg的设置,
用source则在保留当前设置,运行grub.cfg的命令。
如果是这样,那用source是否会显示grub.cfg的菜单?
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
- pcbird
- 帖子: 2337
- 注册时间: 2008-12-19 13:44
- 来自: 东8区
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)

以前是用grub4dos的引导ubuntu的
现在ubuntu9.10好像用grub2了
代码: 全选
\ ,__,
\ (oo)____
(__) )\
||--|| *
-
- 帖子: 42
- 注册时间: 2007-06-22 17:49
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
谢谢三位的回复
但是还是不行,找不到分区,直接set root找不到文件,我相信uuid和分区号都没错
电脑中一个sata,一个ide,ubuntu装在了ide第一个逻辑分区,(hd0,5)(hd1,5)都在命令行模式下试过了
详细一点说明,根据第一帖在ubuntu里做了g2ldr后,把两个文件放到xp分区根目录,把/boot/grub/中所有文件复制到xp分区grub2目录中
mbr装的是g4d,引导ntldr,再引导g2ldr.mbr
对了,g2ldr和ubuntu在不同的硬盘上
下面是grub.cfg
补充:分辨率,背景图,字体都是正确的
第二项引导xp也有效,只是不能引导ubuntu
再问bean:g2ldr的chainloader怎么样了?实在是舍不得啊
但是还是不行,找不到分区,直接set root找不到文件,我相信uuid和分区号都没错
电脑中一个sata,一个ide,ubuntu装在了ide第一个逻辑分区,(hd0,5)(hd1,5)都在命令行模式下试过了
详细一点说明,根据第一帖在ubuntu里做了g2ldr后,把两个文件放到xp分区根目录,把/boot/grub/中所有文件复制到xp分区grub2目录中
mbr装的是g4d,引导ntldr,再引导g2ldr.mbr

对了,g2ldr和ubuntu在不同的硬盘上
下面是grub.cfg
代码: 全选
# This is a grub.cfg example
insmod video
insmod vbe
insmod gfxterm
insmod png
insmod jpeg
insmod ext2
insmod search
insmod normal
loadfont /grub2/unicode.pf2
set gfxmode="1680x1050"
terminal_output gfxterm
terminal gfxterm
background_image /grub2/lwgd.jpg
#set menu_color_normal=cyan/blue
#set menu_color_highlight=white/blue
set timeout=10
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
#set root=(hd0,5)
search --no-floppy --fs-uuid --set c635d936-e551-417b-96ee-382fae8ce517
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=c635d936-e551-417b-96ee-382fae8ce517 ro splash quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Boot First Primary Partition"
{
set root=(hd0,1)
chainloader +1
}
menuentry "关机"
{
halt
}
第二项引导xp也有效,只是不能引导ubuntu

再问bean:g2ldr的chainloader怎么样了?实在是舍不得啊
- smallapple
- 论坛版主
- 帖子: 7868
- 注册时间: 2009-03-28 15:12
Re: 【分享】从 9.10 的 grub2 制作 g2ldr,并从 win 菜单启动(12月2日更新)
先有 ls -l 看看能否查到 (hd0,5)或(hd1,5)分区,核对uuid是否正确。
编译core.img时把search模块加上去,search .....的命令才有用。
编译core.img时把search模块加上去,search .....的命令才有用。