使用Ventoy制作万能U盘启动

背字根

先看效果图:

Ventoy启动菜单

Ventoy特点

  • 100% 开源 (GPLv3+ 许可证)
  • 使用简单 (一键安装)
  • 快速 (拷贝文件有多快就有多快)
  • 可以安装在U盘/本地硬盘/SSD/NVMe/SD卡等设备上
  • 直接从ISO/WIM/IMG/VHD(x)/EFI 文件启动,无需解开
  • ISO/WIM/IMG/VHD(x)/EFI文件在磁盘上无需连续
  • 支持MBR和GPT分区格式
  • 同时支持x86 Legacy BIOS以及IA32/x86_64/ARM64/MIPS64 UEFI
  • UEFI 模式支持安全启动 (Secure Boot)
  • 支持数据持久化
  • 支持Windows系统的自动安装部署
  • 支持RHEL7/8/CentOS7/8/SUSE/Ubuntu Server/Debian等Linux系统的自动安装部署
  • 镜像分区支持FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4)文件系统
  • 支持超过4GB的ISO文件
  • 保留ISO原始的启动菜单风格(Legacy & UEFI)
  • 支持大部分常见操作系统,已测试700+个ISO文件
  • 不仅仅是启动,而是完整的安装过程
  • 菜单可以在列表模式和目录树模式之间实时、动态切换
  • 提出 "Ventoy Compatible" 概念
  • 支持插件扩展
  • Linux vDisk(vhd/vdi/raw...)启动解决方案
  • 支持向运行环境中插入文件
  • 动态替换ISO文件中的原始启动配置文件
  • 高度可定制化的主题风格和菜单
  • 启动过程中支持U盘设置写保护
  • 不影响U盘日常普通使用
  • 版本升级时数据不会丢失
  • 无需跟随操作系统升级而升级Ventoy

Ventoy安装

下载Ventoy:

https://ventoy.net/cn/download.html

在安装Ventoy到U盘前,须知晓将格式化U盘(升级操作不影响U盘中的数据)。

Ventoy将创建两个分区,隐藏分区VTOYEFI存放的是Ventoy的系统文件,仅占用32M!Ventoy分区(镜像分区)用于存放Ventoy配置文件(自定义功能用)、ISO镜像等。

Ventoy分区的大小:

U盘总容量 - 32M - 保留空间(如果有设置的话)

保留空间的设置:

保留空间是指留下部分空间用于日常存放文件,换句话说就是这部分空间当作普通U盘使用。

Ventoy分区设置

Ventoy保留空间设置

保留空间应该设置为多大呢?举个例子:

我的U盘为64G,由于厂商售卖容量是按1000进制计算,按照1024进制计算后有62.5G,在电脑上显示只有57.8G。

我计划要存放的ISO镜像有Windows 7 32位、Windows 10企业版64位、Zorin OS、还有使用WePE工具箱生成的PE镜像。另外,我还打算放一些常用的装机工具,计算下来总共需要10G左右的空间,为了方便以后扩展,我打算给Ventoy分区15G空间。那么,我的保留空间就应该是:

59136M - 32M - 15360M = 43744M = 42.71875G

为了好看,我直接设置了45G,那么Ventoy分区就只有12.7G。

设置好保留分区,点击安装,速度快到惊人,几秒就安装完成。

保留空间去哪儿了?

Ventoy安装完成后,发现电脑里只显示了Ventoy分区,剩余空间还需要在磁盘管理中新建简单卷,或者也可以使用DiskGenius创建分区。

Ventoy个性化

Ventoy的自定义功能非常强大,完整的功能说明请参考官方文档:

https://ventoy.net/cn/doc_news.html

这里,我介绍一些常用的功能设置。

在Ventoy分区中创建文件夹theme,主题存放在这个目录中,可以访问以下地址下载主题:

https://www.gnome-look.org/browse/cat/109/order/latest/

在Ventoy分区中创建文件夹ISO,.iso镜像文件就丢到这个目录里。

在Ventoy分区中新建文件ventoy.json,写入:

{
    "control": [
        {
            "VTOY_DEFAULT_SEARCH_ROOT": "/ISO"
        }
    ],
    "menu_alias": [
        {
            "image": "/ISO/WePE_64_V*.*.iso",
            "alias": "WePE"
        },
        {
            "image": "/ISO/cn_windows_7_ultimate_with_sp1_x86_dvd_u_******.iso",
            "alias": "Windows 7 旗舰版 32位"
        },
        {
            "image": "/ISO/cn_windows_10_enterprise_ltsc_2019_x64_dvd_********.iso",
            "alias": "Windows 10 企业版 64位"
        },
        {
            "image": "/ISO/Zorin-OS-**.*-Core-64-bit.iso",
            "alias": "Zorin OS"
        }
    ],
    "theme": {
        "file": "/ventoy/theme/Vimix/theme.txt"
    },
    "menu_class": [
        {
            "key": "WePE",
            "class": "void"
        },
        {
            "key": "windows_10",
            "class": "windows10"
        },
        {
            "key": "windows_7",
            "class": "windows7"
        },
        {
            "key": "ubuntu",
            "class": "ubuntu"
        },
        {
            "key": "Zorin",
            "class": "zorin"
        }
    ]
}

注意:必须使用纯文本编辑器(例如:Notepad++)编辑,编码方式为UTF-8

ventoy.json代码说明:

"VTOY_DEFAULT_SEARCH_ROOT": "/ISO"

指定ISO镜像存放路径

"menu_alias": [
    {
        "image": "/ISO/WePE_64_V*.*.iso",
        "alias": "WePE"
    },
    ......
]

定义镜像文件的别名,如果不定义,启动菜单将直接显示镜像文件名称(不雅观)。

image为镜像文件的完整路径,文件名可以使用星号通配符,一个星号代表一个字符。如果是中文,则一个中文需要3个星号。

alias为别名,取个漂亮的名字就可以了。

"theme": {
        "file": "/ventoy/theme/Vimix/theme.txt"
}

指定主题theme.txt文件的路径,这里我使用的主题是Vimix

"menu_class": [
    {
        "key": "WePE",
        "class": "void"
    },
    ......
]

为菜单项添加图标,key为镜像文件名称中包含的关键字,class为图标名称,注意主题文件夹中icons目录,一般主题都自带了图标:

/theme/Vimix/icons

可能主题自带的图标并不够用,例如本例中,Windows 7和Zorin OS的图标就是我自己制作的,注意图标需要png格式。

自定义菜单项:

Ventoy还支持自定义菜单项,Ventoy是基于grub2的,因此,可以添加一些菜单项执行grub2的指令。

在Ventoy分区中新建ventoy_grub.cfg文件,写入:

menuentry "重启" --class=restart {
	reboot  
}
menuentry "关机" --class=shutdown {
	halt
}

注意:class指定图标名称。

自定义的菜单项需要F6调用。

个赞
扫码关注背字根

一个热爱Web开发的大男孩