]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - LinuxGUI/Ventoy2Disk/Core/ventoy_disk.c
Disable Fn/L/Ctrl hotkeys on select WIM menu.
[Ventoy.git] / LinuxGUI / Ventoy2Disk / Core / ventoy_disk.c
index 4d0871b86f32ac80fadb55fa8af0a7855616c9b5..04eb7f489c55254f0821286ec0218571cfdb297d 100644 (file)
@@ -232,6 +232,12 @@ static int ventoy_is_possible_blkdev(const char *name)
     {
         return 0;
     }
+    
+    /* /dev/zramX */
+    if (name[0] == 'z' && name[1] == 'r' && name[2] == 'a' && name[3] == 'm')
+    {
+        return 0;
+    }
 
     /* /dev/loopX */
     if (name[0] == 'l' && name[1] == 'o' && name[2] == 'o' && name[3] == 'p')
@@ -330,6 +336,7 @@ static int fatlib_is_secure_boot_enable(void)
     flfile = fl_fopen("/EFI/BOOT/grubx64_real.efi", "rb");
     if (flfile)
     {
+        vlog("/EFI/BOOT/grubx64_real.efi find, secure boot in enabled\n");
         fl_fclose(flfile);
         return 1;
     }
@@ -504,7 +511,12 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)
         goto end;
     }
 
-    vdebug("now check secure boot ...\n");
+    vdebug("ventoy partition layout check OK: [%llu %llu] [%llu %llu]\n", 
+               part1_start_sector, part1_sector_count, part2_start_sector, part2_sector_count);
+
+    vtoy->ventoy_valid = 1;
+
+    vdebug("now check secure boot for %s ...\n", info->disk_path);
 
     g_fatlib_media_fd = fd;
     g_fatlib_media_offset = part2_start_sector;
@@ -516,7 +528,6 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)
         if (ret == 0 && vtoy->ventoy_ver[0])
         {
             vtoy->secure_boot_flag = fatlib_is_secure_boot_enable();            
-            vtoy->ventoy_valid = 1;
         }
         else
         {
@@ -532,6 +543,11 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)
     g_fatlib_media_fd = -1;
     g_fatlib_media_offset = 0;
 
+    if (vtoy->ventoy_ver[0] == 0)
+    {
+        vtoy->ventoy_ver[0] = '?';
+    }
+
     if (0 == vtoy->ventoy_valid)
     {
         goto end;
@@ -546,7 +562,7 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)
 
     rc = 0;
 end:
-    close(fd);
+    vtoy_safe_close_fd(fd);
     return rc;
 }