Ventoy (可启动U盘)

Ventoy: A New Bootable USB Solution 是一个开源的用于创建基于ISO/WIM/IMG/VHD(x)/EFI文件的启动U盘工具。这是一个非常巧妙的工具,你不需要格式化磁盘,只需要将 ISO/WIM/IMG/VHD(x)/EFI 文件复制到U盘中,用 ventoy 来启动运行就能自如地切换启动镜像,特别适合运行像 WinPE 这样的工具镜像以及很多Linux的Live CD。

Ventoy提供了Linux和Windows版本二进制程序,也提供了livecd格式的iso。我这里使用了Linux版本实践,使用方法既可以通过图形交互方式也可以通过命令行执行。

下载的文件是 ventoy-1.1.12-linux.tar.gz ,解压缩以后在 ventoy-1.1.12 目录下有一系列文件:

  • VentoyWeb.sh 可以运行一个WEB方式的图形化安装界面

  • Ventoy2Disk.sh 是一个字符命令行脚本,可以直接生成启动U盘

警告

执行 Ventoy2Disk.sh 一定要正确选择设备路径,该命令会抹除数据!!!

  • 首先检查磁盘,确认U盘设备路径

通过 lsblk 确定设备路径
lsblk

以下是我当前的设备,其中 sdc 是我刚插入的U盘:

通过 lsblk 确定 /dev/sdc 是我刚插入的U盘
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  1.7T  0 disk 
├─sda1                      8:1    0    1G  0 part /boot/efi
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  1.7T  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0  1.7T  0 lvm  /
sdb                         8:16   1    0B  0 disk 
sdc                         8:32   1 59.5G  0 disk 
└─sdc1                      8:33   1 59.5G  0 part 
nvme1n1                   259:0    0  1.8T  0 disk 
nvme0n1                   259:1    0  1.8T  0 disk
  • 执行

命令行创建启动U盘
sudo ./Ventoy2Disk.sh -i -g /dev/sdc

输出

命令行创建启动U盘输出信息
**********************************************
      Ventoy: 1.1.12  x86_64
      longpanda admin@ventoy.net
      https://www.ventoy.net
**********************************************

Disk : /dev/sdc
Model: Generic STORAGE DEVICE (scsi)
Size : 59 GiB
Style: GPT


Attention:
You will install Ventoy to /dev/sdc.
All the data on the disk /dev/sdc will be lost!!!

Continue? (y/n) y

All the data on the disk /dev/sdc will be lost!!!
Double-check. Continue? (y/n) y

Create partitions on /dev/sdc by parted in GPT style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/sdc2 ...
mkfs.fat 4.2 (2021-01-31)
success
Wait for partitions $vPART1 and $vPART2 ...
/dev/sdc1 exist OK
/dev/sdc2 exist OK
partition exist OK
Format partition 1 /dev/sdc1 ...
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/sdc successfully finished.

在完成Ventoy启动U盘制作之后,目标U盘 sdc 被划分为2个分区,其中较大的一个 sdc1 是数据分区,存放用于启动使用的ISO文件

目标U盘被划分为2个分区

Disk /dev/sdc: 59.48 GiB, 63864569856 bytes, 124735488 sectors
Disk model: STORAGE DEVICE  
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: gpt
Disk identifier: ECAE96A2-C2EC-4FE3-A1B6-EEB08DFC73A5

Device         Start       End   Sectors  Size Type
/dev/sdc1       2048 124669911 124667864 59.4G Microsoft basic data
/dev/sdc2  124669912 124735447     65536   32M Microsoft basic data
  • 挂载sdc1分区,将 WinPE ISO镜像复制进去,并复制一些必要的工具,例如独立运行的

复制winpe.iso以及需要的工具
sudo mkdir /mnt/ventoy
sudo mount /dev/sdc1 /mnt/ventoy

# 复制WinPE镜像
sudo cp WinPE_64_V2.3.iso /mnt/ventoy/
  • 当电脑插入ventoy启动U盘并以U盘启动,就会看到ventoy的启动菜单中包含了你复制进U盘数据分区中的 WinPE ISO启动项,请使用 Boot in wimboot mode (Wimboot 模式) 启动Windows类ISO