菜单

Linux 安装工具

相关源文件

此页面介绍了 Ventoy 提供的 Linux 安装工具,用于在存储设备上安装和更新 Ventoy。这些工具允许用户创建可引导的 USB 驱动器,无需重新格式化即可启动多个 ISO 文件。有关 Windows 安装工具的信息,请参阅 Windows 安装工具

概述

Ventoy 为 Linux 系统提供了几种安装工具

  1. 命令行界面(使用 VentoyWorker.shVentoy2Disk.sh
  2. GTK3 图形界面(适用于多种架构)
  3. GTK2 图形界面(适用于具有较旧 GTK 库的系统)

所有这些工具最终都调用同一个核心工作脚本(VentoyWorker.sh),该脚本执行实际的安装操作。

来源

命令行界面

Ventoy 的 Linux 安装的核心功能通过命令行界面使用 Ventoy2Disk.sh 提供,它充当 VentoyWorker.sh 的包装器。

用法和选项

Usage:  Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
  CMD:
   -i  install Ventoy to sdX (fails if disk already installed with Ventoy)
   -I  force install Ventoy to sdX (no matter if installed or not)
   -u  update Ventoy in sdX
   -l  list Ventoy information in sdX

  OPTION: (optional)
   -r SIZE_MB  preserve some space at the bottom of the disk (only for install)
   -s/-S       enable/disable secure boot support (default is enabled)
   -g          use GPT partition style, default is MBR (only for install)
   -L          Label of the 1st exfat partition (default is Ventoy)
   -n          try non-destructive installation (only for install)

来源

安装模式

Ventoy 支持几种不同的安装模式,用于不同的目的

  1. 标准安装-i):将 Ventoy 安装到磁盘,如果 Ventoy 已安装则失败
  2. 强制安装-I):强制安装,无论是否存在 Ventoy 安装
  3. 更新-u):在保留数据的情况下更新现有的 Ventoy 安装
  4. 无损安装-n):尝试在不破坏现有数据的情况下安装 Ventoy

来源

VentoyWorker.sh - 核心安装脚本

VentoyWorker.sh 是处理所有安装和更新操作的核心脚本。它使用 ventoy_lib.sh 中的函数来执行磁盘操作。

安装过程

在安装过程中,VentoyWorker.sh 执行以下步骤

  1. 检查磁盘和工具

    • 验证目标设备
    • 确保它是整个磁盘(而不是分区)
    • 检查磁盘是否被挂载或用作交换空间
    • 验证访问权限
    • 检查是否存在 partedfdisk 等必需工具
  2. 分区管理

    • 根据选项创建 MBR 或 GPT 分区
    • 创建两个分区:用于存储 ISO 文件的主要分区和一个用于 Ventoy 文件的 ESP 分区
    • 处理分区对齐和大小调整
  3. 文件系统格式化

    • 将第一个分区格式化为 exFAT(用于 ISO 存储)
    • 将第二个分区格式化为 FAT16(用于 Ventoy 文件)
  4. Ventoy 文件安装

    • 将引导加载程序(boot.img)写入磁盘
    • 将 GRUB core.img 写入磁盘
    • 将 Ventoy 文件安装到第二个分区

来源

更新过程

更新过程设计为对第一个分区无损,保留所有 ISO 文件

  1. 验证:检查磁盘是否包含有效的 Ventoy 安装
  2. 备份:保留磁盘 UUID 和其他关键数据
  3. 更新:仅更新引导加载程序和 Ventoy 系统文件
  4. 恢复:恢复磁盘 UUID 和其他已保留的数据

来源

无损安装

无损安装功能尝试在不破坏磁盘现有数据的情况下安装 Ventoy

  1. 分析:检查现有分区及其文件系统
  2. 调整大小:如有必要,调整第一个分区的大小以容纳 Ventoy
  3. 安装:继续进行 Ventoy 安装,保留数据

此功能对于在不重新格式化的前提下将 Ventoy 添加到现有存储设备很有用。

来源

通用库 - ventoy_lib.sh

ventoy_lib.sh 包含 VentoyWorker.sh 和其他 Ventoy 脚本使用的共享函数。关键组成部分包括

函数组目的关键函数
实用函数辅助工具vtinfovtwarnvterrvtdebugvtoy_gen_uuid
工具检查验证所需的工具check_tool_work_ok
分区函数管理磁盘分区get_disk_part_namecheck_umount_diskwait_and_create_part
Ventoy 检测检查现有 Ventoyis_disk_contains_ventoycheck_disk_secure_bootget_disk_ventoy_version
磁盘格式化格式化 Ventoy 磁盘format_ventoy_disk_mbrformat_ventoy_disk_gpt

分区布局

Ventoy 使用标准分区布局,包含两个分区

  1. 第一个分区:exFAT 格式,用于存储 ISO 文件(大部分磁盘空间)
  2. 第二个分区:FAT16 格式,用于 Ventoy 系统文件(32MB)

来源

图形安装工具

Ventoy 为 Linux 系统提供了基于 GTK 的图形界面,包括 GTK2 和 GTK3 版本,以支持不同的 Linux 发行版。

架构支持

这些图形工具是为不同的 CPU 架构编译的

  1. x86_64:64 位 Intel/AMD 系统
  2. i386:32 位 Intel/AMD 系统
  3. mips64el:MIPS 64 位小端序系统

这些二进制文件位于 INSTALL/tool/ 下特定于架构的目录中。

界面流程

GTK 图形界面提供了一种用户友好的方式来执行与命令行工具相同的操作

  1. 显示可用的存储设备
  2. 允许选择安装选项(GPT/MBR、安全启动等)
  3. 执行安装并显示进度指示
  4. 显示结果和错误消息

GUI 应用程序充当前端,最终调用相同的 VentoyWorker.sh 脚本来执行实际安装。

来源

安装安全性和保护功能

Ventoy 的 Linux 安装工具包含多项安全性和保护功能

  1. 验证检查,以防止意外数据丢失
  2. 多次确认,在执行破坏性操作前要求
  3. 设备验证,确保目标是磁盘而非分区
  4. 挂载点检查,避免安装到已挂载的磁盘
  5. 安全启动支持(可选),适用于需要安全启动的系统

来源

故障排除

Ventoy Linux 安装工具提供了详细的日志记录和错误报告机制,以帮助诊断问题

  1. vtdebug:将调试信息写入 log.txt
  2. vterr:以红色文本显示错误消息
  3. vtwarn:以黄色文本显示警告消息
  4. vtinfo:以绿色文本显示信息消息

安装脚本解决的常见问题包括

  • 权限不足(需要 sudo/root)
  • 磁盘正在使用中(已挂载或作为交换空间)
  • 不支持的磁盘类型(4K 扇区)
  • 工具依赖项检查失败

来源

外部工具依赖项

Linux 安装工具依赖于几个外部实用程序

工具目的回退
parted分区管理fdisk(仅适用于 MBR)
mkexfatfs格式化 exFAT 分区无(必需)
mkfs.vfat格式化 FAT16 分区无(必需)
hexdump二进制数据处理无(必需)
ntfsresize调整 NTFS 大小(无损)无(NTFS 所需)
resize2fs调整 ext2/3/4 大小(无损)无(ext 所需)
uuidgen/uuid生成 UUIDPython 备用,随机数据

脚本会在继续安装之前检查必需工具是否存在。

来源