Ventoy Global Control Plugin

This plugin is used to set some global configuration of Ventoy.

  • Json Configuration

Recommend to use VentoyPlugson, a GUI ventoy.json configurator. Refer VentoyPlugson
A control array is defined to describe the configuration in /ventoy/ventoy.json. Each item is a key:value pair in string.
It should be noted that, you don't need to configure every option, you can also configure only some or one of them.

{
    "control": [
        { "VTOY_MENU_LANGUAGE": "en_US" },
        { "VTOY_DEFAULT_MENU_MODE": "0" },
        { "VTOY_TREE_VIEW_MENU_STYLE": "0" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" },
        { "VTOY_SORT_CASE_SENSITIVE": "0" },
        { "VTOY_MAX_SEARCH_LEVEL": "max" },
        { "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" },
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "/ISO/debian_netinstall.iso" },
        { "VTOY_FILE_FLT_EFI": "1" },
        { "VTOY_DEFAULT_KBD_LAYOUT": "QWERTY_USA" },
        { "VTOY_WIN11_BYPASS_CHECK": "1" },
        { "VTOY_WIN11_BYPASS_NRO": "1" },
        { "VTOY_HELP_TXT_LANGUAGE": "en_US" },
        { "VTOY_LINUX_REMOUNT": "0" },
        { "VTOY_SECONDARY_BOOT_MENU": "1" },
        { "VTOY_SECONDARY_TIMEOUT": "20" }
    ]
}

Key Type Description
VTOY_MENU_LANGUAGE STRING Menu language, can be "en_US", "zh_CN", "de_DE" and so on. The default value is "en_US".
On Ventoy boot menu, you can press L key to list all the available languages.
VTOY_DEFAULT_MENU_MODE STRING Default menu display mode, "0":ListView Mode    "1":TreeView Mode. The default value is "0".
VTOY_TREE_VIEW_MENU_STYLE STRING Menu style in TreeView mode. "0":with DIR and file size prefix    "1":No DIR and file size
Default is "0"
VTOY_FILT_DOT_UNDERSCORE_FILE STRING Filter for files with prefix ._ in name. This will be useful when you use macOS (a lot of ._xxx file generated when you copy files)
"0":Don't filt    "1":Filt
VTOY_SORT_CASE_SENSITIVE STRING Case sensitive when sort the ISO files or directories. Default is "0" (case insensitive)
"0":case insensitive    "1":case sensitive
VTOY_MAX_SEARCH_LEVEL STRING Max subdirectory level when search for image files. It's value can be: max 0 1 2 3 ...    default is : max
By default, Ventoy will search all the directories and sub directories recursively no matter how deep the directory level is.
You can use this parameter to set a max-depth for the search path.

max : Maximum, search all the directories and subdirectories. This is Ventoy's default value.
0 : Only search files in the root and don't search any subdirectories.
1 : Search up to level 1 of subdirectories.
2 : Search up to level 2 of subdirectories.
3 : Search up to level 3 of subdirectories.
...

If VTOY_DEFAULT_SEARCH_ROOT is set at the same time. Then the level is counted from VTOY_DEFAULT_SEARCH_ROOT .
VTOY_DEFAULT_SEARCH_ROOT STRING The root path where to search the iso files. By default, Ventoy will search all the directories and subdirectories in the USB. This will be very slow when you have huge number of files in the USB. In this case, you can put all the iso files in one directory and use this to specify the search path. Ventoy will only search this directory and its subdirectories for iso files.
VTOY_MENU_TIMEOUT STRING Menu timeout (seconds).
By default no timeout is set. When you set it to 10 for example, the first image will be selected an booted after 10 seconds.
VTOY_DEFAULT_IMAGE STRING Default selected image path. Normally used with VTOY_MENU_TIMEOUT.
It can be ISO/WIM/VHD/IMG ... and supported in both ListView mode and TreeView mode.
Attention that, when VTOY_DEFAULT_SEARCH_ROOT is set, VTOY_DEFAULT_IMAGE must be in the directory (or sub-directory) of VTOY_DEFAULT_SEARCH_ROOT, otherwise it will not take effect.
Besides, you can use some special values as descripted in following Special VTOY_DEFAULT_IMAGE.
VTOY_VHD_NO_WARNING STRING "0": Show a warning message if the partition is not NTFS when booting VHD(x) file. "1": No warning message
default is "0"
VTOY_DEFAULT_KBD_LAYOUT STRING Keyboard Layout, default is QWERTY_USA supported layouts:
QWERTY_USA AZERTY CZECH_QWERTY CZECH_QWERTZ DANISH DVORAK_USA FRENCH GERMAN ITALIANO JAPAN_106 LATIN_USA PORTU_BRAZIL QWERTY_UK QWERTZ QWERTZ_HUN QWERTZ_SLOV_CROAT SPANISH SWEDISH TURKISH_Q VIETNAMESE
VTOY_FILE_FLT_ISO STRING "0": List .iso files "1": Filter .iso files. Default is "0"
VTOY_FILE_FLT_WIM STRING "0": List .wim files "1": Filter .wim files. Default is "0"
VTOY_FILE_FLT_EFI STRING "0": List .efi files "1": Filter .efi files. Default is "0"
VTOY_FILE_FLT_IMG STRING "0": List .img files "1": Filter .img files. Default is "0"
VTOY_FILE_FLT_VHD STRING "0": List .vhd(x) files "1": Filter .vhd(x) files. Default is "0"
VTOY_FILE_FLT_VTOY STRING "0": List .vtoy files "1": Filter .vtoy files. Default is "0"
VTOY_WIN11_BYPASS_CHECK STRING "0": Do not bypass Windows 11 hardware check.    "1": Bypass Windows 11 hardware check. The default value is "1"
When set to 1, Ventoy will create the following registries to bypass Windows 11 hardware check when install.
Only avaliable for standard Windows 11 ISO file.
HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassRAMCheck
HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassTPMCheck
HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassSecureBootCheck
HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassCPUCheck
VTOY_WIN11_BYPASS_NRO STRING "0": Do not bypass Windows 11 online account requirement.    "1": Bypass Windows 11 online account requirement. The default value is "1".
When set to 1, Ventoy will create the following registry to bypass Windows 11 online account requirement when install.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\BypassNRO
NB: Network MUST be temporarily disabled or unplugged for the local account creation to be proposed.
VTOY_LINUX_REMOUNT STRING "0": I don't need to access the image partition after boot.    "1": I need to access the image partition after boot. Deafult is "0".
This option is only avaliable for Linux distro image files.
By default, the image partition where the ISO files locate can not be accessed after boot. When you try to mount it you will get device busy error. This is due to linux kernel restriction (device-mapper module).
If you select 1 here, Ventoy will try to bypass the restriction with some special mechanism.
But it should be noted that, this is an experimental feature and is not fully tested.
VTOY_SECONDARY_BOOT_MENU STRING "0": Disable secondary boot menu      "1": Enable secondary boot menu. Default is "1"
VTOY_SHOW_PASSWORD_ASTERISK STRING "0": Hide asterisks ('*') when typing password      "1": Show asterisks ('*') when typing password. Default is "1"
VTOY_SECONDARY_TIMEOUT STRING Timeout seconds for the secondary boot menu. Only take effect when VTOY_SECONDARY_BOOT_MENU is 1.
By default no timeout is set. When you set it to 10 for example, the first entry (Boot in normal mode) will be selected an run after 10 seconds.
  • Special VTOY_DEFAULT_IMAGE Values

You can use some special values for VTOY_DEFAULT_IMAGE.
VTOY_EXIT: Ventoy will exit after timeout.
Fn>xx>xx: Fn hotkey menu

{
    "control": [
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "VTOY_EXIT" }
    ]
}

{
    "control": [
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "F5>Power>Halt" }
    ]
}
{
    "control": [
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "F4>Search and boot Windows" }
    ]
}
{
    "control": [
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "F4>Boot the 1st local disk" }
    ]
}
{
    "control": [
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "F5>Check plugin json configuration (ventoy.json)>Check theme plugin configuration" }
    ]
}
  • Multi-Mode

Supported. You can set different configurations for different BIOS mode. Please refer Multi-Mode Option for details.