Ventoy 主题插件

当你第一眼看到Ventoy的时候,你是什么感觉?不是很漂亮对吧?现在你可以定制你自己的主题了!
Ventoy 的启动菜单是基于 grub2 的,所以所有 grub2 的主题都可以应用在 Ventoy上面。
这个网站上收集了很多非常漂亮的 grub 主题 —— GRUB Themes - Gnome-look.org

  • Json 配置参数

/ventoy/ventoy.json 中定义了一个 theme 结构用于描述关于主题的配置参数。
注意你不需要对这里列出来的每一项都做配置,可以只对其中的一项或几项做特殊配置,其他的会使用默认值.

{
    "theme": {
        "file": "/ventoy/theme/blur/theme.txt",
        "gfxmode": "1920x1080",
        "display_mode": "GUI",
        "serial_param": "--unit=0 --speed=9600",
        "ventoy_left": "5%",
        "ventoy_top": "95%",
        "ventoy_color": "#0000ff",
        "fonts": [
            "/ventoy/theme/blur/Hack-12.pf2",
            "/ventoy/theme/blur/Hack-14.pf2",
            "/ventoy/theme/blur/Hack-16.pf2"
        ]
    }
}

关键字 类型 说明
file STRING theme.txt 文件的全路径
gfxmode STRING 可选的,可以不设置。grub2 的 gfxmode 参数,默认为 "1024x768"
display_mode STRING 可选的,可以不设置。菜单显示模式,可以设置为 GUI CLI serial serial_console 默认为 GUI
GUI和CLI 分别对应图形模式和文本模式。在有极个别的机器上Ventoy的背景菜单无法显示,或者显示后菜单移动极其缓慢,这种情况可以默认设置为文本模式。
不过,不管GUI还是CLI都是基于VGA显示设备的,如果你的机器上只有串口,你可以设置为 serial
当然,如果既有串口也有VGA设备,则也可以设置为 serial_console
注意:如果菜单名称(文件名)里有中文的话,在文本或serial模式下是无法显示的。
serial_param STRING 可选的,可以不设置。只在 display_mode 设置为 serialserial_console 时才生效
这个参数用来配置串口的端口号以及波特率等参数,--unit=0 对应 com1 --unit=1 对应 com2 详细描述请参考 https://www.gnu.org/software/grub/manual/grub/grub.html#serial
ventoy_left STRING 可选的,可以不设置。ventoy版本信息的 X 位置, 默认为 "5%"
ventoy_top STRING 可选的,可以不设置。ventoy版本信息的 Y 位置, 默认为 "95%"
ventoy_color STRING 可选的,可以不设置。ventoy版本信息的颜色, 默认为 "#0000ff"
fonts STRING ARRAY 可选的,可以不设置。数组中的每一项代表一个字体文件的全路径,Ventoy在启动时会依次加载这些字体文件。
  • 热键提示

为了能正常显示热键提示,你需要把下面这几个 hbox 的定义添加到新的 theme.txt 文件中。你也可以修改里面的位置和颜色属性。

+ hbox{ 
    left = 30%
    top = 95%
    width = 10%
    height = 25
    + label {text = "@VTOY_HOTKEY_TIP@" color = "blue" align = "left"} 
}

+ hbox{ 
    left = 90%
    top = 5 
    width = 10%
    height = 25
    + label {text = "@VTOY_MEM_DISK@" color = "red" align = "left"} 
}

  • Ventoy 版本信息

默认情况下,在界面的左下角会显示Ventoy的版本信息,比如 1.0.10 UEFI www.ventoy.net
这个信息是在代码中固定实现的,你可以通过 ventoy_left/ventoy_top/ventoy_color 变量来调整它的位置和颜色。
如果你想完全删除它,我鼓励你去阅读Ventoy的源代码,修改之后重新编译。我想这也是开源的意义所在。


  • 分别针对Legacy BIOS模式和UEFI模式设置不同的主题

theme 支持双模式,可以针对 Legacy BIOS 模式和 UEFI 模式分别设置不同的主题,甚至可以一个使用图形模式,另一个使用文本模式。
详细说明请参考 双模式选项