mirror of https://github.com/ventoy/Ventoy.git
Fix the 'overflow is detected' error in WIMBOOT mode for large ISO file.
This commit is contained in:
parent
10b80f2690
commit
635b1a1c6c
|
@ -229,6 +229,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-EQ") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
== grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_strcmp (args[*argn + 1], "-ge") == 0)
|
if (grub_strcmp (args[*argn + 1], "-ge") == 0)
|
||||||
{
|
{
|
||||||
|
@ -237,6 +244,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-GE") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
>= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_strcmp (args[*argn + 1], "-gt") == 0)
|
if (grub_strcmp (args[*argn + 1], "-gt") == 0)
|
||||||
{
|
{
|
||||||
|
@ -245,6 +259,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-GT") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
> grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_strcmp (args[*argn + 1], "-le") == 0)
|
if (grub_strcmp (args[*argn + 1], "-le") == 0)
|
||||||
{
|
{
|
||||||
|
@ -253,6 +274,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-LE") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
<= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_strcmp (args[*argn + 1], "-lt") == 0)
|
if (grub_strcmp (args[*argn + 1], "-lt") == 0)
|
||||||
{
|
{
|
||||||
|
@ -261,6 +289,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-LT") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
< grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_strcmp (args[*argn + 1], "-ne") == 0)
|
if (grub_strcmp (args[*argn + 1], "-ne") == 0)
|
||||||
{
|
{
|
||||||
|
@ -269,6 +304,13 @@ test_parse (char **args, int *argn, int argc)
|
||||||
(*argn) += 3;
|
(*argn) += 3;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (grub_strcmp (args[*argn + 1], "-NE") == 0)
|
||||||
|
{
|
||||||
|
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||||
|
!= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||||
|
(*argn) += 3;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* GRUB extension: compare numbers skipping prefixes.
|
/* GRUB extension: compare numbers skipping prefixes.
|
||||||
Useful for comparing versions. E.g. vmlinuz-2 -plt vmlinuz-11. */
|
Useful for comparing versions. E.g. vmlinuz-2 -plt vmlinuz-11. */
|
||||||
|
|
|
@ -158,7 +158,7 @@ function get_os_type {
|
||||||
function vt_check_compatible_pe {
|
function vt_check_compatible_pe {
|
||||||
#Check for PE without external tools
|
#Check for PE without external tools
|
||||||
#set compatible if ISO file is less than 80MB
|
#set compatible if ISO file is less than 80MB
|
||||||
if [ $vt_chosen_size -gt 33554432 -a $vt_chosen_size -le 83886080 ]; then
|
if [ $vt_chosen_size -GT 33554432 -a $vt_chosen_size -LE 83886080 ]; then
|
||||||
set ventoy_compatible=YES
|
set ventoy_compatible=YES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -770,7 +770,7 @@ function uefi_linux_menu_func {
|
||||||
|
|
||||||
vt_linux_chain_data "${1}${chosen_path}"
|
vt_linux_chain_data "${1}${chosen_path}"
|
||||||
|
|
||||||
if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -lt 104857600 ]; then
|
if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -LT 104857600 ]; then
|
||||||
if [ -f (loop)/efi/clover/cloverx64.efi ]; then
|
if [ -f (loop)/efi/clover/cloverx64.efi ]; then
|
||||||
unset LoadIsoEfiDriver
|
unset LoadIsoEfiDriver
|
||||||
fi
|
fi
|
||||||
|
@ -1309,7 +1309,7 @@ function iso_common_menuentry {
|
||||||
vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
|
vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
|
||||||
|
|
||||||
vt_parse_iso_volume "${vtoy_iso_part}${vt_chosen_path}" vt_system_id vt_volume_id vt_volume_space
|
vt_parse_iso_volume "${vtoy_iso_part}${vt_chosen_path}" vt_system_id vt_volume_id vt_volume_space
|
||||||
if [ $vt_volume_space -ne $vt_chosen_size ]; then
|
if [ $vt_volume_space -NE $vt_chosen_size ]; then
|
||||||
vt_mod $vt_chosen_size 2048 vt_chosen_size_mod
|
vt_mod $vt_chosen_size 2048 vt_chosen_size_mod
|
||||||
if [ $vt_chosen_size_mod -ne 0 ]; then
|
if [ $vt_chosen_size_mod -ne 0 ]; then
|
||||||
echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
|
echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
|
||||||
|
@ -1357,7 +1357,7 @@ function iso_common_menuentry {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#For iKuai8 (<64MB)
|
#For iKuai8 (<64MB)
|
||||||
if [ $vt_chosen_size -le 67108864 ]; then
|
if [ $vt_chosen_size -LE 67108864 ]; then
|
||||||
if vt_str_begin "$vt_chosen_name" "iKuai"; then
|
if vt_str_begin "$vt_chosen_name" "iKuai"; then
|
||||||
set vtMemDiskBoot=1
|
set vtMemDiskBoot=1
|
||||||
fi
|
fi
|
||||||
|
@ -1799,7 +1799,7 @@ function ventoy_img_ubos {
|
||||||
}
|
}
|
||||||
|
|
||||||
function ventoy_img_recalbox {
|
function ventoy_img_recalbox {
|
||||||
if [ $vtoy_img_max_part_end -gt $vt_chosen_size ]; then
|
if [ $vtoy_img_max_part_end -GT $vt_chosen_size ]; then
|
||||||
echo -e "\nPlease extend the img file size before boot it. \n"
|
echo -e "\nPlease extend the img file size before boot it. \n"
|
||||||
ventoy_pause
|
ventoy_pause
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue