]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/grub/grub.cfg
Support Lenovo EasyStartup
[Ventoy.git] / INSTALL / grub / grub.cfg
index dc3f64643543b265ec16a07e7e67758dc0ff73ef..e596a0aad2b68891773adf928377a6b5f822e7b7 100644 (file)
@@ -761,6 +761,8 @@ function ventoy_reset_nojoliet {
     else
         vt_iso9660_nojoliet 0
     fi
+    
+    vt_append_extra_sector 0
 }
 
 function uefi_iso_menu_func {
@@ -787,6 +789,12 @@ function uefi_iso_menu_func {
     else
         set ventoy_fs_probe=iso9660
         ventoy_reset_nojoliet
+
+        # Lenovo EasyStartup need an addional sector for boundary check
+        if vt_str_begin "$vt_volume_id" "EasyStartup"; then
+            vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}"
+            vt_append_extra_sector 1
+        fi
     fi
 
     loopback loop "${1}${chosen_path}"
@@ -1758,6 +1766,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
     
@@ -1939,9 +1948,11 @@ vt_load_part_table $vtoydev
 
 #Load Plugin
 if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then
-   clear
-   vt_load_plugin $vtoy_iso_part
-   clear
+    clear
+    vt_load_plugin $vtoy_iso_part
+    clear
+else
+    vt_check_json_path_case $vtoy_iso_part
 fi
 
 if [ -n "$VTOY_MENU_TIMEOUT" ]; then
@@ -2008,6 +2019,15 @@ if [ -n "$VTOY_DEFAULT_KBD_LAYOUT" ]; then
     set_keyboard_layout "$VTOY_DEFAULT_KBD_LAYOUT"
 fi
 
+if [ -n "$VTOY_PLUGIN_PATH_CASE_MISMATCH" ]; then
+    clear
+    echo "$VTOY_PLUGIN_PATH_CASE_MISMATCH"
+    echo -e "\n\nPath case does not match! ventoy directory and ventoy.json MUST be all lowercase!"
+    echo -e "\n路径大小写不匹配!ventoy 目录和 ventoy.json 文件的名字必须是全部小写,请修正!"
+    echo -e "\n\npress ENTER to continue (请按回车键继续) ..."
+    read vtInputKey
+fi
+
 if [ -n "$VTOY_PLUGIN_SYNTAX_ERROR" ]; then
     clear
     echo -e "\n Syntax error detected in ventoy.json, please check! \n"