无忧启动论坛

标题: grub2主菜单跳转子菜单该如何写? [打印本页]

作者: 110654    时间: 2016-4-1 10:05
标题: grub2主菜单跳转子菜单该如何写?
如题:求解答
主菜单文件叫1.cfg  子菜单叫2.cfg
那么主菜单最上面一部份加载背景图片 设置启动界面的代码也要出现在2.cfg里面?

还是2.cfg只写菜单程序,不用写加载背景什么的??
有范例么?
作者: 青青草    时间: 2016-4-1 10:17
本帖最后由 青青草 于 2016-4-1 10:20 编辑

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

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

可否加个Q 我还有个小问题咨询好吗
作者: 110654    时间: 2016-4-1 10:26
青青草 发表于 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
110654 发表于 2016-4-1 10:24
可否加个Q 我还有个小问题咨询好吗

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

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

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

作者: 窄口牛    时间: 2016-4-1 10:54
没看明白你的目的
作者: 110654    时间: 2016-4-1 10:57
窄口牛 发表于 2016-4-1 10:54
没看明白你的目的

我的目的是因为主菜单 的内容太多了
就整个子菜单跳转一下
避免引起卡顿
作者: 窄口牛    时间: 2016-4-1 11:02
submenu "子菜单"  {    menuentry "子菜单1"  {     命令   } menuentry "子菜单2" {    命令   } } 分菜单): menuentry "运行第2张菜单" {    configfile "${prefix}/grub2.cfg"   }
作者: 窄口牛    时间: 2016-4-1 11:02
submenu "子菜单"  {    menuentry "子菜单1"  {     命令   } menuentry "子菜单2" {    命令   } } 分菜单): menuentry "运行第2张菜单" {    configfile "${prefix}/grub2.cfg"   }
作者: 窄口牛    时间: 2016-4-1 11:02
自动就发出去了
作者: 窄口牛    时间: 2016-4-1 11:03
粘贴后
作者: 窄口牛    时间: 2016-4-1 11:05
这么发吧

Screenshot_2016-04-01-11-05-03.png (27.4 KB, 下载次数: 113)

Screenshot_2016-04-01-11-05-03.png

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

没看懂啊 大神,能否给个范例?
作者: 青青草    时间: 2016-4-1 11:16
还不会呀?
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
作者: 110654    时间: 2016-4-1 11:16
110654 发表于 2016-4-1 11:09
没看懂啊 大神,能否给个范例?

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

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

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

运行测试 闪了就没了,也没有显示子菜单内容  闪一下后还是显示主菜单内容
作者: 110654    时间: 2016-4-1 11:16
窄口牛 发表于 2016-4-1 11:02
自动就发出去了

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

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

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

运行测试 闪了就没了,也没有显示子菜单内容  闪一下后还是显示主菜单内容
作者: 窄口牛    时间: 2016-4-1 11:18
同路径才可以,你是不是路径变了
作者: 窄口牛    时间: 2016-4-1 11:19
变路径就要加一句search定位
作者: 窄口牛    时间: 2016-4-1 11:20
主题就会加载失败
作者: 青青草    时间: 2016-4-1 11:38
主菜单改为这样试试?
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {  
source ($root)/winly/winly1.cfg;
}


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


成功了 这个才是正确的  太感谢你了  至于刚才为何不成功我也不清楚,我直接复制你这个 上去一测试就正确跳转了
作者: 110654    时间: 2016-4-1 11:47
青青草 发表于 2016-4-1 11:38
主菜单改为这样试试?
submenu "【1】加载子菜单2.cfg"         --hotkey="1" {  
source ($root)/winl ...

我又在子菜单上面这样格式写 跳转主菜单,提示按任意键,多按一下就会还回主菜单
不知道这样做正确否? 多按一下就多按一下吧????
作者: 青青草    时间: 2016-4-1 12:07
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
110654 发表于 2016-4-1 11:43
成功了 这个才是正确的  太感谢你了  至于刚才为何不成功我也不清楚,我直接复制你这个 上去一测试就正 ...

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

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

#返回主菜单
menuentry "[ESC] Return to main menu"  --hotkey="ESC" {
  
configfile ($root)/Grub.cfg;
}



作者: 110654    时间: 2016-4-1 12:46
青青草 发表于 2016-4-1 12:11
#返回主菜单
menuentry "[ESC] 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 $[1106] 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模式下看不到硬盘




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