☰
手把手制作 Ventoy 多系统启动U盘:从安装到定制与故障排查
2026/11/3 14:04:06 网站建设 项目流程

手把手制作 Ventoy 多系统启动U盘:从安装到定制与故障排查

【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy

Ventoy 是一款开源的多架构启动盘方案:一次安装后,同一块U盘可直接启动多个 ISO/WIM/IMG/EFI 镜像,无需反复格式化。本文将带你完成 Ventoy 启动U盘在 Linux 下的完整流程——安装到真实磁盘、复制镜像、定制启动菜单,以及常见故障的处理方法。

📋 为什么选择 Ventoy:一块U盘启动多个系统

是不是每次想装个新系统,都得把U盘重新格式化一遍?传统做法是"一张U盘对应一个镜像":写入一个发行版,换另一个就得重新格式化,超过 4GB 的镜像在 FAT32 下还根本拷不进去。Ventoy 用双分区结构解决了这个问题:第一分区是引导分区(约 32MB,exFAT),存放引导加载器和配置;第二分区是数据分区,装好之后它就是一块普通磁盘,镜像文件随放随启动。

两种方式的核心差异如下:

对比维度传统做法(每镜像写入一次)Ventoy 启动U盘
制作操作每新增镜像都要重新格式化写入一次安装,镜像随时增删
文件大小限制FAT32 单文件上限 4GB数据分区默认 exFAT,无 4GB 限制
架构兼容工具多只针对单一架构同一块盘支持 x86/x86_64/ARM64/MIPS64EL UEFI 引导
数据保留格式化清空全部数据仅重建引导分区,数据分区不受影响
镜像管理无支持菜单别名、目录分类、自定义主题

🛠️ 三步安装到U盘

第一步:确认真实设备路径

先列出块设备,确认U盘是哪个。这里最容易出错的是把分区当成整盘传参:

# 查看磁盘与分区树,U盘通常是 /dev/sdb 或 /dev/sdc lsblk -o NAME,SIZE,FSTYPE,LABEL,MODEL

必须传整盘设备(如/dev/sdb),不能传分区(如/dev/sdb1)。脚本内置了校验,传错会直接报错退出;但装错盘会清掉整块盘的数据,执行前请务必核对容量和型号。

第二步:执行安装

进入包含Ventoy2Disk.sh的目录(发行版安装包解压后的根目录),执行安装:

# 基本安装:-i 表示 install,目标为整盘 sudo bash Ventoy2Disk.sh -i /dev/sdb # 可选组合:GPT 分区表 + 显式开启安全启动支持 sudo bash Ventoy2Disk.sh -i -g -s /dev/sdb

几个易错参数的含义:

  • -i:安装模式。如果目标盘已装过 Ventoy,该命令会直接失败并提示
  • -u:升级模式,已装 Ventoy 的盘更新版本时用这个,不碰数据分区
  • -I:强制安装,已装过也覆盖,仅在明确要重装时使用
  • -g:用 GPT 分区表(默认 MBR)。给 UEFI 设备用时建议加上
  • **-s/-S:开启/关闭安全启动支持(默认开启)
  • -l:查看目标盘上 Ventoy 的版本信息,装完后可用

脚本会自动创建两个分区并写入引导文件,完成后数据分区会以 exFAT 格式挂出(Linux 下需系统支持 exFAT,否则可用 exfat-utils 等工具处理)。

第三步:把镜像拷进数据分区

挂载第二分区,把镜像放进去即可,支持子目录:

# 挂载数据分区(第一分区是引导分区,不要动它) sudo mkdir -p /mnt/ventoy sudo mount /dev/sdb2 /mnt/ventoy # 按发行版分目录,方便管理菜单 sudo mkdir -p /mnt/ventoy/ISO/ubuntu sudo cp ~/iso/ubuntu-22.04-live-server-amd64.iso /mnt/ventoy/ISO/ubuntu/ # 收尾卸载 sudo umount /mnt/ventoy

之后每加一个镜像,重复挂载—拷贝—卸载三步就行。重启目标机,在固件启动菜单里选择U盘,Ventoy 会扫描数据分区并列出所有镜像。

⚙️ 用 ventoy.json 定制菜单、主题与自动安装

Ventoy 的定制入口是数据分区/ventoy/目录下的ventoy.json。下面是仓库中真实格式的配置文件节选,改完保存、重启生效:

{ "control": [ { "VTOY_DEFAULT_MENU_MODE": "1" } ], "theme": { "file": "/ventoy/theme/theme.txt", "display_mode": "GUI", "ventoy_left": "5%", "ventoy_top": "95%", "ventoy_color": "#0000ff" }, "menu_class": [ { "key": "ubuntu", "class": "ubuntu" }, { "dir": "rhel", "class": "red-hat" } ], "menu_alias": [ { "image": "/ISO/ubuntu-22.04.iso", "alias": "Ubuntu 22.04 测试镜像" } ], "auto_install": [ { "image": "/ISO/windows10.iso", "template": "/ventoy/script/windows_unattended.xml" } ] }

逐字段说明:

  • control:全局行为开关的数组,元素是键值对,如控制默认菜单显示模式、是否过滤点开头的文件
  • theme:主题配置。file指向主题描述文件;display_mode取GUI(图形菜单)或TEXT(纯文本菜单,ARM 设备兼容性更好);ventoy_*三个字段控制菜单角标 Ventoy 版本信息的位置和颜色
  • menu_class:菜单分类。key按文件名关键字匹配镜像,dir按目录匹配,class指定分类显示名称
  • menu_alias:给指定镜像起别名,image是数据分区内的相对路径,alias是菜单上显示的文案
  • auto_install:无盘自动安装。选中image指定的镜像时,把template应答文件注入给安装器,实现无人值守安装

更换菜单背景与配色

theme.file指向的主题文件是 GRUB 图形主题格式,放在/ventoy/theme/下,背景图与其同目录。最小改动示例:

desktop-image: "background.png" title-text: " " message-color: "#f2f2f2" + boot_menu { left = 10% width = 80% top = 30% height = 50% item_color = "#ffffff" selected_item_color = "#f2f2f2" item_pixmap_style = "menu_*.png" selected_item_pixmap_style = "select_*.png" }

left/width/top/height控制菜单框位置与大小,item_color是普通条目颜色,selected_item_color是高亮条目颜色;菜单边框由menu_*.png、select_*.png系列九宫格图片绘制,直接替换同名文件即可换边框样式。

为 Live 镜像开启持久化

需要保留安装过程中的文件改动时,先按目标发行版的要求生成持久化文件。仓库自带生成脚本:

# 在数据分区中执行;-s 是容量(MB),-l 是分区标签,-o 是输出文件名 sudo bash CreatePersistentImg.sh -s 4096 -l casper-rw -o persistence.dat # 生成的 persistence.dat 必须与目标 ISO 放在同一目录 sudo cp persistence.dat /mnt/ventoy/ISO/ubuntu/

-l的标签值决定哪个发行版能识别它:Ubuntu 系认casper-rw,MX 等发行版用各自的标签。持久化是否生效取决于发行版对持久化的支持,不是所有 Live ISO 都支持。

🔧 常见故障与排查

现象1:执行安装提示Don't run Ventoy2Disk.sh here

  • 可能原因:当前目录缺少完整的引导文件(如在源码目录而非发行版安装包目录中执行)
  • 解决步骤:确认目录下有boot/boot.img、ventoy/、grub/等完整安装内容;没有的话使用发行版安装包中的脚本执行

现象2:-i安装失败,提示该盘已安装 Ventoy

  • 可能原因:目标盘之前装过 Ventoy,-i拒绝覆盖
  • 解决步骤:只想更新版本就用-u;确认要推倒重装才用-I(会清空引导分区)

现象3:U盘能引导进 Ventoy,但菜单里没有刚拷的镜像

  • 可能原因:镜像放进了第一分区(引导分区);或文件名不是 Ventoy 识别的扩展名(.iso/.wim/.img/.vhd/.vhdx/.efi等);或挂载后没有真正同步落盘就拔盘
  • 解决步骤:重新挂载数据分区检查镜像确实在第二分区内;核对扩展名;拷完文件执行sudo sync再卸载

现象4:安全启动的主机拒绝启动U盘

  • 可能原因:安装时未启用安全启动支持,或 MOK 密钥未注册
  • 解决步骤:用-i -s或-u重装/升级以启用安全启动支持;启动时出现 MOK 管理界面则按其提示注册密钥;排查阶段可先在固件里临时关闭 Secure Boot 验证镜像本身能否引导

总结

Ventoy 的核心思路是把"启动U盘"从一次性写入的产物变成一块可长期管理的磁盘:引导分区负责启动,数据分区负责放镜像,ventoy.json负责定制。按本文三步装好,再加别名和主题,就是一块日常可用的多系统启动盘。

下一步行动:

  • ✅ 用lsblk核对设备后,执行-i安装并记下你使用的分区表类型(MBR/GPT)
  • ✅ 往数据分区放 2~3 个不同架构的镜像,验证菜单扫描结果
  • ✅ 创建/ventoy/ventoy.json,至少配置一条menu_alias和menu_class
  • ✅ 跑通一次CreatePersistentImg.sh生成的持久化文件,确认目标发行版能识别
  • ✅ 在安全启动主机上用-u升级一次,确认 MOK 注册流程无误

【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询