#e:d:b:9:e:0:2:a:c:7:1:5:8:e:0:3:0:9:1:7:6:a:1:2:e:0:b:d:1:b:3:e#
Ventoy是一个制做可启动硬盘的开源工具。有了Ventoy你就无需反复地低格硬盘,你只须要把ISO文件拷贝到硬盘上面就可以启动了,无需其他操作。你可以一次性拷贝好多个不同类型的ISO文件,在启动时Ventoy会显示一个菜单来选择。无差别支持Legacy BIOS和UEFI模式。目前早已测试了各种超过200+ 个ISO文件,
背景介绍
从相关文档中可以晓得,Ventoy在启动时会基于ISO文件创建一个虚拟设备之后启动它。但是这个虚拟设备仅仅是BIOS层面的(Legacy或则UEFI)。大多数情况下它只在启动阶段存在。绝大多数现代操作系统的内核在启动以后都是使用它们自身的驱动来访问硬件,因此这个虚拟设备对于内核来说是不可见的。一般情况下,ISO上面的系统上去以后会遍历所有的硬件设备(CDROM/USB/HD …) 去找寻安装源。但是在Ventoy启动的环境下是找不到的,因为没有这样一个实际的安装介质,是虚拟的设备嘛。但是系统内核不知道这个情况,它们不知道当前是 Ventoy使用虚拟设备引导上去的,并不是传统的数学硬盘或则硬盘引导上去的。所以,如果不做特殊处理的话,大部分ISO文件启动之后还会报找不到安装源的错误而停止。因此,Ventoy必须做好多hook的工作,帮助内核找到、挂载安装源。其实就是告诉内核,当前是Ventoy从一个虚拟的设备引导上去的,你的安装源并不在常规的介质中,而是在XX硬碟的XXX.iso文件, 你把它挂载上去当作安装源就可以啦。。。。。但是这个hook工作是极其无趣并且麻烦的,因为系统种类实在太多并且有各种各样的特殊情况。
Ventoy Compatible 概念
实际上,Ventoy在启动之前,把相关的信息都保存在了运行时显存中(保留内存段),同时还提供了一个工具可以在系统下获取这种信息。这样,操作系统调用一下这个工具就可以晓得,当前是Ventoy环境启动的,而且能够详尽晓得是基于那个c盘的那个ISO文件启动而至的。这样,系统就可以直接去找到对应的ISO文件,挂载上去作为安装源就可以了。不需要再用常规的方法去找寻。当然,如果是常规方法启动上去的,系统下调用这个工具是获取不到任何数据的,这种情况下就根据常规的启动步骤往下走就可以了。
因此,如果ISO上面的系统集成了这个工具,并且做了上述处理的话,对于Ventoy就很简单了,只须要做好这个虚拟设备就可以了,不用再吃力做这些hook工作了。另一方面,还有一个问题就是,就算ISO上面的系统做了那些工作,Ventoy如何晓得呢?因此Ventoy提供了几种方法让ISO文件来标示自己。
我把集成了这个工具而且做了上述处理的操作系统或则ISO文件称之为“Ventoy Compatible”的。
Ventoy 特点使用说明
下载安装包,例如 ventoy-1.0.00-windows.zip 然后解压开。
直接执行Ventoy2Disk.exe如下图所示,选择硬盘设备,然后点击 Install 按钮即可。
#9:1:4:8:2:c:e:d:5:7:c:4:3:4:7:b:a:a:5:2:7:e:8:0:c:8:4:f:8:1:2:1#
安装包内 Ventoy 版本:当前安装包中的Ventoy版本号
设备内部 Ventoy 版本:U盘中已安装的Ventoy版本号,如果为空则表示未安装
安装:把Ventoy安装到硬盘,只有第一次的时侯须要,其他情况就只须要Update升级即可
升级:升级硬盘中的Ventoy版本,升级不会影响ISO文件
下载安装包,例如 ventoy-1.0.00-linux.tar.gz, 然后解压开.
在终端以root权限执行sh Ventoy2Disk.sh -i /dev/XXX 其中 /dev/XXX 是硬盘对应的设备名,比如 /dev/sdb
#5:b:c:f:b:0:a:e:7:f:a:5:4:c:7:f:d:0:8:6:2:0:7:b:b:c:d:0:8:5:e:a#
针对Linux系统有几点须要特殊说明一下:
1. 执行脚本时须要有root权限, 对一些系统例如ubuntu/deepin 执行的时侯须要在上面加 sudo 比如sudo sh Ventoy2Disk.sh -i /dev/sdb
2. 必须cd到ventoy解压以后的目录下执行此脚本
3. 请勿必输入正确的设备名称,ventoy不会检测你输入的设备是硬盘还是本地硬碟,如果输错了有可能会把你的系统盘低格掉哦!
请注意:选择安装的时侯,U盘将会被低格,里面所有的数据就会遗失!
你只须要安装一次Ventoy即可,剩下的就只须要把各类ISO文件拷贝到硬盘中就可以了.
你也可以把它当作普通硬盘使用,保存普通文件,不会影响Ventoy的功能。
安装完成以后,U盘会被分成两个区。第一个分区将会被低格为exFAT文件系统,你只须要把ISO文件拷贝到这上面即可。你可以把ISO文件置于任意目录以及子目录下。Ventoy会遍历所有的目录和子目录,找出所有的ISO文件,并根据字母排序然后显示在菜单中。
请注意:ISO文件的全路径中(包括目录、子目录和文件名)不能包含英文或则空格
如果Ventoy发布了新版本以后,你可以点击 Update 按钮进行升级,或者Linux系统中使用 -u 选项进行升级。
需要说明的是,升级操作是安全的,不会影响原有的ISO文件
更新日志
vtoyboot-1.0.8发布。说明
vdiskchain-1.2发布。说明
当ventoy.json文件放错分区时显示一个提示信息。
当 ISO 文件大小非法时显示告警提示信息。
修复了 secureboot 使能时启动 vdisk 文件的一个BUG (issue #714)
VentoyLiveCD 从 i686 升级到 x86_64
优化了slax系统的启动过程。
新增image_blacklist选项。说明
新增ISO文件支持
启动扫描文件时复印一个提示信息(避免被误觉得卡死)
优化了启动 TinyCore 系列系统。
修复了一个会误报 ISO 文件大小不合法的 BUG。
优化了安全启动开启的情况下 vtoyboot 的处理流程。
新增 ISO 支持
下载地址
或(蓝奏云)
(天翼云)
提取码: vtoy(百度网盘)