无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5203|回复: 7
打印 上一主题 下一主题

[求助] 求教grub2命令如何让每个菜单选项增加倒计时?

[复制链接]
跳转到指定楼层
1#
发表于 2019-9-14 21:07:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 ones 于 2019-9-14 21:10 编辑

我有一个平板电脑,装了一个凤凰OS和一个win8系统,是双系统,默认用grub2启动,grub2里有两个菜单选项
第一项是android,第二项是win8,默认设置timeout是3秒,default是0,如果不操作,默认启动第一项android,如果有操作,3秒倒计时就停止了

因为是双系统启动,有时我想选择启动win8,但是平板不能像电脑那样带键盘鼠标操作,平板只能用音量键和电源键操作,我发现在grub2下用音量键是可以像键盘上下键那样操作选择菜单项的,但是电源键却没反应,不能操作,不能确认回车,所以我想给每个菜单项增加倒计时,用音量键选择要启动的系统项,然后倒计时两三秒钟就启动所选择的那个系统
对grub各种命令编程不熟悉,哪位大侠给指点一下,谢谢。



set timeout=3
set default=0

menuentry 'Phoenix OS' --class android-x86 {
        search --set=root --file /efi/PhoenixOS/kernel
        linux /efi/PhoenixOS/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/PhoenixOS vga=788
        initrd /efi/PhoenixOS/initrd.img
}

menuentry 'Windows' --unrestricted {
    if [ 'pc' == $grub_platform ] ; then
        if search --file --set /bootmgr ; then
            chainloader +1
        elif search --file --set /ntldr ; then
            chainloader +1
        fi
    elif [ 'efi' == $grub_platform ] ; then
        if search --file --set /EFI/Microsoft/Boot/bootmgfw.efi ; then
            chainloader /EFI/Microsoft/Boot/bootmgfw.efi
        fi
    fi
}
8#
 楼主| 发表于 2019-9-16 10:11:39 | 只看该作者
本帖最后由 ones 于 2019-9-16 17:44 编辑


--hotkey:该选项为该菜单项关联一个热键,也就是快捷键,关联热键后只要按下该键就会选中该菜单。热键只能是字母键、backspace键、tab键或del键。

在网上找到这么句话,热键好像不支持方向键,我还是先去试试再说

在安卓终端命令行下用getevent命令,获取到音量按键代码是0072和0073,电源键按键代码是0074,这个应该是16进制的代码,没法用
回复

使用道具 举报

7#
发表于 2019-9-15 20:53:25 | 只看该作者
ones 发表于 2019-9-15 20:38
grub2启动,默认高亮的是第一个菜单项,比如1是android,2是Windows,默认是android启动,按音量下键,可 ...

https://github.com/aIive/builds/ ... c3c2466201ec6b97322
貌似用这个鸡啊油b 2才支持hiddenentry
不过热键我不知道咋整

点评

--hotkey:该选项为该菜单项关联一个热键,也就是快捷键,关联热键后只要按下该键就会选中该菜单。热键只能是字母键、backspace键、tab键或del键。 在网上找到这么句话,热键好像不支持方向键,还是先去试试再说  详情 回复 发表于 2019-9-16 10:11
回复

使用道具 举报

6#
发表于 2019-9-15 20:48:50 | 只看该作者
本帖最后由 江南一根葱 于 2019-9-15 20:50 编辑
ones 发表于 2019-9-15 20:38
grub2启动,默认高亮的是第一个菜单项,比如1是android,2是Windows,默认是android启动,按音量下键,可 ...


比如弄个热键菜单,你android.sh菜单里面内容加上热键命令

hiddenentry "windows" --hotkey=音量下键值 {
configfile $prefix/windows.sh
}

然后windows.sh的默认第一个是windows的,,在菜单加上热键命令
hiddenentry "android" --hotkey=音量下键值 {
configfile $prefix/android.sh
}

不就windows和andriod来回变成第一选项了,
回复

使用道具 举报

5#
 楼主| 发表于 2019-9-15 20:38:43 | 只看该作者
江南一根葱 发表于 2019-9-15 19:49
想办法得到“下”键的键值就可以做到,的

grub2启动,默认高亮的是第一个菜单项,比如1是android,2是Windows,默认是android启动,按音量下键,可以选择第二个Windows,如果要改一个确认键或者回车键,那只能改音量上键,在安卓下,装一个keytest软件,想必能得到按键的键值,以前改机顶盒红外遥控器键值是玩过,得到键值后,grub2怎么改呢?如果可以,何不把电源键的键值拿过来改呢?

点评

https://github.com/aIive/builds/tree/7d46b2e165e545628cf52c3c2466201ec6b97322 貌似用这个鸡啊油b 2才支持hiddenentry 不过热键我不知道咋整  详情 回复 发表于 2019-9-15 20:53
比如弄个热键菜单,你android.sh菜单里面内容加上热键命令 hiddenentry "windows" --hotkey=音量下键值 { configfile $prefix/windows.sh } 然后windows.sh的默认第一个是windows的,,在菜单加上热键命令  详情 回复 发表于 2019-9-15 20:48
回复

使用道具 举报

4#
发表于 2019-9-15 19:49:52 | 只看该作者
ones 发表于 2019-9-15 19:31
音量键,上下两键,一个只能上,一个只能下,而且不能循坏,下键按到最下面的菜单项就不能按了,缺少一个 ...

想办法得到“下”键的键值就可以做到,的

点评

grub2启动,默认高亮的是第一个菜单项,比如1是android,2是Windows,默认是android启动,按音量下键,可以选择第二个Windows,如果要改一个确认键或者回车键,那只能改音量上键,在安卓下,装一个keytest软件,想必  详情 回复 发表于 2019-9-15 20:38
回复

使用道具 举报

3#
 楼主| 发表于 2019-9-15 19:31:21 | 只看该作者
江南一根葱 发表于 2019-9-14 21:17
我能想到的是把音量键设置成热键,按了后直接执行你写的脚本一模一样的另一个脚本,但那个脚本default=2的
...

音量键,上下两键,一个只能上,一个只能下,而且不能循坏,下键按到最下面的菜单项就不能按了,缺少一个确认键来启动菜单项,所以想用倒计时执行的方式来代替确认键,set default和set timeout命令不知道能不能重复使用写入到各菜单项里边?

点评

想办法得到“下”键的键值就可以做到,的  详情 回复 发表于 2019-9-15 19:49
回复

使用道具 举报

2#
发表于 2019-9-14 21:17:37 | 只看该作者
本帖最后由 江南一根葱 于 2019-9-14 21:21 编辑

我能想到的是把音量键设置成热键,按了后直接执行你写的脚本一模一样的另一个脚本,但那个脚本default=2的
热键再到另另一个脚本,然后这个脚本是default=3的

不过我不知道音量键的键值。。

点评

音量键,上下两键,一个只能上,一个只能下,而且不能循坏,下键按到最下面的菜单项就不能按了,缺少一个确认键来启动菜单项,所以想用倒计时执行的方式来代替确认键,set default和set timeout命令不知道能不能重复  详情 回复 发表于 2019-9-15 19:31
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-18 15:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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