Ventoy 是款多重開機隨身碟製作工具,過其插件功能,使用者可以自訂選單主題、文字與圖示,不過對於沒有美工天份的人來說,若是要弄個賞心悅目的選單主題,最簡單的方式還是套用其他大神釋出的主題包,本文主要分享 vinceliuice 的 Tela grub theme 替換 Ventoy Theme 的流程紀錄與注意事項。
至於 Ventoy Json 配置參數與說明,本文就不贅述,詳細說明可參考官方網站的文檔手冊
選單排序調整
首先將個人常用的作業系統複製到已經製作完成的多重開機隨身碟中
使用隨身碟開機後,就會看到系統原本的操作選單畫面,由於系統限制,即便有用資料夾區隔不同作業系統,最終顯示還是依照檔名牌序
個人是以重新命名作業系統檔案的方式處理,不過要注意的是,檔案名稱不可以有空白或者非 ASCII 字元(例如中文)
重新使用隨身碟開機,即可看到選單中的選項名稱依照檔案重新命名後的名稱來顯示
前置作業
由於系統是以 ventoy.json 作為設定參照讀取入口點(Entrypoint),該文字檔必須放在隨身碟 /ventoy/ 下方
選單主題替換 (Theme)
Ventoy 的選單功能是基於 GRUB,以下操作就以 Gnome Look 上的 Tela grub theme (1080p)為範例。
使用壓縮軟體開啟下載檔案 Tela-1080p.tar.xz ,找到資料夾 /Tela-1080p 下方的 Tela 資料夾
將資料夾 Tela 複製一份到隨身碟 /ventoy/theme 資料夾裏頭
1 2 3 4 5 6 7 8 9 10 | { "theme": { "file": "/ventoy/theme/Tela/theme.txt", "ventoy_color": "#ffffff", "fonts": [ "/ventoy/theme/Tela/terminus-12.pf2", "/ventoy/theme/Tela/terminus-14.pf2", "/ventoy/theme/Tela/terminus-16.pf2" ] } } |
首先在 /ventoy/ventoy.json 中加入套用主題
此時重新使用隨身碟開機,可以發現預設主題已經被 Tela Theme 取代,不過下方的熱鍵提示消失了
重新開啟隨身碟,在 /ventoy/theme/Tela 資料夾下方找到 theme.txt 文字檔
1 2 3 4 5 6 7 8 | # Show Ventoy Hotkey Tips + hbox{ left = 30% top = 95% width = 10% height = 25 + label {text = "@VTOY_HOTKEY_TIP@" color = "white" align = "left"} } |
在檔案最後加入上述描述,並配合主題配色,將顯示字體顏色更改為白色
此時重新使用隨身碟開機,可發現熱鍵提示資訊回來了
選單圖示選用 (Class)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | { "menu_class" : [ { "key": "CentOS-", "class": "centos" }, { "key": "xubuntu", "class": "xubuntu" }, { "key": "kubuntu", "class": "kubuntu" }, { "key": "ubuntu", "class": "ubuntu" }, { "key": "kali", "class": "kali" }, { "key": "tw_windows_7", "class": "windows" }, { "key": "Win10_", "class": "windows" } ] } |
重新編輯 /ventoy/ventoy.json 並加入 menu-class,依照ISO檔名關鍵字指定 class 名稱後存檔
此時重新使用隨身碟開機,選單依據設定顯示對應圖示,不過眼尖的使用者應該會發現 CentOS 並未顯示對應圖示,這是因為 Tela grub theme 並未提供
個人的處理方式,是透過 Google 以字找圖,找個風格近似的 32×32 PNG 圖檔,更名為 centos.png 並複製到隨身碟 /ventoy/theme/Tela/icons 資料夾下方
再次使用隨身碟開機,即可看到圖示皆正常顯示
選單別名變更 (Alias)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | { "menu_alias" : [ { "image": "/1.CentOS-7-x86_64-DVD-2003.iso", "alias": "CentOS-7 (2003)" }, { "image": "/2.CentOS-8.2.2004-x86_64-dvd1.iso", "alias": "CentOS-8 (2004)" }, { "image": "/3.tw_windows_7_ultimate_with_sp1_x64_dvd_u_677414.iso", "alias": "Windows 7 Ultimate Service Pack 1 (SP1) x64" }, { "image": "/4.Win10_2004_Chinese(Traditional)_x64.iso", "alias": "Windows 10 Version 2004 (May 2020 Update)" }, { "image": "/5.kali-linux-2020.2-installer-amd64.iso", "alias": "Kali Linux 2020.2" }, { "image": "/6.ubuntu-20.04-desktop-amd64.iso", "alias": "Ubuntu 20.04 LTS (Focal Fossa)" }, { "image": "/7.kubuntu-20.04-desktop-amd64.iso", "alias": "Kubuntu 20.04 LTS" }, { "image": "/8.xubuntu-20.04-desktop-amd64.iso", "alias": "Xubuntu 20.04 LTS" } ] } |
重新編輯 /ventoy/ventoy.json 並加入 menu_alias 定義,讓原本礙眼的 ISO 映像檔名稱用單純字串替代(可用中文)
修改完成後重新使用隨身碟開機,最後成品選單畫面如上,是不是賞心悅目多了呢 ~~~~ (灑花)
小結
其實 Ventoy 的插件功能不僅於自訂選單,包含 Persistent Storage Live USB (Linux)、新增未在支援列表清單中的作業系統映像檔等,甚至是 Windows (XML)、RHEL/CentOS/Fedora (Kickstart)、Debian/Ubuntu (Preseed) 及 SUSE (autoYast XML) 等作業系統的無人職守的腳本運用,目前都可透過插件來達成,不過短期並未有急迫性需求,後續有機會在和大家分享。