Ventoy 启动盘无法启动怎么办:VentoyWorker.sh 完整修复教程与命令选项清单
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
上周的例会上,一位同事的 64GB U 盘插到任何机器上都只能被识别成普通分区,Ventoy 启动菜单彻底消失——典型的 Ventoy 启动盘损坏。好消息是,Ventoy 自带的免费命令行工具 VentoyWorker.sh 就是为此准备的:配合入口脚本 INSTALL/Ventoy2Disk.sh,先查状态、再做最小化修复,大多数情况不需要重装 U 盘,更不需要动你的 ISO 文件。
动手之前,先弄清 VentoyWorker.sh 是什么
VentoyWorker.sh 不是一个独立程序,而是 Ventoy 安装包里的一段修复逻辑,位于 INSTALL/tool/VentoyWorker.sh。它的工作方式是直接读写整块磁盘:
- 读取盘上的版本号、MBR/GPT 分区样式、Secure Boot 状态;
- 校验磁盘是否挂载、是否被 swap 占用、权限是否足够;
- 重写引导扇区(boot.img/core.img)和隐藏的 Ventoy 数据分区。
注意两点:它必须在安装包的根目录下运行(否则脚本会直接提示 "Don't run Ventoy2Disk.sh here"),且参数永远传整块磁盘(如/dev/sdb),传分区名/dev/sdb1会被明确拒绝。
开始操作前的三件事
- 环境:一台 Linux 机器,root 权限(或 sudo);U 盘建议容量不小于 8GB。
- 依赖:解压好的 Ventoy 安装包(含
tool/目录)、parted(GPT 安装时必需,MBR 下与fdisk二选一)、xzcat、mkexfatfs、blkid。 - 确认设备名:插上 U 盘后运行
lsblk,对照容量确认是/dev/sdb还是/dev/sdc。这一步值得多花十秒。
三步快速修复:先查状态,再最小化动作
第一步:只读查看磁盘状态
-l是纯读取命令,不会写入任何数据,可以对着任何磁盘安全运行。它输出盘内 Ventoy 版本、分区样式(GPT/MBR)和 Secure Boot 支持情况:
sudo sh INSTALL/Ventoy2Disk.sh -l /dev/sdb # -l 只读查询;/dev/sdb 换成 lsblk 确认的整盘设备名如果输出Ventoy Version: NA,说明脚本已经认不出这块盘上的 Ventoy,进入第三步评估。
第二步:认得出版本,就用 -u 安全更新
只要版本还能读出来,绝大多数"启动菜单消失"的问题都能靠-u解决。它会重写引导区和隐藏分区,但第一分区里的 ISO 和其他数据保持不动,执行前会打印一句"Upgrade operation is safe":
sudo sh INSTALL/Ventoy2Disk.sh -u /dev/sdb # -u 原地更新 Ventoy 引导组件,保留第一分区全部文件第三步:实在救不回来,才考虑 -I 重建
-I是强制重装,⚠️ 会抹掉整块盘上的所有数据。脚本会连续两次要求你确认 "All the data on the disk ... will be lost!!!",两次都回答y才真正执行:
sudo sh INSTALL/Ventoy2Disk.sh -I /dev/sdb # -I 强制重装:清空全盘、重建 MBR、重写引导与隐藏分区普通空盘首装则用不带 F 的-i(若盘上已有 Ventoy 会拒绝执行并建议改用-u),避免手滑覆盖。
按使用频率拆解全部选项
| 选项 | 动作 | 典型使用时机 |
|---|---|---|
-l | 只读查询版本/分区样式/Secure Boot | 每次动手前 |
-u | 安全更新,保留第一分区数据 | 启动失败但版本可识别 |
-i/-I | 安装 / 强制重装 | 空盘首装 / 彻底损坏重建 |
-n | 非破坏性安装 | 盘内有旧分区,想保留 |
-g | 使用 GPT 分区样式 | 容量超过 2TB |
-r 数值 | 盘尾预留空间(MB) | 安装时给其他工具留地 |
-s/-S | 启用 / 禁用 Secure Boot | 支持默认开启,可显式切换 |
-L 标签 | 命名第一 exFAT 分区 | 多块 U 盘需要区分 |
最常用:-l、-u、-i、-I 四件套
上文已覆盖。记住一条判断线:能读出版本就-u,读不出且数据不重要才-I。
偶尔用到:给安装过程做"定制"
-g用 GPT 代替默认 MBR:超过 2TB 的盘走 MBR 会被脚本直接拦下("MBR will not work on it"),此时加-g即可,且 GPT 模式强制要求系统装有parted:sudo sh INSTALL/Ventoy2Disk.sh -g -I /dev/sdc # -g 指定 GPT 分区表;配合 -I 在大容量盘上重建-s/-S切换 Secure Boot 支持:安装时默认启用。如果你确定目标机器走传统引导、想要更小的 EFI 分区,可以用-S显式关闭;也可以不重装、只在更新时切换:sudo sh INSTALL/Ventoy2Disk.sh -S -u /dev/sdb # -S 关闭 Secure Boot 支持,-u 表示不重装、只更新-r 1024预留空间:仅在安装时有效,在盘尾空出 1024MB 给其他用途,例如:sudo sh INSTALL/Ventoy2Disk.sh -r 1024 -i /dev/sdb-L给第一分区起名字:默认标签是Ventoy,多块启动盘时可以改成便于肉眼区分的名称。
低频但有用:-n 非破坏性安装
-n让 Ventoy 尝试"挤"进现有布局:检查第一分区的文件系统(目前仅支持 NTFS 和 EXT2/3/4),必要时调用ntfsresize/resize2fs将其缩小 32MB,腾出空间写入 Ventoy 隐藏分区——旧文件得以保留。前提是盘上还没有 Ventoy,且系统装好对应工具包(ntfs-3g 或 e2fsprogs)。
这三类报错,按图索骥
提示 "is already mounted, please umount it first"盘或它的分区正被挂载(脚本同样会拦 swap 占用)。先定位再逐个卸载:
mount | grep /dev/sdb # 找出挂载点 sudo umount /dev/sdb1 /dev/sdb2 # 卸载对应分区提示 "Currently Ventoy does not support 4K native device"Ventoy 目前不支持 4Kn(原生 4K 扇区)设备,脚本会在安装前主动检测并中止。解决办法只有一个:换用 512 字节扇区的 U 盘。
提示 "No enough space in disk /dev/sdX"盘容量低于 Ventoy 引导数据加隐藏分区的最低需求。换更大的盘,或在有旧分区的盘上改走-n非破坏性安装复用空间。
另外若看到 "is a partition, please use the whole disk",说明你传了分区名——改回整盘设备即可。
敲命令前,把安全红线看一遍
-I和-i面向整块磁盘,执行前把lsblk输出和设备名对照两遍,错认一个字母就是全盘数据丢失;- 盘内有价值数据时,永远先备份,再谈修复;
- 修复完成后先执行
sync让数据落盘,再拔 U 盘; - 过程中保持供电稳定,不要合盖休眠——写到一半断电比故障本身更难恢复。
继续探索
想弄明白每个扇区偏移和确认提示背后的逻辑,直接读 INSTALL/tool/VentoyWorker.sh 全文;想弄清安装包是如何组装的,看打包脚本 INSTALL/ventoy_pack.sh。更底层的扇区工具(vtoytool、vtoygpt 等 C 源码)集中在 VtoyTool/ 与 vtoygpt/ 目录。完整获取源码可以执行:
git clone https://gitcode.com/GitHub_Trending/ve/Ventoy修完一块盘之后,不妨养成习惯:定期用-u跟上版本,用-l随手记录每块启动盘的状态——下次再遇到"插上去没反应",你手里就已经有答案了。
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考