Custom ISO Works on KVM! But Why Isn’t the DVD Recognized on ESXi and Physical Servers?

Hello, I have created a custom ISO.
The process involved enabling nested CPU virtualization in VMware and creating a custom ISO on Rocky 9.5 OS.
When I tested it on KVM, the OS installation worked well without any issues. However, when testing on ESXi and physical servers, the DVD itself was not recognized.

What could be the problem?

Here are the commands I used:

1 test

[root@localhost /]# mkisofs -o custom.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -J -R -V "Rocky-9.5-Custom" \
    /custom

mkisofs -o custom.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -eltorito-alt-boot \
    -e EFI/BOOT/BOOTX64.EFI \
    -no-emul-boot \
    -J -R \
    -V "Rocky-9-5-x86_64-dvd" \
    /custom

1-1 test

isohybrid --uefi custom.iso
isohybrid: Warning: more than 1024 cylinders: 2598
isohybrid: Not all BIOSes will be able to boot this device

1-2 test

[root@localhost /]# isohybrid --partok --id 17 custom.iso
isohybrid: Warning: more than 1024 cylinders: 2598
isohybrid: Not all BIOSes will be able to boot this device

All test

Below is the ISO information:

[root@localhost mnt]# xorriso -indev /custom.iso -ls
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :    2001 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '/custom.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito
Media summary: 1 session, 1329733 data blocks, 2597m data,  169g free
Volume id    : 'Rocky-9-5-x86_64-dvd'
Valid ISO nodes found: 11
'.discinfo'
'.treeinfo'
'BaseOS'
'EFI'
'LICENSE'
'images'
'isolinux'
'media.repo'
'minimal'
'packages'
'rpms'


[root@localhost custom]# xorriso -indev /Rocky-9.5-x86_64-minimal.iso -ls
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :     664 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '/Rocky-9.5-x86_64-minimal.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR isohybrid cyl-align-off GPT
Media summary: 1 session, 925664 data blocks, 1808m data,  171g free
Volume id    : 'Rocky-9-5-x86_64-dvd'
Valid ISO nodes found: 9
'.discinfo'
'.treeinfo'
'BaseOS'
'EFI'
'LICENSE'
'images'
'isolinux'
'media.repo'
'minimal'

Here is the isolinux.cfg file and other relevant information:
(please include the details of the isolinux.cfg and other files here)

default linux
timeout 0

display boot.msg



label linux
  menu label ^Install Rocky Linux 9.5
  kernel /images/pxeboot/vmlinuz
  append initrd=/images/pxeboot/initrd.img inst.stage2=hd:LABEL=Rocky-9-5-x86_64-dvd quiet


menu separator # insert an empty line
[root@localhost mnt]# tree images/
images/
├── efiboot.img
├── install.img
└── pxeboot
    ├── initrd.img
    └── vmlinuz
[root@localhost mnt]# tree EFI/
EFI/
└── BOOT
    ├── BOOTX64.EFI
    ├── fonts
    │   └── unicode.pf2
    ├── grub.cfg
    ├── grubx64.efi
    └── mmx64.efi

2 directories, 5 files

Help me T.T