VentoyPlugson 实战指南:5 步完成 Ventoy 启动U盘的 Web 化配置
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
Ventoy 是一款"写盘即多系统启动"的启动U盘方案,而 VentoyPlugson 是它配套的官方 Web 配置工具:把 U 盘插上 Linux 电脑,一条命令起服务,在浏览器里改完密码、主题、持久化、菜单别名,无需手改 JSON。读完本文你能完成四件事:用 3 条命令启动 Plugson 服务;给启动菜单和指定 ISO 设置密码;为 Live 系统绑定持久化文件;用一份 JSON 定制启动菜单外观。
认识 VentoyPlugson:它替你做哪几件事
手写/ventoy/ventoy.json也能达到同样效果,但字段多、架构分支多,出错基本靠猜。Plugson 的价值是把配置拆成 6 个可视化页面,并且替你处理"设备是什么架构、GPT 还是 MBR、Secure Boot 开没开"这些前置判断。
| 页面 | 对应配置项(ventoy.json) | 典型用途 |
|---|---|---|
| 设备信息 | 只读展示 | 确认版本、分区样式、Secure Boot |
| 密码 | password、password_uefi等 | 启动口令、按文件/目录设置密码 |
| 持久化 | persistence、autounsattend | Live 系统保存数据、自动安装 |
| 主题 | theme | 菜单背景、字体、配色 |
| 菜单别名 / 分类 | menu_alias、menu_class | 改显示名、按目录分组 |
| 启动项注入 | injection | 修改个别 ISO 的内核参数 |
它的工作方式是一个本地 Web 服务:VentoyPlugson.sh检查设备后启动 Plugson 进程,Plugson 直接读写 U 盘数据分区里的/ventoy/ventoy.json和相关文件,浏览器只做展示。
准备与启动:3 条命令跑起来
环境与前置条件
- 一台能运行 Linux 的机器(x86_64 / aarch64 / i386 / mips64el 均有对应工具,脚本按
uname -m自动选择) - 一个已经写入 Ventoy 的U盘(数据分区为 exFAT/NTFS/FAT 均可)
- 使用 root 权限(需要直接操作块设备)
没有仓库的话先拿到源码:
git clone https://gitcode.com/GitHub_Trending/ve/Ventoy cd Ventoy启动服务
lsblk # 1. 找到U盘,假设为 /dev/sdc sudo mount /dev/sdc1 /mnt # 2. 先挂载数据分区(Plugson 要求已挂载) cd Ventoy/INSTALL sudo bash VentoyPlugson.sh /dev/sdc # 3. 启动,设备号按实际替换✅ 预期输出:
Ventoy version in Disk: 1.0.x Disk Partition Style : GPT Secure Boot Support : YES =============================================================== Ventoy Plugson Server 已经启动 ... 请打开浏览器,访问 http://127.0.0.1:24681💡 常用参数(完整帮助见sudo bash VentoyPlugson.sh -h):
| 参数 | 默认值 | 说明 |
|---|---|---|
-H x.x.x.x | 127.0.0.1 | 服务绑定地址,局域网访问需改 |
-P 端口 | 24681 | 服务端口 |
| 设备参数 | 必填 | 可传/dev/sdc或/dev/sdc1,脚本自动归一化到整盘 |
之后打开浏览器访问http://127.0.0.1:24681即可,Ctrl + C停止服务。源码位于Plugson/src/(C 实现的 HTTP 服务 + 前端页面在Plugson/www/),编译说明见INSTALL/DOC/BuildVentoyFromSource.txt。
核心流程走查:按任务逐项完成
以下每个小节都是"操作 — 预期结果"的对应关系,按顺序做完,你的 U 盘就完成了密码、持久化、主题三件套。
任务 1:确认设备信息无误
操作:进入"设备信息"页,核对 4 个字段。
预期结果:设备名称/容量/文件系统与lsblk、mount输出一致;Ventoy 版本号与安装时所用版本一致;分区类型显示 MBR 或 GPT;Secure Boot 支持显示"开启/关闭"。如果分区类型与你的主板设置不符(主板开了 UEFI 安全启动但 U 盘是 MBR),先按官方文档重新写入 U 盘再回来。
任务 2:如何给 Ventoy 启动项设置密码
密码页分两半:上方是"通用密码"(bootpwd、isopwd、wimpwd、imgpwd、vhdpwd、efipwd、vtoypwd,分别对应启动菜单入口和各类文件的兜底口令),下方是"菜单密码"表格,可为具体文件加锁。
以"只给 Windows 镜像加锁"为例:
操作 1:在菜单密码区新增一行,类型选file,路径填/ISO/Win10_23H2_China_x64.iso,填入口令,保存。
预期结果:该行状态列显示文件存在校验通过;/ventoy/ventoy.json的password节新增一条对应记录。
操作 2:给整个 Linux 目录加锁,类型选parent,路径填/ISO/Linux/(目录需真实存在,页面会实时校验并提示"目录不存在")。
预期结果:该目录下所有 ISO 启动前都会先要求输入这一条密码,其他文件不受影响。
操作 3:页面顶部标签页可在password(默认)与password_uefi/password_ia32/password_aa64/password_mips/password_legacy之间切换,为不同固件/架构单独设一套规则。
预期结果:各架构标签页互不覆盖,启动时按当前环境自动取对应一组。
⚠️ 路径区分大小写,且以 U 盘数据分区根目录为基准(/ISO/...不是宿主机的/ISO)。
任务 3:如何为 Live 系统配置持久化
操作 1:在 U 盘数据分区创建持久化文件(放在/persist/目录下,10GB 为例):
sudo dd if=/dev/zero of=/mnt/persist/fedora39.dat bs=1M count=10240 status=progress sudo mkfs.ext4 -L persist /mnt/persist/fedora39.dat操作 2:切到"持久化"页,新增一行,ISO 路径填/ISO/Fedora-Workstation-Live-39-1.1.x86_64.iso,持久化文件填/persist/fedora39.dat,保存。
预期结果:页面校验两者均存在;ventoy.json的persistence数组新增一条file+img的映射。以后每次从该 ISO 启动,桌面、文档的改动都写回这个.dat。
同一页面还能配autounsattend(自动安装应答文件路径)和超时项,为无人值守装机打基础。
任务 4:如何定制 Ventoy 启动菜单主题
操作:在"主题"页指定一个主题 JSON(例如/ventoy/theme/dark.json),并在下拉框选择菜单尺寸适配方式,保存。主题 JSON 的核心字段:
{ "theme": { "font": "WenQuanYi Micro Hei", "fontsize": 36, "textcolor": "#00FF66", "seltextcolor": "#FFFF00", "bordercolor": "#333333", "menuwidth": 720, "menuheight": 480, "menupos": "center" } }预期结果:重启进 Ventoy 菜单即生效——深色底、荧光绿菜单、选中项高亮为黄色;font缺失的字符会回退显示,页面会提示文件是否有效。
任务 5:菜单别名与分类
操作:在"菜单别名"页把/ISO/Fedora-Workstation-Live-39-1.1.x86_64.iso显示名改为Fedora 39 桌面版;"菜单分类"页按目录生成层级菜单。
预期结果:启动菜单里显示你输入的中文名,长文件名被收敛;目录层级直接映射为菜单层级,无需再重命名文件。
实战场景:给团队公共U盘加"分区锁"
把上面几个功能串起来,做一个真实场景:U 盘在办公室流转,系统镜像随意选,但 Windows 安装镜像和自定义驱动目录只有管理员能用。
- 通用层:
bootpwd留空(任何人可进菜单),避免门槛过高。 - 文件层:菜单密码新增两条
parent记录——/ISO/Windows/与/ISO/Drivers/,分别设置不同口令,分发给两位管理员。 - 架构层:切到
password_uefi标签页再复制一份同样规则,保证 UEFI 启动路径下同样受保护(BIOS 模式走默认页)。 - 兜底:
wimpwd设一个弱口令,万一漏配parent,WIM 类文件也不会裸奔。 - 验证:把U盘插到另一台机器,BIOS/UEFI 各启动一次,确认选到受保护项时出现密码提示框、其余条目直接进入。
全程未手改一行 JSON,所有校验(路径是否存在、大小写)都由页面完成。
常见问题:现象 → 原因 → 解决
现象 1:脚本报/dev/sdX is NOT Ventoy disk.原因:该盘没写入过 Ventoy,或插错盘。解决:对照lsblk的型号/容量确认盘符;确实是新盘的话,先用 Ventoy2Disk 安装 Ventoy 再回来。
现象 2:报is NOT mounted, please mount it first!原因:数据分区(/dev/sdc1)未挂载。解决:sudo mount /dev/sdc1 /mnt后重启服务;卸载 U 盘前记得sudo umount /mnt。
现象 3:浏览器打不开 24681 端口原因:服务默认只绑 127.0.0.1;或已有旧服务占用。解决:跨机器访问改用sudo bash VentoyPlugson.sh -H 0.0.0.0 -P 24681 /dev/sdc;提示Another ventoy server is running now时用ps -ef | grep Plugson找到旧进程并结束。
现象 4:密码保存了,启动时却不提示原因:路径大小写不匹配、选了错误的架构标签页,或该文件没被任何规则命中。解决:回到密码页核对状态列的校验结果;UEFI 启动的机器检查是否只把规则写在了默认password页而当前走的不是默认分支。
现象 5:持久化没生效原因:.dat文件系统损坏、ISO 本身不支持持久化、或镜像要求特定内核参数。解决:用file /mnt/persist/fedora39.dat确认是 ext4;换一个已知支持的发行版 ISO 交叉验证;必要时在"启动项注入"页为该 ISO 追加内核参数。
进阶技巧与最佳实践
- 改前备份:所有配置都落在数据分区的
/ventoy/ventoy.json,养成习惯:sudo cp /mnt/ventoy/ventoy.json /mnt/ventoy/ventoy.json.bak手滑改坏时直接还原,比在页面上逐条撤销快得多。
- 口令存储格式:菜单密码支持明文(
txt#口令)与 MD5(md5#散列值、md5#盐#散列值)三种写法,公共场合流转的U盘建议用 MD5 形式,避免拔盘即泄露口令。 - 安全边界:Plugson 是本地管理工具,没有登录鉴权。
-H 0.0.0.0只建议在可信内网短时使用,用完回到 127.0.0.1,切勿把端口暴露到公网。 - 可复现性:把自定的主题 JSON、持久化
.dat制作脚本随U盘一起放在/ventoy/下,换电脑重配时照抄即可。
写在最后
VentoyPlugson 把"改 ventoy.json 全靠记字段"这件事变成了点选加校验:密码按文件/目录/架构分层、持久化与自动安装一页配齐、主题一份 JSON 即换肤。按本文的任务顺序走一遍,你的启动U盘就会从一个"能启动"的集合,变成一个带访问控制、可定制、能存数据的完整工具盘。
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考