VentoyWorker.sh 完全指南:4 条命令修好你的 Ventoy 启动盘
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
你的 Ventoy 启动盘突然进不了启动菜单了:BIOS 里识别不到设备,或者进菜单后选啥都黑屏。别急着重做,先跑一条VentoyWorker.sh的命令看清盘里到底是什么状态,再决定是安全更新还是彻底重建。本文带你把这个脚本 4 个最常用模式全部跑一遍。
它是什么,解决什么问题
VentoyWorker.sh 是 Ventoy 在 Linux 下的命令行安装/维护核心,真正干活的就是这个脚本;你平时敲的Ventoy2Disk.sh只是它的入口包装。
它解决的问题很具体:Ventoy 启动盘写坏后没有 GUI 可用,而 U 盘里又是 exFAT 分区加一块隐藏的引导区,直接删分区重建很容易把引导数据写丢。这个脚本直接操作磁盘扇区和分区表,把"检查、更新、重建"三件事封装成 4 个开关,出错也只在确认提示处拦你一下,不会静默写坏别的设备。
跑起来之前
- 一台能进命令行的 Linux 机器(Windows 用 WSL 也行)
- 一个空 U 盘或确定可以丢弃数据的 U 盘,容量 8GB 以上
- root 权限,命令前加
sudo - 系统里装有
parted(GPT 模式必需)或fdisk(MBR 模式可用) - 使用 Ventoy 官方发行包解压后的目录:脚本启动时会检查
boot/boot.img是否存在,找不到会直接提示 "Please run under the correct directory!" 退出
验证环境是否就绪,先看当前架构和分区工具是否可用:
uname -m && which parted fdisk dd输出里x86_64加上三个工具路径都存在,就可以往下走了。
最小可行操作
进发行包目录,给 U 盘装一次 Ventoy(以/dev/sdb为例,先用lsblk确认盘符):
sudo sh Ventoy2Disk.sh -i /dev/sdb警告:这条命令会清空 /dev/sdb 上的所有数据,执行前务必确认盘符。
脚本会连续两次询问Continue? (y/n),都输入y后它先擦除盘头,再写 MBR 引导区和 exFAT 分区,最后输出:
Install Ventoy to /dev/sdb successfully finished.看到这一行,U 盘就成了 Ventoy 盘:把 ISO 直接拷进去,插到任何机器上就能选系统启动。
核心能力按场景拆 🛠
查状态:这个 U 盘现在是什么版本
盘插上但行为怪异时,先用-l看版本、分区样式和安全启动支持,只读操作,不写盘:
sudo sh Ventoy2Disk.sh -l /dev/sdb预期输出:
Ventoy Version in Disk: 1.0.99 Disk Partition Style : MBR Secure Boot Support : YES如果输出Ventoy Version: NA,说明盘里根本不是 Ventoy(或已损坏),该走安装而不是更新。
修引导:版本升级但 ISO 文件一个不动
引导区损坏或想用新版脚本时,用-u做安全更新。脚本会保留第一分区里的全部 ISO 文件,只重写 MBR 引导扇区和第二隐藏分区,结束提示:
Update Ventoy on /dev/sdb successfully finished.sudo sh Ventoy2Disk.sh -u /dev/sdb彻底重建:分区表乱了就 -I
当-l查不出版本、-u也救不回来时,用大写-I强制重装,效果等同-i但跳过"盘已有 Ventoy"的拦截:
sudo sh Ventoy2Disk.sh -I /dev/sdb警告:-I 会格式化整个 U 盘,原有 ISO 和数据全部丢失,提前拷出来。
给老 U 盘留空间:-r 和 -n
U 盘上原有分区还有数据、不想全丢时,加-n尝试非破坏性安装:脚本会检查剩余空间是否够 32MB 的 Ventoy 引导区,不够会尝试收缩第一分区(支持 NTFS 和 EXT2-4)。想给别的用途预留磁盘尾部空间,再配上-r(单位 MB):
sudo sh Ventoy2Disk.sh -n -r 1024 /dev/sdb大 U 盘和 Secure Boot:-g、-s/-S
超过 2TB 的盘 MBR 撑不住,脚本会直接报$DISK is over 2TB size, MBR will not work on it.,这时加-g走 GPT 分区(需要parted):
sudo sh Ventoy2Disk.sh -g -I /dev/sdb需要控制 Secure Boot 支持(默认开启)时,安装或更新前加-s显式启用、-S显式关闭;更新不加时脚本会沿用盘内原有设置,不会偷偷改。
高频坑 & 一条命令修
报错:/dev/sdb is already mounted, please umount it first!原因:U 盘分区还被系统自动挂载着。先看挂载点再卸掉:
mount | grep /dev/sdb && sudo umount /dev/sdb1 /dev/sdb2报错:Currently Ventoy does not support 4K native device.原因:这块 U 盘是 4K 原生扇区,Ventoy 暂不支持。没有命令可修,换一根 512 字节扇区的 U 盘即可。
报错:/dev/sdb1 is a partition, please use the whole disk.原因:参数写成了分区号。Ventoy 必须操作整盘,去掉末尾数字:
sudo sh Ventoy2Disk.sh -i /dev/sdb报错:No enough space in disk /dev/sdb原因:盘容量小于 Ventoy 引导区固定占用的 32MB(65536 个扇区)。换更大的盘,或确认没有把参数填错成小容量设备。
想深入去哪
- 入口脚本:INSTALL/Ventoy2Disk.sh,看它如何按 CPU 架构选工具目录并解压工具
- 核心逻辑:INSTALL/tool/VentoyWorker.sh,4 个模式的完整参数解析和扇区写入顺序都在里面
- 公共函数:INSTALL/tool/ventoy_lib.sh,
is_disk_contains_ventoy等判断盘是否 Ventoy 的实现 - 打包机制:INSTALL/ventoy_pack.sh,看
boot.img和ventoy.disk.img.xz是怎么生成的
下一步建议:装好 U 盘后,再打开 INSTALL/ 目录下的VentoyWeb.sh和VentoyPlugson.sh,把 Web 端配置和插件界面也配起来。
【免费下载链接】VentoyA new bootable USB solution.项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考