diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c index 0a24cd9a..9c8fc0e7 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c @@ -1138,14 +1138,15 @@ EFI_STATUS EFIAPI ventoy_install_blockio(IN EFI_HANDLE ImageHandle, IN UINT64 Im { gBlockData.Media.BlockSize = 512; gBlockData.Media.LastBlock = ImgSize / 512 - 1; + gBlockData.Media.ReadOnly = FALSE; } else { gBlockData.Media.BlockSize = 2048; gBlockData.Media.LastBlock = ImgSize / 2048 - 1; + gBlockData.Media.ReadOnly = TRUE; } - gBlockData.Media.ReadOnly = TRUE; gBlockData.Media.MediaPresent = 1; gBlockData.Media.LogicalBlocksPerPhysicalBlock = 1; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c index c09b5616..2ff731f1 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c @@ -1501,20 +1501,20 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha isosize = file->size; - boot_catlog = ventoy_get_iso_boot_catlog(file); - if (boot_catlog) + len = (int)grub_strlen(args[0]); + if (len >= 4 && 0 == grub_strcasecmp(args[0] + len - 4, ".img")) { - if (ventoy_is_efi_os() && (!ventoy_has_efi_eltorito(file, boot_catlog))) - { - grub_env_set("LoadIsoEfiDriver", "on"); - } + debug("boot catlog %u for img file\n", boot_catlog); } else { - len = (int)grub_strlen(args[0]); - if (len >= 4 && 0 == grub_strcasecmp(args[0] + len - 4, ".img")) + boot_catlog = ventoy_get_iso_boot_catlog(file); + if (boot_catlog) { - debug("boot catlog %u for img file\n", boot_catlog); + if (ventoy_is_efi_os() && (!ventoy_has_efi_eltorito(file, boot_catlog))) + { + grub_env_set("LoadIsoEfiDriver", "on"); + } } else { diff --git a/GRUB2/MOD_SRC/grub-2.04/install.sh b/GRUB2/MOD_SRC/grub-2.04/install.sh index 59d7d0ba..5b7175b4 100644 --- a/GRUB2/MOD_SRC/grub-2.04/install.sh +++ b/GRUB2/MOD_SRC/grub-2.04/install.sh @@ -97,6 +97,8 @@ elif [ "$1" = "arm64" ]; then if ! echo $all_modules | grep -q " ${line%.mod} "; then echo "Copy $line ..." cp -a $VT_DIR/GRUB2/INSTALL/lib/grub/arm64-efi/$line $VT_DIR/INSTALL/grub/arm64-efi/ + xz $VT_DIR/INSTALL/grub/arm64-efi/$line + mv $VT_DIR/INSTALL/grub/arm64-efi/${line}.xz $VT_DIR/INSTALL/grub/arm64-efi/${line} fi done elif [ "$1" = "mips64el" ]; then diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index dc3f6464..66537063 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -1758,6 +1758,7 @@ function legacy_img_memdisk { function img_common_menuentry { set ventoy_compatible=YES set ventoy_busybox_ver=32 + unset LoadIsoEfiDriver vt_chosen_img_path vt_chosen_path vt_chosen_size diff --git a/INSTALL/tool/ventoy_lib.sh b/INSTALL/tool/ventoy_lib.sh index a394eb14..709ce2c0 100644 --- a/INSTALL/tool/ventoy_lib.sh +++ b/INSTALL/tool/ventoy_lib.sh @@ -320,7 +320,7 @@ EOF for i in 0 1 2 3 4 5 6 7 8 9; do check_umount_disk "$PART2" - if mkfs.vfat -F 16 -n VTOYEFI $PART2; then + if mkfs.vfat -F 16 -n VTOYEFI -s 1 $PART2; then echo 'success' break else diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh index d6eedbaf..8d47fe74 100644 --- a/INSTALL/ventoy_pack.sh +++ b/INSTALL/ventoy_pack.sh @@ -77,9 +77,13 @@ cp $OPT ./tool/ENROLL_THIS_KEY_IN_MOKMANAGER.cer $tmpmnt/ mkdir -p $tmpmnt/tool -cp $OPT ./tool/i386/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_i386 -cp $OPT ./tool/x86_64/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_x86_64 -cp $OPT ./tool/aarch64/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_aarch64 +# cp $OPT ./tool/i386/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_i386 +# cp $OPT ./tool/x86_64/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_x86_64 +# cp $OPT ./tool/aarch64/mount.exfat-fuse $tmpmnt/tool/mount.exfat-fuse_aarch64 +# to save space +cp $OPT ./tool/i386/vtoygpt $tmpmnt/tool/mount.exfat-fuse_i386 +cp $OPT ./tool/x86_64/vtoygpt $tmpmnt/tool/mount.exfat-fuse_x86_64 +cp $OPT ./tool/aarch64/vtoygpt $tmpmnt/tool/mount.exfat-fuse_aarch64 rm -f $tmpmnt/grub/i386-pc/*.img