Ventoy 数据持久化插件

很多发行版本(比如 Ubuntu、MX、LinuxMint 等)都提供了数据持久化的支持。这样你就可以在Live环境中保存一些数据,比如用户密码、IP参数等等。这些数据在你下次启动的时候就可以直接使用了,无需再重新配置。正常情况下,我们一般是单独创建一个分区来保存持久化数据,不是非常灵活。
现在Ventoy提供了一个新的功能。你无需再单独创建分区、也无需添加 persistent 启动参数,只需要在第一个分区里面放一个数据文件,然后通过json配置和对应ISO关联上就可以了。对于第1个分区的格式没有要求,NTFS/exFAT等都可以。
你可以同时放很多个不同的数据文件,分别关联到不同的ISO文件上。你也可以同一个数据文件关联到不同的ISO文件上,只要ISO内的系统支持就行。甚至你还可以为一个ISO文件同时指定多个数据文件,在启动时 Ventoy会提供一个菜单,你可以选择本次启动是否使用数据文件以及使用哪一个数据文件。

  • 支持的发行版

Ubuntu以及基于它的衍生版本。实际测试过的发行版如下表所示:(持续更新中)

发行版 测试过的ISO文件 文件系统 Label 备注
Ubuntu ubuntu-20.04-desktop-amd64.iso casper-rw
MX Linux MX-19.1_x64.iso MX-Persist
LinuxMint linuxmint-19.3-xfce-64bit.iso casper-rw
elementary OS elementaryos-5.1-stable.20200405.iso casper-rw
Zorin Zorin-OS-15.1-Core-64-bit-r2.iso casper-rw
  • Json 配置

/ventoy/ventoy.json 中定义了一个 persistence 的数组来配置持久化插件。

{
    "persistence": [
        {
            "image": "/ISO/MX-19.1_x64.iso",
            "backend": "/persistence/MX-19.1_x64.dat"
        },
        {
            "image": "/ISO/ubuntu-20.04-desktop-amd64.iso",
            "backend": [
                "/persistence/ubuntu_20.04_1.dat",
                "/persistence/ubuntu_20.04_2.dat",
                "/persistence/ubuntu_20.04_3.dat"
            ],
            "autosel": 2
        },        
        {
            "image": "/linuxmint-19.3-xfce-64bit.iso",
            "backend": "/persistence/linuxmint_19.03.dat",
            "autosel": 1            
        }
    ]
}

关键字 类型 说明
image STRING iso文件的全路径
backend STRING or ARRAY 对应iso文件的持久化数据文件的全路径。可以是一个字符串或者是一个字符串数组。
autosel 整数 可选的,可以不设置。如果设置了之后,在启动前就不会再弹出提示菜单,而是自动选择提示菜单中的对应选项。
0: 不使用持久化数据文件
1: 使用第1个持久化数据文件
2: 使用第2个持久化数据文件
......
  • 双模式配置

支持。可以分别针对 Legacy BIOS 模式和 UEFI 模式做不同的设置。详细说明请参考 双模式选项

  • 持久化数据文件

持久化数据文件其实就是一个磁盘镜像文件。你可以直接下载已创建好的模板使用或者自己使用脚本创建。
直接下载
你可以直接从 https://github.com/ventoy/backend/releases 下载已经创建好的镜像文件使用。
新创建
这里提供了一个 CreatePersistentImg.sh 脚本用来创建持久化镜像文件。
把它下载下来,在Linux shell中执行 sudo sh CreatePersistentImg.sh (默认会创建一个 1GB 大小的 persistence.dat 文件,ext4文件格式,label为 casper-rw)。

sh CreatePersistentImg.sh  [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ]   例如:

sh CreatePersistentImg.sh                 ---->  persistence.dat, 1GB 大小, ext4 文件系统, label 为 casper-rw
sh CreatePersistentImg.sh -l MX-Persist   ---->  persistence.dat, 1GB 大小, ext4 文件系统, label 为 MX-Persist
sh CreatePersistentImg.sh -s 2048         ---->  persistence.dat, 2GB 大小, ext4 文件系统, label 为 casper-rw
sh CreatePersistentImg.sh -s 4096 -t xfs  ---->  persistence.dat, 4GB 大小,  xfs 文件系统 (当前只支持 ext2/ext3/ext4/xfs), label 为 casper-rw

  1. 在生成数据文件以及拷贝文件到U盘时,注意使用sync把数据完全写入磁盘。
  2. 不同的发行版本使用的默认Label不同,可以通过 -l 参数指定,比如ubuntu默认为casper-rw, MX Linux默认为 MX-Persist等。
  3. 持久化数据文件必须放在第一个分区中,可以是根目录下,也可以是其他子目录下。另外并不需要和对应iso文件放在同一目录下。
  4. 持久化数据文件制作好后,可以作为一个模板,压缩后保存在电脑上(压缩后非常小),这样就无需每次都新建一个。
  • 启动前的提示 (1.0.12+)

在启动配置了数据持久化的ISO文件时会显示一个提示菜单。你可以选择本次启动是否使用持久化以及使用哪一个持久化数据文件。