无忧启动论坛

标题: 教程--实现syslinux引导grub4dos,切勿拍砖 [打印本页]

作者: komaopo    时间: 2010-6-17 20:20
标题: 教程--实现syslinux引导grub4dos,切勿拍砖
写个简单教程,由于进入论坛较晚,如有重复还望管理给新人几分薄面...

syslinux如何引导GRUB,两种不同的引导方式如何实现对接呢?
再此就不卖官司了,经过一番查找学习发现有一工具可以实现将主流的几种引导文件转换为Linux可识别的引导文件,mkimage工具。
首先熟悉下工具的用法,参考:引导处理一文
下载最新GRUB4DOS,提取grldr文件放到mkimage所在文件夹,
假设处理后文件名为“kmldr”
运行CMD,定位到mkimage所在文件夹,执行mkimage.exe,
输入mkimage ldgrub.bin grldr kmldr
执行命令后会在该目录下生成名为“kmldr”文件.
经处理的引导已经可以识别了,紧接着就是配置isolinux.cfg
LABEL GRUB
MENU LABEL  GoTo GRUB4DOS
kernel /BOOT/kmldr

配置好后添加相应文件生成ISO,实机进行测试(不推荐虚拟机测试)
将ISO写入U盘,进行测试,当启动grub选项时问题出现了,直接进入了grub命令,并且找不到menu.lst。反复改变lst文件位置都没法启动(放到根目录一说也是行不通)!辗转思量,夜深难寐......
临睡前通过手机再次搜索关键字,
终功夫不负有心人,于茫茫网络中找到一文:说是修改grldr内置菜单可以解决,遂照做了,我是通过winhex修改的,论坛上jianliulin 前辈却早为我们写出了操作简单的grldr内置菜单修改工具,下载转贴http://bbs.wuyou.net/forum.php?mod=viewthread&tid=126637&extra=page%3D3打开grldr内置菜单如下:
timeout 1
title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /menu.lst
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
errorcheck on
commandline

title commandline
commandline

title reboot
reboot

title halt
halt


红色部分对应修改为:

configfile (cd)/menu.lst
configfile (cd)/boot/grub/menu.lst
configfile (cd)/grub/menu.lst

这样一来无论lst放在以上任意三个位置都可以放心找到 ^-^
生成ISO,刻盘写U都可以实现SYS跳G4D(试了不少电脑,基本没问题)

文章到此就写完了,其实我做的是BT4和PE的整合,BT4由传统GRUB替换为GRUB4DOS引导,继而通过PE的SYSLINUX引导GRUB4DOS。思路可能有些曲折,想法可能有些不明智,望高手莫笑。

菜单截图送上:




执行第一条菜单到第二张图出现,实际上就是由syslinux向grub4dos跳转的过程







[ 本帖最后由 komaopo 于 2010-6-18 00:51 编辑 ]
作者: sratlf    时间: 2010-6-17 21:34
能不能改下颜色  太晃眼了
作者: zxw    时间: 2010-6-17 22:02
最新3.86版的syslinux可直接加载grldr了。
作者: komaopo    时间: 2010-6-18 00:47
标题: 回复 #3 zxw 的帖子
那么楼上一堆话岂不是白说了?瀑汗啊 .....
作者: komaopo    时间: 2010-6-18 00:55
标题: 回复 #2 sratlf 的帖子
如二楼所说此帖没有存在的意义了,暗下去也是情理之中
作者: 33445566    时间: 2010-6-18 11:03
将GRLDR改名为GRLDR.BIN,SYSLINUX就能加载。
LABEL grldr
MENU LABEL 加载GRUB4DOS
kernel /xx/grldr.bin
append initrd=/xx/grldr.bin
作者: komaopo    时间: 2010-6-19 15:53
标题: 回复 #6 33445566 的帖子
十分感谢。。学习了
作者: minilsm    时间: 2010-6-20 14:30
标题: 回复 #1 komaopo 的帖子
楼主有bt4文件?可不可以发给我啊!呵呵!
作者: sbyguli    时间: 2010-6-20 15:33
也需要BT4文件,呵呵!
作者: yjd    时间: 2010-6-24 17:44
  1. menu begin
  2.                 menu LABEL ^A, Switch Grub4dos
  3.                 menu default
  4. LABEL gd1
  5.                 menu LABEL ^1, Grub4dos [HD0,1]
  6.                 kernel chain.c32 hd0,1
  7.                 TEXT HELP
  8.                 kernel chain.c32 hd0,1
  9.                 ENDTEXT

  10. LABEL gd2
  11.                 menu LABEL ^2, Grub4dos [Grub.exe]
  12.                 kernel /boot/grub4dos/grub.exe
  13.                 APPEND --config-file="find --set-root /boot/grub/yjd.lst;configfile /boot/grub/yjd.lst"
  14.                 TEXT HELP
  15.                 Switch /boot/grub/yjd.lst
  16.                 ENDTEXT
  17.                
  18. LABEL gd4
  19.                 menu LABEL ^3, Grub4dos [Ldntldr]
  20.                 kernel /boot/linux/ldntldr.yjd
  21.                 append initrd=/grldr

  22. LABEL gd4
  23.                 menu LABEL ^4, Grub4dos [Grldr]
  24.     menu default
  25.                 kernel /boot/linux/grldr.bin

  26.                 #返回上一层直接按ESC也可以
  27. LABEL -
  28.                 menu LABEL ^Q, Up one level
  29.                 menu exit
  30.                 #退出到命令行
  31. LABEL -
  32.                 menu LABEL ^C, Quit to the CLI
  33.                 menu quit
  34. menu end
复制代码


原来在U盘用的菜单。
作者: lvmenbo    时间: 2010-6-27 09:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 20103800819    时间: 2010-7-28 14:18
高手啊,这个引导菜单还是不会做,唉..




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