Index: os-prober/os-probes/common/50mounted-tests =================================================================== --- os-prober.orig/os-probes/common/50mounted-tests +++ os-prober/os-probes/common/50mounted-tests @@ -115,6 +115,7 @@ if [ "$types" = btrfs ]; then subvols=$(btrfs subvolume list -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\/!!) rosubvols=$(btrfs subvolume list -r -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\/!!) sssubvols=$(btrfs subvolume list -s -a "$tmpmnt" | cut -d ' ' -f 14 | sed -e s!^\/!!) + defaultvol=$(btrfs subvolume get-default "$tmpmnt" | cut -d ' ' -f 9) if ! umount "$tmpmnt"; then warn "failed to umount btrfs volume on $tmpmnt" rmdir "$tmpmnt" || true @@ -127,11 +128,13 @@ if [ "$types" = btrfs ]; then found= for subvol in $subvols; do debug "begin btrfs processing for $UUID subvol=$subvol" - if echo "$rosubvols" | grep -q -x "$subvol"; then - continue - fi - if echo "$sssubvols" | grep -q -x "$subvol"; then - continue + if [ "$subvol" != "$defaultvol" ]; then + if echo "$rosubvols" | grep -q -x "$subvol"; then + continue + fi + if echo "$sssubvols" | grep -q -x "$subvol"; then + continue + fi fi mounted= mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | grep "/$subvol " | cut -d ' ' -f 5)"