diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index d7d82fbafce1..9878b8e3c7b5 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -355,10 +355,15 @@ match_boot_info(EFI_LOADED_IMAGE *img __unused, char *boot_info, size_t bisz) /* * If there's only one item in the list, then nothing was - * specified. + * specified. Or if the last path doesn't have a media + * path in it. Those show up as various VenHw() nodes + * which are basically opaque to us. Don't count those + * as something specifc. */ if (last_dp == first_dp) return NOT_SPECIFIC; + if (efi_devpath_to_media_path(last_dp) == NULL) + return NOT_SPECIFIC; /* * OK. At this point we either have a good path or a bad one.