/usr/lib/linux-boot-probes/mounted/40grub is in os-prober 1.63ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #!/bin/sh
. /usr/share/os-prober/common.sh
set -e
partition="$1"
bootpart="$2"
mpoint="$3"
type="$4"
found_item=0
entry_result () {
if [ "$ignore_item" = 0 ] && \
[ -n "$kernel" ] && \
[ -e "$mpoint/$kernel" ]; then
result "$rootpart:$bootpart:$title:$kernel:$initrd:$parameters"
found_item=1
fi
kernel=""
parameters=""
initrd=""
title=""
ignore_item=0
}
parse_grub_menu () {
mpoint="$1"
rootpart="$2"
bootpart="$3"
kernel=""
parameters=""
initrd=""
title=""
ignore_item=0
while read line; do
#debug "parsing: $line"
set -f
set -- $line
set +f
case "$1" in
title)
entry_result
shift 1
title="$(echo "$@" | sed 's/://g')"
if echo "$title" | grep -q '(on /dev/[^)]*)$'; then
log "Skipping entry '$title':"
log "appears to be an automatic reference taken from another menu.lst"
ignore_item=1
fi
;;
kernel)
# Hack alert: sed off any (hdn,n) but
# assume the kernel is on the same
# partition.
kernel="$(echo "$2" | sed 's/(.*)//')"
shift 2
parameters="$@"
# Systems with a separate /boot will not have
# the path to the kernel in menu.lst.
if [ "$partition" != "$bootpart" ]; then
kernel="/boot$kernel"
fi
;;
initrd)
# Hack alert take 2: sed off any (hdn,n)
# See #566102
initrd="$(echo "$2" | sed 's/(.*)//')"
# Initrd same.
if [ "$partition" != "$bootpart" ]; then
initrd="/boot$initrd"
fi
;;
boot)
entry_result
;;
module)
log "Skipping entry '$title':"
log "parsing of entries containing 'module' lines is currently not supported"
ignore_item=1
;;
esac
done
entry_result
}
grubconf=
if [ -e "$mpoint/boot/grub/menu.lst" ]; then
grubconf="menu.lst"
elif [ -e "$mpoint/boot/grub/grub.conf" ]; then
grubconf="grub.conf"
fi
if [ "$grubconf" ] && \
([ ! -e "$mpoint/boot/grub/grub.cfg" ] || \
[ "$mpoint/boot/grub/$grubconf" -nt "$mpoint/boot/grub/grub.cfg" ]); then
debug "parsing $grubconf"
parse_grub_menu "$mpoint" "$partition" "$bootpart" < "$mpoint/boot/grub/$grubconf"
fi
if [ "$found_item" = 0 ]; then
exit 1
else
exit 0
fi
|