Index: os-prober-1.76/os-probes/mounted/x86/05efi =================================================================== --- os-prober-1.76.orig/os-probes/mounted/x86/05efi +++ os-prober-1.76/os-probes/mounted/x86/05efi @@ -28,13 +28,24 @@ if type udevadm > /dev/null 2>&1; then fi if type udevinfo > /dev/null 2>&1; then - # Skip virtual devices + eval "$(udevinfo -q property -n "$partition" | grep -E '^(MD_CONTAINER|ID_PART_ENTRY_(TYPE|SCHEME))=')" + debug "$partition container is '$MD_CONTAINER'" + + # Skip virtual devices unless they are known SW-RAID if udevinfo -q path -n $partition | grep -q /virtual/; then - debug "$1 is virtual device: exiting" - exit 1 + # Check for Intel Matrix array + if [ -n "$MD_CONTAINER" ]; then + eval "$(udevinfo -q property -n "$MD_CONTAINER" | grep -E '^MD_METADATA=')" + debug "$MD_CONTAINER metadata is '$MD_METADATA'" + fi + if [ "$MD_METADATA" = imsm ]; then + debug "$partition is on IMSM array" + else + debug "$1 is virtual device: exiting" + exit 1 + fi fi - eval "$(udevinfo -q property -n "$partition" | grep -E '^ID_PART_ENTRY_(TYPE|SCHEME)=')" debug "$partition partition scheme is $ID_PART_ENTRY_SCHEME" debug "$partition partition type is $ID_PART_ENTRY_TYPE"