开源的全能维护 U 盘工具:Ventoy

2023-11-09 17:28:23 浏览数 (1)

本篇文章聊聊迄今为止,我用着最舒服的一款开源 U 盘启动工具,Ventoy。

写在前面

好久不见,接下来计划写一个比较连续的内容,就先从最小的处着手吧。

经过长久的折腾,除非我们是在 ESXi 或者 PVE 这类虚拟机环境中维护操作系统,否则不论是购置新硬件设备,还是计划着手对家里的老设备进行系统翻新,系统安装盘总归是绕不开的一个话题。

折腾使用的 U 盘

但如果你的设备需要安装不同的操作系统,或者不同版本的操作系统,就需要准备多个安装光盘或者安装 U 盘了,即使 U 盘可以重新擦除,反复制作不同操作系统或者不同版本的操作系统的镜像,安装起来也总归是比较麻烦的。

关于安装 U 盘的折腾笔记,你可以参考这篇文章:《硬件笔记:组装“固态 U 盘”的八年,从 100 块到 1000 块[1]》,这里就不再赘述。

为了减少不必要的安装盘的刷写操作,我们可以借助一款开源的优秀工具:Ventoy。

开源项目:Ventoy

使用它来将你的普通 U 盘变成可启动的 U 盘,你只需要将你想要引导的操作系统镜像文件扔到 U 盘中,就能够完成操作系统的启动,而无需重复制作启动盘。如果你有多个不同版本的操作系统,那么只需要把不同的操作系统的镜像都放在 U 盘里就好了,它会自动扫描可引导的镜像文件,生成可供用户选择的启动列表。

兼容性非常棒

同时,作者对他的兼容性做了非常多的工作,从传统的 x86 BIOS 引导到现代的各种 UEFI 引导它都支持,支持上千个系统的引导,覆盖了 distrowatch.com 最流行操作系统中的 90%[2]

不过,在开始使用前,我们首先要明确哪些场景使用它不会带来效率提升。

不适合的场景

如果你手头的电脑或者接触到的设备,都是最近十年的设备,那么你可以放心使用 Ventoy。

但如果你希望使用它通杀二十年左右的设备,可能需要额外注意一些事情,包括你的 U 盘尺寸过大,或者不支持 USB 3.0 协议,只支持古早的 USB 2.0 ,或者设备供电不足,也可能导致启动失败。

如果你是 Windows 或者 Linux 用户,那么你使用 Ventoy 将会非常顺滑,但如果你是 Mac 全家桶用户,尤其是最近两三年的 M1 / M2 / M3 用户,连 Windows 虚拟机使用都比较麻烦的情况下,想使用 Ventoy 就需要费一些周折啦。

包括,如果你希望快速安装 macOS 操作系统,Ventoy 也并不是最优解,虽然它可以。

如果你使用了比较大的 U 盘或者 SSD 移动硬盘(2TB或以上),可能因为硬盘盒、设备 BIOS 限制,导致无法正常使用。

此外,如果你这块 U 盘或者硬盘还会当作一般的数据盘使用,比如在工作机、打印店的电脑上来回移动,那么其实有一些概率会遇到十年前很流行的 U 盘“病毒”,或者不慎点击到“勒索病毒”程序,我个人并不是十分建议在有这类场景的情况下,做 AIO (All In One)工具盘,因为可能会因为意外导致数据盘中的文件尽失,虽然 Ventoy 并不会被损坏,将引导光盘 ISO 等重新复制到数据盘中即可,但是数据盘中的文件越多,需要重新折腾的时间就会越久。

好了,上面大概是我使用过程中遇到的一些问题,如果你的场景不存在上述问题,或者可以使用其他方式规避一些情况,那么就可以愉快的进行下面的 Ventoy 工具 U 盘制作啦。

最速上手

为了最快的完成 Ventoy 工具盘的制作,建议使用 Windows 操作系统作为折腾环境。我的 Windows 环境是在之前使用老的 Intel MacBook Pro 里的虚拟机制作的放在 U 盘里的 Win11ToGo,插在平时调试本地模型使用的台式机上。

软件最新发布版本 1.0.96

首先,访问项目的程序发布页面[3],获取最新的程序版本,截止文章发布时候,最新的版本是 1.0.96。

初始化启动盘

下载“ventoy-1.0.96-windows.zip”,然后在本地解压缩后,执行文件夹中的 “Ventoy2Disk” 程序。

Ventoy 默认界面

默认界面十分简单,几乎只有设备列表可以下拉筛选,以及“安装”按钮是可点击的。不过,建议先点击不起眼的“配置选项”菜单,根据自己的情况做一些细节调整。

Ventoy 下拉菜单

如果你之前安装过其他的 PE 操作系统,或者磁盘本身就具备引导功能,为了能够顺利创建启动 U 盘,建议点击这个下拉菜单中的“清除 Ventoy”,先将磁盘完整格式化一遍,并清除所有隐藏分区中的数据。

Ventoy 文件系统支持

在下拉菜单中,我们还可以根据自己的需求,调整启动分区的文件类型:

•如果你的 “U 盘” 容量比较大(比如大于等于 2TB)请选择 GPT 分区类型,否则可以保持 MBR 分区;•如果你希望你的 U 盘只在 Windows 下愉快使用,可以考虑在“分区设置”中将文件系统从默认的 exFat 改为 NTFS;•如果你希望你的 U 盘在古早的设备中也能比较好的支持,可以选择 FAT 格式的分区,唯一的代价是不能存放大于 4GB 的光盘文件;•如果你希望完全模拟光盘,可以考虑使用 UDF (通用光盘格式)分区;•除此之外,默认使用虽然可能存在丢失文件的可能性的 exFat 也未尝不可,因为这个 U 盘大概率也就只放安装文件罢了。

Ventoy 启动盘制作完毕

完成调整之后,再次确认要安装 Ventoy 的磁盘设备后,点击安装按钮,即可完成 Ventoy 的安装。

创建一个存放镜像的目录

我个人不太喜欢镜像散落在盘根,所以一般会新建一个名为 iso 的目录,然后将镜像文件复制到目录中。

复制启动镜像文件

在完成 Ventoy 启动盘的安装后,我们将一些系统的安装镜像复制到 U 盘中,等待镜像复制完毕,某一种或几种系统的安装/启动 U 盘就制作完毕了(拷贝即安装,是不是很方便)。你可以也将你喜欢的 PE 系统或者 Linux LiveCD 复制到 U 盘中,制作一个万能 PE 合集,而剩下来的 U 盘空间,作为传统 U 盘使用也未尝不可,但和上文中提到的一样,因为 U 盘的使用场景不确定,存在一些文件被篡改风险,会浪费时间来回重新折腾,所以不建议这样使用。

启动列表

为了演示启动效果,我在 U 盘中拷贝了两个镜像,分享是 Windows 11 和 Ubuntu 的安装镜像,将 U 盘插到目标设备后,重启设备,选择 U 盘启动,我们就能够看到一个简洁的启动界面了,界面中会根据我们 U 盘中的镜像来动态的生成启动列表。选择不同的镜像就能实现不同的操作啦。

其他

聊聊 “U 盘选择”,和这个看起来“十分简单”的项目吧。

U 盘的选择

考虑到前文提到的“设备兼容性”,以及系统安装效率,在常用的安装工具盘的容量上,我选择了 32GB,一块很古早的三星 32GB MLC 硬盘,某宝不到 40 块钱,几乎我常用的所有的设备都能正常使用。

搭配之前文章《硬件笔记:组装“固态 U 盘”的八年,从 100 块到 1000 块[4]》中,我提到的 jiayi 的硬盘盒(相对便宜的版本,69 块),主控是 VLI716 (支持网上的量产工具) ,可以使用 SATA3 和硬盘进行交互,支持 UASP 协议。

硬盘信息

组装完毕,使用Crystal DiskInfo 查看信息如图所示。

简单聊聊项目

这个项目虽然使用起来简单,但其实这个项目里整合了非常多的、实用的、大名鼎鼎的开源项目,除了常见的 Grub 和 BusyBox 外,还有它们:

Tiny Core Linux[5]:20MB 左右的能够通过有线连接互联网的 Linux 桌面环境,在项目中,用于做 LiveCD,开源协议为 GPL v3.0。•fat_io_lib[6]:FAT16/32 文件操作系统库,纯 C 实现的 FAT16 & FAT 32 操作系统驱动,支持文件读写,使用 GPL v3.0 协议开源。•Squashfs[7]:Squashfs 文件操作系统,以及创建和提取 Squashfs 文件系统的工具,使用 GPL v2.0 协议开源。•NTFS 3G[8]:安全的 NTFS 文件系统驱动,支持 NTFS 文件的读写,使用 GPL v2.0 协议开源。•exFat[9]:免费的 exFat 文件系统实现,使用 GPL v2.0 协议开源。•Win Boot[10]:能够加载文件类型为.win 的 WinPE 文件并启动的启动加载器,用于启动能力增强,开源协议为 GPL v2.0。•XZ Embedded[11]:XZ 压缩文件解压缩工具,作者使用放任自流的约定。•zstd[12]:Facebook 开源的一种实时无损压缩算法,针对 zlib 级别的实时场景压缩提供更好的压缩比,使用 GPL v2.0 协议开源。•vblade[13]:简单可靠的,提供 AoE 协议的网络存储功能,让 PXE 功能得以实现,使用 GPL v2.0 协议开源。•civetweb[14]:小巧的嵌入式 HTTP 服务器,让用户使用浏览器就能够维护 Ventoy,因为依赖多种开源软件,使用多种开源协议开源。•Porteus Kiosk[15]:增强界面功能,使用 GPL v2.0 协议开源。

除此列表中的软件,还有很多软件,可以在编译说明文档[16]中看到,作者在网站文档中也有一些提及[17]

硬盘分区模式

Ventoy 的分区格式的设计[18]还是非常合理的,以MBR 为例(GPT 类似),在磁盘最前端保存分区表,最后端保存 EFI 启动使用的分区和 Ventoy 相关程序,中间部分作为数据盘,提供给用户使用,让用户存放安装镜像文件或者普通数据。

除此之外,Ventoy 的插件系统的设计[19],也挺实用的,使用声明配置的方式,允许用户在有限范围对 Ventoy 进行必要调整:包括了赏心悦目的外观配置(主题、字体、菜单界面自定义),能够将 LiveCD 中的数据持久化的插件(Live CD 当普通系统使用)、Windows VHD 启动插件(Win2Go 基础)、用于自动部署使用的自动部署插件等等。

以及,更现代化的 PXE 服务器版本的 Ventoy:iVentoy。

最后

这篇文章就先写到这里吧,接下来的几篇文章,或许,我们会用 Ventoy 来开启一些有趣的硬件。

--EOF

引用链接

[1] 硬件笔记:组装“固态 U 盘”的八年,从 100 块到 1000 块: https://soulteary.com/2023/09/16/eight-years-of-assembling-solid-state-usb-disk-from-100-to-1000.html [2] distrowatch.com 最流行操作系统中的 90%: https://distrowatch.com/dwres.php?resource=popularity [3] 程序发布页面: https://github.com/ventoy/Ventoy/releases [4] 硬件笔记:组装“固态 U 盘”的八年,从 100 块到 1000 块: https://soulteary.com/2023/09/16/eight-years-of-assembling-solid-state-usb-disk-from-100-to-1000.html [5] Tiny Core Linux: http://www.tinycorelinux.net/ [6] fat_io_lib: https://github.com/ultraembedded/fat_io_lib [7] Squashfs: https://github.com/plougher/squashfs-tools [8] NTFS 3G: https://github.com/tuxera/ntfs-3g [9] exFat: https://github.com/relan/exfat [10] Win Boot: https://github.com/ipxe/wimboot [11] XZ Embedded: https://tukaani.org/xz/embedded.html [12] zstd: https://github.com/facebook/zstd [13] vblade: https://github.com/OpenAoE/vblade [14] civetweb: https://github.com/civetweb/civetweb [15] Porteus Kiosk: https://porteus-kiosk.org/index.html [16] 编译说明文档: https://github.com/ventoy/Ventoy/blob/master/DOC/BuildVentoyFromSource.txt [17] 一些提及: https://www.ventoy.net/cn/doc_composition.html [18] 分区格式的设计: https://www.ventoy.net/cn/doc_disk_layout.html [19] 插件系统的设计: https://www.ventoy.net/cn/plugin_entry.html

0 人点赞