如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘
Ventoy 是一个自由开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。
你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO。
你甚至可以创建子文件夹,例如 Linux ISO、Windows ISO,并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目,并将它们添加到启动菜单中。
一旦你创建完多重引导的 U 盘,使用它启动你的系统,选择你想加载的 ISO,马上就可以使用它。就是如此简单!
功能
Ventoy 有很多有用的功能,如:
- 非常容易安装和使用。
- 快速(仅受限于复制 ISO 文件的速度)。
- 你不需要解压缩 ISO 文件。直接从 ISO 文件启动即可。
- 可被安装在 U 盘/本地硬盘/SSD 盘/NVMe 盘/SD 卡中。
- 它支持 传统 BIOS、IA32 UEFI、x86\_64 UEFI、ARM64 UEFI、MIPS64EL UEFI 等(LCTT 译注:这些英文缩写都是代表了不同的 CPU 架构。如 IA32 是指英特尔 32 位体系架构,x86\_64 指基于 x86 架构的 64 位扩展架构,ARM64 则是 ARM 体系结构的 64 位扩展、MIPS64EL 是指 64 位小端序的 MIPS 架构)。
- 支持 IA32/x86\_64 UEFI 的安全启动。
- 支持主分区使用 FAT32/exFAT/NTFS/UDF/XFS/Ext2/Ext3/Ext4 格式。默认使用 exFAT。
- 支持在物理机中使用 Linux 发行版启动 vhd、vdi、raw 等格式的虚拟磁盘文件。
- 持久化的存储支持。
- 支持 MBR 和 GPT 两种分区格式都。默认使用 MBR。
- 你可以用大于 4 GB 的 ISO 文件创建引导盘。
- 几乎所有类型的操作系统都支持。开发者声称 Ventoy 已经测试过了超过 900 多个 ISO 文件。
- 支持 Linux 自动安装。意味着你可以添加你的模板或脚本来进行无人值守的部署。例如,Redhat/CentOS 的 kickstart 脚本,SUSE 的 autoYast xml,Debian 的 preseed 脚本。把脚本或模板放在 U 盘里,让 ventoy 使用它进行无人值守安装。你也可以在任何时候更新这些脚本。不需要创建新的 ISO 文件,只要使用原来的 ISO 即可。
- 支持 Windows 系统的自动安装。
- 在启动期间对 USB 盘写保护。
- 不影响 USB 启动盘的正常使用。这意味着你可以将 U 盘用于文件复制等其他用途。
- 当有新的 Ventoy 版本时可供升级时,无须重新创建 USB 启动盘。在版本升级过程中,数据不会被破坏。
- 当一个新的发行版发布时,不需要更新 Ventoy。
- 将 ISO 文件复制/粘贴到 U 盘中,即可添加一个新的操作系统,没有必要从头开始。
- 支持 内存盘 模式。在某些机器上,可能无法加载 ISO。在这种情况下,你可以使用 内存盘 模式。Ventoy 将把整个 ISO 文件加载到内存中,然后启动它。
- 插件框架。
- 传统 和 UEFI 的本地启动菜单风格。
- 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
- 支持主题和菜单风格的定制。
- 跨平台。它支持 Linux、manOS 和 Windows 等操作系统。
- 自由开源!
在 Linux 中用 Ventoy 创建多重启动的 U 盘
正如我之前提到的,Ventoy 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
1. 使用 Ventoy 命令行创建多重启动的 U 盘
首先,你需要找到你的 U 盘名称。可以通过下面的指南,来了解在 Linux 中寻找磁盘驱动器细节的不同方法。
如何在 Linux 中 寻找硬盘驱动器细节
我将使用 fdisk
命令来查找我的 U 盘的详细信息:
$ sudo fdisk -l
样例输出:
[...]
Disk /dev/sdb: 14.54 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4d924612
如你所见,我的 U 盘的名称是 /dev/sdb
。
接下来,从 发布页 下载最新的 Ventoy 脚本。截至编写本指南时,最新版本是 1.0.77
(LCTT 译注:截至翻译完成时,最新版本是 1.0.91
)。
到你下载脚本的位置,解压它。我把它解压在一个名为 ventoy
的文件夹中。使用 cd
命令切换到 ventoy
目录中:
$ cd ventoy
现在,运行以下命令来创建多重启动的 U 盘:
$ sudo sh Ventoy2Disk.sh -I /dev/sdb
将 /dev/sdb
替换为你的 U 盘名称。
这里,大写的 -I
参数意味着将无视之前是否安装过 ventoy,强制安装 ventoy 到 sdb
。当你使用小写的 -i
,若此时磁盘已经安装了 ventoy ,它会安装失败。
要启用安全启动支持,使用 -s
参数。默认情况下,这个选项是关掉的。
$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb
你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称,并输入 Y
,按回车键继续:
样例输出:
**********************************************
Ventoy: 1.0.77 x86_64
longpanda [email protected]
https://www.ventoy.net
**********************************************
Disk : /dev/sdb
Model: SanDisk Cruzer Blade (scsi)
Size : 14 GB
Style: MBR
Attention:
You will install Ventoy to /dev/sdb.
All the data on the disk /dev/sdb will be lost!!!
Continue? (y/n) y
All the data on the disk /dev/sdb will be lost!!!
Double-check. Continue? (y/n) y
Create partitions on /dev/sdb by parted in MBR style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/sdb2 ...
mkfs.fat 4.2 (2021-01-31)
success
Wait for partitions ...
/dev/sdb1 exist OK
/dev/sdb2 exist OK
partition exist OK
Format partition 1 /dev/sdb1 ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
mkexfatfs success
writing data to disk ...
sync data ...
esp partition processing ...
Install Ventoy to /dev/sdb successfully finished.
几秒钟后,多重启动的 U 盘将被创建。
上述命令将创建两个分区。你可以用 fdisk
命令来验证它:
$ sudo fdisk -l
样例输出:
[...]
Disk /dev/sdb: 14.53 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x436cedd0
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 30398463 30396416 14.5G 7 HPFS/NTFS/exFAT
/dev/sdb2 30398464 30463999 65536 32M ef EFI (FAT-12/16/32)
现在打开你的文件管理器,把 ISO 文件复制到第一个分区。不用担心你分不清楚哪个是第一个分区,你的文件管理器将只显示第一个分区。
你甚至可以为不同的 ISO 文件类型创建子文件夹。例如,你可以为存储 Linux ISO 文件创建一个子文件夹,为 BSD ISO 文件创建一个子文件夹,为 Windows ISO 文件创建一个子文件夹。
Ventoy 将扫描整个 U 盘,为所有可用的 ISO 文件创建菜单项,并自动将它们添加到 Ventoy 的主启动菜单中。
如果你喜欢用命令行方式复制 ISO 文件,请到你保存 ISO 文件的地方,用 rsync
程序从命令行复制所有 ISO 文件,如下所示:
$ rsync *.iso /media/$USER/ventoy/ --progress -ah
请注意,在某些 Linux 发行版中,U 盘可能被挂载在 /run/media/
位置。
大功告成!我们刚刚用 Ventoy 创建了多重引导的 U 盘。
用新制作的可引导 U 盘启动你的系统,你会对 Ventoy 的启动菜单感到满意:
选择你想启动的操作系统,并按下回车键加载它!
下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示:
很酷,不是吗?确实如此!
如果你想在 Oracle Virtualbox 中用 U 盘启动,请参考以下指南:
如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统?
2. 使用 Ventoy 图形化界面创建多重启动的 U 盘
最初,Ventoy 在 Linux 平台上没有任何图形化的用户界面。我们在 Linux 中只能使用Ventoy 的命令行模式创建 USB 启动盘。
幸运的是,Ventoy 从 1.0.36 版开始提供基于网页的图形用户界面,从 1.0.52 版开始提供本地化图形用户界面(使用 GTK/QT)。
相信我,Ventoy 的图形化用户界面使用起来非常简单!它的界面非常小巧,但它拥有我们所需要的一切,只需点击几下鼠标就能创建一个单一的或多重引导的启动盘。
打开你的终端,进入你下载最新 Ventoy 程序的位置。
$ cd Downloads/ventoy-1.0.77/
运行适配的 Ventoy 图形化用户界面可执行文件,这取决于发行版的架构。
- VentoyGUI.i386 - 32 位的 X86 架构的操作系统适用
- VentoyGUI.x86\_64 - 64 位的 X86 架构的操作系统适用
- VentoyGUI.aarch64 - ARM64 架构的操作系统适用
- VentoyGUI.mips64el - 龙芯 3A MIPS 架构的操作系统适用
我使用的是 Debian 11 X86 64 位系统,所以我运行以下命令:
$ ./VentoyGUI.x86_64
这就是 Ventoy 图形用户界面的样子。
Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选择的是否真的是你想格式化的 U 盘。
你将被提示确认该过程。点击 “OK” 继续。
Ventoy 选项和语言
从菜单栏中点击 选项 按钮。
从 选项 下拉按钮,你可以做以下事情:
- 安全启动支持 - 勾选/取消勾选以启用或禁用安全启动。默认情况下,它处于选中状态以示启用。
- 分区格式 - 支持 MBR 和 GPT 分区格式。默认是 MBR。
- 分区配置 - 在这里,你可以选择在磁盘的末端保留一些空闲空间。
- 清除 Ventoy - 从你的磁盘中删除 Ventoy。
- 显示所有设备 - 如果你想显示包括你的本地磁盘在内的所有连接的设备,请选中这个选项。在选择这个选项时要特别小心。你可能会不小心选择你的一个本地磁盘并将其格式化。
语言 按钮允许你选择你喜欢的语言。
更新 Ventoy
每当有新的 Ventoy 版本发布时,没有必要重新创建可引导的 USB 启动盘。你可以安全地将Ventoy 更新到新版本,而不会丢失 U 盘中的任何现有数据。
要将已安装的 Ventoy 版本更新到最新的可用版本,请插入 U 盘并启动 Ventoy 图形化用户界面,如上所示。
在 Ventoy 图形化用户界面中, 点击 更新 按钮。
3. 使用 Ventoy 基于 Web 的图形化用户界面创建多重启动的 USB 启动盘
Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全相同。有一天,我在我的Fedora Linux 桌面系统上试用了 Ventoy 基于 Web 的用户界面。我很惊讶我是多么喜欢Ventoy 图形用户界面的简洁。
要了解如何使用 Ventoy 图形用户界面创建可引导的 U 盘,请参考以下链接:
在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘
将 ISO 镜像加载到 RAM 中
就像我之前提到的,ISO 镜像在某些机器上可能无法启动,特别是在传统的 BIOS 模式下。这就是 内存盘 模式的用武之地。
当 内存盘 模式被启用时,Ventoy 将把整个 ISO 镜像文件加载到内存中启动。
在选择操作系统之前按 F1
键,启用 内存盘 模式(译者注:从 1.0.83 版本开始,进入该模式的快捷键从 F1
改成了 Ctrl+D
)。当 内存盘 模式启用时,你会在右上角看到通知。
现在,ISO 将被加载到内存中:
请再次按 F1
键以切换回正常模式。
创建持久化的可引导 U 盘
我们现在知道了如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的 USB 启动盘来测试 Linux 发行版,而不必真的在硬盘上安装它们。
当你使用 立付 OS 时,你可以做各种事情,如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。
然而,一旦你重新启动系统,所有上述变化都将消失。如果你想让所有的改变在重启系统后仍然保留,你应该创建一个持久化的可引导的 U 盘。
Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习怎么做。
在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘
总结
信不信由你,Ventoy 是我用过的在 Linux 中创建多重引导(持久或非持久)的 USB 闪存盘工具中最简单、最快速、最巧妙的之一。
它真的做到了开箱即用!试一下吧,你不会失望的!
与 Ventoy 有关的安全问题
Ventoy 网站、论坛和该网站上的一些文件被一些杀毒软件标记为恶意软件或木马。请查看这些发布在该项目 GitHub 页面中的议题:
- https://github.com/ventoy/Ventoy/issues/22
- https://github.com/ventoy/Ventoy/issues/83
- https://github.com/ventoy/Ventoy/issues/31
然而,Manjaro 打包者 Linux Aarhus 在代码审查后认为:没有合理的理由怀疑这个应用程序的安全性。
他声称 “没有混淆的代码”。所以,我觉得 Ventoy 是可以安全使用的。
资源
(题图: MJ: USB disk bootload computer sci-fi future in sky stars)
via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/
作者:sk 选题:lkxed 译者:hanszhao80 校对:校对者ID