mirror of https://github.com/ventoy/Ventoy.git
1.0.38 release
This commit is contained in:
parent
26b3bca25b
commit
0717195481
|
@ -127,6 +127,7 @@ static ventoy_video_mode *g_video_mode_list = NULL;
|
||||||
static int g_enumerate_time_checked = 0;
|
static int g_enumerate_time_checked = 0;
|
||||||
static grub_uint64_t g_enumerate_start_time_ms;
|
static grub_uint64_t g_enumerate_start_time_ms;
|
||||||
static grub_uint64_t g_enumerate_finish_time_ms;
|
static grub_uint64_t g_enumerate_finish_time_ms;
|
||||||
|
static int g_vtoy_file_flt[VTOY_FILE_FLT_BUTT] = {0};
|
||||||
|
|
||||||
static const char *g_menu_class[] =
|
static const char *g_menu_class[] =
|
||||||
{
|
{
|
||||||
|
@ -233,6 +234,17 @@ static grub_ssize_t ventoy_fs_read(grub_file_t file, char *buf, grub_size_t len)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ventoy_control_get_flag(const char *key)
|
||||||
|
{
|
||||||
|
const char *val = ventoy_get_env(key);
|
||||||
|
|
||||||
|
if (val && val[0] == '1' && val[1] == 0)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static grub_err_t ventoy_fs_close(grub_file_t file)
|
static grub_err_t ventoy_fs_close(grub_file_t file)
|
||||||
{
|
{
|
||||||
grub_file_close(g_old_file);
|
grub_file_close(g_old_file);
|
||||||
|
@ -1270,26 +1282,26 @@ static int ventoy_collect_img_files(const char *filename, const struct grub_dirh
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 == grub_strcasecmp(filename + len - 4, ".iso"))
|
if (FILE_FLT(ISO) && 0 == grub_strcasecmp(filename + len - 4, ".iso"))
|
||||||
{
|
{
|
||||||
type = img_type_iso;
|
type = img_type_iso;
|
||||||
}
|
}
|
||||||
else if (g_wimboot_enable && (0 == grub_strcasecmp(filename + len - 4, ".wim")))
|
else if (FILE_FLT(WIM) && g_wimboot_enable && (0 == grub_strcasecmp(filename + len - 4, ".wim")))
|
||||||
{
|
{
|
||||||
type = img_type_wim;
|
type = img_type_wim;
|
||||||
}
|
}
|
||||||
else if (g_vhdboot_enable && (0 == grub_strcasecmp(filename + len - 4, ".vhd") ||
|
else if (FILE_FLT(VHD) && g_vhdboot_enable && (0 == grub_strcasecmp(filename + len - 4, ".vhd") ||
|
||||||
(len >= 5 && 0 == grub_strcasecmp(filename + len - 5, ".vhdx"))))
|
(len >= 5 && 0 == grub_strcasecmp(filename + len - 5, ".vhdx"))))
|
||||||
{
|
{
|
||||||
type = img_type_vhd;
|
type = img_type_vhd;
|
||||||
}
|
}
|
||||||
#ifdef GRUB_MACHINE_EFI
|
#ifdef GRUB_MACHINE_EFI
|
||||||
else if (0 == grub_strcasecmp(filename + len - 4, ".efi"))
|
else if (FILE_FLT(EFI) && 0 == grub_strcasecmp(filename + len - 4, ".efi"))
|
||||||
{
|
{
|
||||||
type = img_type_efi;
|
type = img_type_efi;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else if (0 == grub_strcasecmp(filename + len - 4, ".img"))
|
else if (FILE_FLT(IMG) && 0 == grub_strcasecmp(filename + len - 4, ".img"))
|
||||||
{
|
{
|
||||||
if (len == 18 && grub_strncmp(filename, "ventoy_", 7) == 0)
|
if (len == 18 && grub_strncmp(filename, "ventoy_", 7) == 0)
|
||||||
{
|
{
|
||||||
|
@ -1301,7 +1313,7 @@ static int ventoy_collect_img_files(const char *filename, const struct grub_dirh
|
||||||
}
|
}
|
||||||
type = img_type_img;
|
type = img_type_img;
|
||||||
}
|
}
|
||||||
else if (len >= 5 && 0 == grub_strcasecmp(filename + len - 5, ".vtoy"))
|
else if (FILE_FLT(VTOY) && len >= 5 && 0 == grub_strcasecmp(filename + len - 5, ".vtoy"))
|
||||||
{
|
{
|
||||||
type = img_type_vtoy;
|
type = img_type_vtoy;
|
||||||
}
|
}
|
||||||
|
@ -2076,6 +2088,13 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_ISO] = ventoy_control_get_flag("VTOY_FILE_FLT_ISO");
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_WIM] = ventoy_control_get_flag("VTOY_FILE_FLT_WIM");
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_EFI] = ventoy_control_get_flag("VTOY_FILE_FLT_EFI");
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_IMG] = ventoy_control_get_flag("VTOY_FILE_FLT_IMG");
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_VHD] = ventoy_control_get_flag("VTOY_FILE_FLT_VHD");
|
||||||
|
g_vtoy_file_flt[VTOY_FILE_FLT_VTOY] = ventoy_control_get_flag("VTOY_FILE_FLT_VTOY");
|
||||||
|
|
||||||
for (node = &g_img_iterator_head; node; node = node->next)
|
for (node = &g_img_iterator_head; node; node = node->next)
|
||||||
{
|
{
|
||||||
fs->fs_dir(dev, node->dir, ventoy_collect_img_files, node);
|
fs->fs_dir(dev, node->dir, ventoy_collect_img_files, node);
|
||||||
|
|
|
@ -76,6 +76,20 @@
|
||||||
return (err);\
|
return (err);\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef enum VTOY_FILE_FLT
|
||||||
|
{
|
||||||
|
VTOY_FILE_FLT_ISO = 0, /* .iso */
|
||||||
|
VTOY_FILE_FLT_WIM, /* .wim */
|
||||||
|
VTOY_FILE_FLT_EFI, /* .efi */
|
||||||
|
VTOY_FILE_FLT_IMG, /* .img */
|
||||||
|
VTOY_FILE_FLT_VHD, /* .vhd(x) */
|
||||||
|
VTOY_FILE_FLT_VTOY, /* .vtoy */
|
||||||
|
|
||||||
|
VTOY_FILE_FLT_BUTT
|
||||||
|
}VTOY_FILE_FLT;
|
||||||
|
|
||||||
|
#define FILE_FLT(type) (0 == g_vtoy_file_flt[VTOY_FILE_FLT_##type])
|
||||||
|
|
||||||
typedef struct ventoy_initrd_ctx
|
typedef struct ventoy_initrd_ctx
|
||||||
{
|
{
|
||||||
const char *path_prefix;
|
const char *path_prefix;
|
||||||
|
|
|
@ -1606,7 +1606,7 @@ function img_unsupport_menuentry {
|
||||||
#############################################################
|
#############################################################
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
set VENTOY_VERSION="1.0.37"
|
set VENTOY_VERSION="1.0.38"
|
||||||
|
|
||||||
#ACPI not compatible with Window7/8, so disable by default
|
#ACPI not compatible with Window7/8, so disable by default
|
||||||
set VTOY_PARAM_NO_ACPI=1
|
set VTOY_PARAM_NO_ACPI=1
|
||||||
|
|
Binary file not shown.
12
README.md
12
README.md
|
@ -16,7 +16,7 @@ You can copy many image files at a time and ventoy will give you a boot menu to
|
||||||
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.<br/>
|
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.<br/>
|
||||||
Both MBR and GPT partition style are supported in the same way.<br/>
|
Both MBR and GPT partition style are supported in the same way.<br/>
|
||||||
Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...) <br/>
|
Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...) <br/>
|
||||||
620+ ISO files are tested. 90%+ distros in distrowatch.com supported. <br/>
|
650+ ISO files are tested. 90%+ distros in distrowatch.com supported. <br/>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
|
@ -35,7 +35,7 @@ Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...) <br/>
|
||||||
* FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition
|
* FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition
|
||||||
* ISO files larger than 4GB supported
|
* ISO files larger than 4GB supported
|
||||||
* Native boot menu style for Legacy & UEFI
|
* Native boot menu style for Legacy & UEFI
|
||||||
* Most type of OS supported, 610+ iso files tested
|
* Most type of OS supported, 650+ iso files tested
|
||||||
* Linux vDisk boot supported
|
* Linux vDisk boot supported
|
||||||
* Not only boot but also complete installation process
|
* Not only boot but also complete installation process
|
||||||
* Menu dynamically switchable between List/TreeView mode
|
* Menu dynamically switchable between List/TreeView mode
|
||||||
|
@ -62,12 +62,19 @@ Please refer to [BuildVentoyFromSource.txt](https://github.com/ventoy/Ventoy/blo
|
||||||
Title | Link
|
Title | Link
|
||||||
-|-
|
-|-
|
||||||
**Install & Update** | [https://www.ventoy.net/en/doc_start.html](https://www.ventoy.net/en/doc_start.html)
|
**Install & Update** | [https://www.ventoy.net/en/doc_start.html](https://www.ventoy.net/en/doc_start.html)
|
||||||
|
**Secure Boot** | [https://www.ventoy.net/en/doc_secure.html](https://www.ventoy.net/en/doc_secure.html)
|
||||||
**Customize Theme** | [https://www.ventoy.net/en/plugin_theme.html](https://www.ventoy.net/en/plugin_theme.html)
|
**Customize Theme** | [https://www.ventoy.net/en/plugin_theme.html](https://www.ventoy.net/en/plugin_theme.html)
|
||||||
**Global Control** | [https://www.ventoy.net/en/plugin_control.html](https://www.ventoy.net/en/plugin_control.html)
|
**Global Control** | [https://www.ventoy.net/en/plugin_control.html](https://www.ventoy.net/en/plugin_control.html)
|
||||||
|
**Image List** | [https://www.ventoy.net/en/plugin_imagelist.html](https://www.ventoy.net/en/plugin_imagelist.html)
|
||||||
**Auto Installation** | [https://www.ventoy.net/en/plugin_autoinstall.html](https://www.ventoy.net/en/plugin_autoinstall.html)
|
**Auto Installation** | [https://www.ventoy.net/en/plugin_autoinstall.html](https://www.ventoy.net/en/plugin_autoinstall.html)
|
||||||
**Injection Plugin** | [https://www.ventoy.net/en/plugin_injection.html](https://www.ventoy.net/en/plugin_injection.html)
|
**Injection Plugin** | [https://www.ventoy.net/en/plugin_injection.html](https://www.ventoy.net/en/plugin_injection.html)
|
||||||
**Persistence Support** | [https://www.ventoy.net/en/plugin_persistence.html](https://www.ventoy.net/en/plugin_persistence.html)
|
**Persistence Support** | [https://www.ventoy.net/en/plugin_persistence.html](https://www.ventoy.net/en/plugin_persistence.html)
|
||||||
**Boot WIM file** | [https://www.ventoy.net/en/plugin_wimboot.html](https://www.ventoy.net/en/plugin_wimboot.html)
|
**Boot WIM file** | [https://www.ventoy.net/en/plugin_wimboot.html](https://www.ventoy.net/en/plugin_wimboot.html)
|
||||||
|
**Windows VHD Boot** | [https://www.ventoy.net/en/plugin_vhdboot.html](https://www.ventoy.net/en/plugin_vhdboot.html)
|
||||||
|
**Linux vDisk Boot** | [https://www.ventoy.net/en/plugin_vtoyboot.html](https://www.ventoy.net/en/plugin_vtoyboot.html)
|
||||||
|
**DUD Plugin** | [https://www.ventoy.net/en/plugin_dud.html](https://www.ventoy.net/en/plugin_dud.html)
|
||||||
|
**Password Plugin** | [https://www.ventoy.net/en/plugin_password.html](https://www.ventoy.net/en/plugin_password.html)
|
||||||
|
**Conf Replace Plugin** | [https://www.ventoy.net/en/plugin_bootconf_replace.html](https://www.ventoy.net/en/plugin_bootconf_replace.html)
|
||||||
**Menu Class** | [https://www.ventoy.net/en/plugin_menuclass.html](https://www.ventoy.net/en/plugin_menuclass.html)
|
**Menu Class** | [https://www.ventoy.net/en/plugin_menuclass.html](https://www.ventoy.net/en/plugin_menuclass.html)
|
||||||
**Menu Alias** | [https://www.ventoy.net/en/plugin_menualias.html](https://www.ventoy.net/en/plugin_menualias.html)
|
**Menu Alias** | [https://www.ventoy.net/en/plugin_menualias.html](https://www.ventoy.net/en/plugin_menualias.html)
|
||||||
**Menu Extension** | [https://www.ventoy.net/en/plugin_grubmenu.html](https://www.ventoy.net/en/plugin_grubmenu.html)
|
**Menu Extension** | [https://www.ventoy.net/en/plugin_grubmenu.html](https://www.ventoy.net/en/plugin_grubmenu.html)
|
||||||
|
@ -75,6 +82,7 @@ Title | Link
|
||||||
**TreeView Mode** | [https://www.ventoy.net/en/doc_treeview.html](https://www.ventoy.net/en/doc_treeview.html)
|
**TreeView Mode** | [https://www.ventoy.net/en/doc_treeview.html](https://www.ventoy.net/en/doc_treeview.html)
|
||||||
**Disk Layout MBR** | [https://www.ventoy.net/en/doc_disk_layout.html](https://www.ventoy.net/en/doc_disk_layout.html)
|
**Disk Layout MBR** | [https://www.ventoy.net/en/doc_disk_layout.html](https://www.ventoy.net/en/doc_disk_layout.html)
|
||||||
**Disk Layout GPT** | [https://www.ventoy.net/en/doc_disk_layout_gpt.html](https://www.ventoy.net/en/doc_disk_layout_gpt.html)
|
**Disk Layout GPT** | [https://www.ventoy.net/en/doc_disk_layout_gpt.html](https://www.ventoy.net/en/doc_disk_layout_gpt.html)
|
||||||
|
**Search Configuration** | [https://www.ventoy.net/en/doc_search_path.html](https://www.ventoy.net/en/doc_search_path.html)
|
||||||
|
|
||||||
|
|
||||||
# FAQ
|
# FAQ
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue