110654 发表于 2016-4-1 10:05:45

grub2主菜单跳转子菜单该如何写?

如题:求解答
主菜单文件叫1.cfg子菜单叫2.cfg
那么主菜单最上面一部份加载背景图片 设置启动界面的代码也要出现在2.cfg里面?

还是2.cfg只写菜单程序,不用写加载背景什么的??
有范例么?

青青草 发表于 2016-4-1 10:17:42

本帖最后由 青青草 于 2016-4-1 10:20 编辑

主菜单:
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ${prefix}/2.cfg;
}

110654 发表于 2016-4-1 10:24:20

青青草 发表于 2016-4-1 10:17
主菜单:
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ${prefix}/2.cfg;


可否加个Q 我还有个小问题咨询好吗

110654 发表于 2016-4-1 10:26:58

青青草 发表于 2016-4-1 10:17
主菜单:
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ${prefix}/2.cfg;


set timeout=10
insmod jpeg
if background_image ($root)/winly/background.jpg; then
true
else
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
fi
insmod gfxmenu
insmod png
set theme=($root)/winly/themes/winly/theme.txt
export theme
if [ -e $prefix/i386-pc/ntldr.mod ]; then

menuentry "启动 WindowsXP PE 外置程序"{
echo "正在加载 WindowsXP PE,请等待...."
insmod part_msdos
insmod fat
ntldr /boot/p/SETUPLDR.BIN
}

submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ${prefix}/winly/winly1.cfg;
}


menuentry "启动 WindowsXP PE 内置程序"{
echo "正在加载 WindowsXP PE,请等待...."
insmod part_msdos
insmod fat
ntldr /boot/xp/SETUPLDR.BIN
}



主菜单部分内容已测试 发现不行啊

青青草 发表于 2016-4-1 10:27:00

110654 发表于 2016-4-1 10:24
可否加个Q 我还有个小问题咨询好吗

我不用Q,也没有Q。不好意思。

青青草 发表于 2016-4-1 10:48:03

青青草 发表于 2016-4-1 10:27
我不用Q,也没有Q。不好意思。

主菜单:
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ${prefix}/2.cfg;
}

子菜单:
menuentry "名称" {
......
}

窄口牛 发表于 2016-4-1 10:54:02

没看明白你的目的

110654 发表于 2016-4-1 10:57:55

窄口牛 发表于 2016-4-1 10:54
没看明白你的目的

我的目的是因为主菜单 的内容太多了
就整个子菜单跳转一下
避免引起卡顿

窄口牛 发表于 2016-4-1 11:02:17

submenu "子菜单"{    menuentry "子菜单1"{   命令   } menuentry "子菜单2" {    命令   } } 分菜单): menuentry "运行第2张菜单" {    configfile "${prefix}/grub2.cfg"   }

窄口牛 发表于 2016-4-1 11:02:32

submenu "子菜单"{    menuentry "子菜单1"{   命令   } menuentry "子菜单2" {    命令   } } 分菜单): menuentry "运行第2张菜单" {    configfile "${prefix}/grub2.cfg"   }

窄口牛 发表于 2016-4-1 11:02:49

自动就发出去了

窄口牛 发表于 2016-4-1 11:03:12

粘贴后

窄口牛 发表于 2016-4-1 11:05:40

这么发吧

110654 发表于 2016-4-1 11:09:59

窄口牛 发表于 2016-4-1 11:02
submenu "子菜单"{    menuentry "子菜单1"{   命令   } menuentry "子菜单2" {    命令   } } 分菜 ...

没看懂啊 大神,能否给个范例?

青青草 发表于 2016-4-1 11:16:27

还不会呀?
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=320715&extra=page%3D2

110654 发表于 2016-4-1 11:16:42

110654 发表于 2016-4-1 11:09
没看懂啊 大神,能否给个范例?

menuentry "运行第2张菜单" {
configfile "${prefix}/winly/2.cfg"   
}

我直接在主菜单写上面这个

子菜单我就随便写了一个菜单内容

运行测试 闪了就没了,也没有显示子菜单内容闪一下后还是显示主菜单内容

110654 发表于 2016-4-1 11:16:59

窄口牛 发表于 2016-4-1 11:02
自动就发出去了

menuentry "运行第2张菜单" {
configfile "${prefix}/winly/2.cfg"   
}

我直接在主菜单写上面这个

子菜单我就随便写了一个菜单内容

运行测试 闪了就没了,也没有显示子菜单内容闪一下后还是显示主菜单内容

窄口牛 发表于 2016-4-1 11:18:24

同路径才可以,你是不是路径变了

窄口牛 发表于 2016-4-1 11:19:56

变路径就要加一句search定位

窄口牛 发表于 2016-4-1 11:20:16

主题就会加载失败

青青草 发表于 2016-4-1 11:38:20

主菜单改为这样试试?
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ($root)/winly/winly1.cfg;
}

110654 发表于 2016-4-1 11:43:14

青青草 发表于 2016-4-1 11:38
主菜单改为这样试试?
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ($root)/winl ...

成功了 这个才是正确的太感谢你了至于刚才为何不成功我也不清楚,我直接复制你这个 上去一测试就正确跳转了

110654 发表于 2016-4-1 11:47:58

青青草 发表于 2016-4-1 11:38
主菜单改为这样试试?
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ($root)/winl ...

我又在子菜单上面这样格式写 跳转主菜单,提示按任意键,多按一下就会还回主菜单
不知道这样做正确否? 多按一下就多按一下吧????

青青草 发表于 2016-4-1 12:07:51

110654 发表于 2016-4-1 11:43
成功了 这个才是正确的太感谢你了至于刚才为何不成功我也不清楚,我直接复制你这个 上去一测试就正 ...

prefix

绝对路径形式的'/boot/grub'目录位置(也就是GRUB2的安装目录),例如'(hd0,gpt1)/grub'或'(hd0,msdos2)/boot/grub'。初始值由GRUB在启动时根据"grub-install"在安装时提供的信息自动设置。你只应该使用此变量,而不应该修改它。

root

设置"根设备"。任何未指定设备名的文件都视为位于此设备。初始值由GRUB在启动时根据"prefix"变量的值自动设置。在大多数情况下,你都需要修改它。

青青草 发表于 2016-4-1 12:10:10

110654 发表于 2016-4-1 11:43
成功了 这个才是正确的太感谢你了至于刚才为何不成功我也不清楚,我直接复制你这个 上去一测试就正 ...

至于菜单
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {
source ($root)/winly/winly1.cfg;
}
是根据你贴出的菜单而修改的。

青青草 发表于 2016-4-1 12:11:48

110654 发表于 2016-4-1 11:47
我又在子菜单上面这样格式写 跳转主菜单,提示按任意键,多按一下就会还回主菜单
不知道这样做正确否?...

#返回主菜单
menuentry " Return to main menu"--hotkey="ESC" {

configfile ($root)/Grub.cfg;
}


110654 发表于 2016-4-1 12:46:04

青青草 发表于 2016-4-1 12:11
#返回主菜单
menuentry " Return to main menu"--hotkey="ESC" {



menuentry "进入主菜单"--hotkey="ESC" {
configfile /winly/winly.cfg;
}
这样写也能成功
随便求问,在grub2中启动一个PE前
判定需要加载achi驱动 (不然进入PE后看不到硬盘)情况该如何去写菜单?
例如:
menuentry "启动 WindowsXP PE 内置程序"{
echo "正在加载 WindowsXP PE,请等待...."
insmod part_msdos
insmod fat
ntldr /boot/xp/SETUPLDR.BIN
}
加载这个PE

这个PE没有集成AHCI驱动,我看晨风PE做的菜单中:
如下:
title 【02】 加载SRS原始兼容模式运行晨枫PE系统
checkrange 0x30001:-1 read 0x8298
clear
F6IMG
echo $ Loading MyFeng WIN03PE.ISO, Please Wait ...
map (ud)/FENG/WINPE.ISO (0xff) ! map (ud)/FENG/WINPE.ISO (0xff)
map --hook
chainloader (0xff)

这里F6IMG 有这个文件同时根目录还有SRS文件夹里面存放了很多驱动等,
如果我要应该他这个该如何编辑菜单?
我把他的F6IMG还有srs文件夹复制过来

我这样写

menuentry "启动 Windows7 PE" {
search --file /winly/F6IMG --set=root
ntldr /BOOT/7PE_MGR
}
发现没有成功

在ACHI模式下看不到硬盘
页: [1]
查看完整版本: grub2主菜单跳转子菜单该如何写?