diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c index 93ad678e..c5897d9e 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c @@ -5551,6 +5551,20 @@ static grub_err_t ventoy_cmd_iso_vd_id_begin(grub_extcmd_context_t ctxt, int arg return ret; } +static grub_err_t ventoy_cmd_fn_mutex_lock(grub_extcmd_context_t ctxt, int argc, char **args) +{ + (void)ctxt; + (void)argc; + + g_ventoy_fn_mutex = 0; + if (argc == 1 && args[0][0] == '1' && args[0][1] == 0) + { + g_ventoy_fn_mutex = 1; + } + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + int ventoy_env_init(void) { char buf[64]; @@ -5751,6 +5765,7 @@ static cmd_para ventoy_cmds[] = { "vt_iso_vd_id_parse", ventoy_cmd_iso_vd_id_parse, 0, NULL, "", "", NULL }, { "vt_iso_vd_id_clear", ventoy_iso_vd_id_clear, 0, NULL, "", "", NULL }, { "vt_iso_vd_id_begin", ventoy_cmd_iso_vd_id_begin, 0, NULL, "", "", NULL }, + { "vt_fn_mutex_lock", ventoy_cmd_fn_mutex_lock, 0, NULL, "", "", NULL }, }; int ventoy_register_all_cmd(void) diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index dfffbe85..f5767080 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -1019,6 +1019,7 @@ extern int g_ventoy_grub2_mode; extern int g_ventoy_wimboot_mode; extern int g_ventoy_iso_uefi_drv; extern int g_ventoy_case_insensitive; +extern int g_ventoy_fn_mutex; extern grub_uint8_t g_ventoy_chain_type; extern int g_vhdboot_enable;