[Bug 1287436] Re: grub-probe fails in the presence of snapshot logical volumes

Mastakilla masta.killa at telenet.be
Mon Mar 21 12:56:19 UTC 2016


1)
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.

This warning is because of https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1258597
I was able to solve it by:

function Fix_grub_config() {
  if grep -q "^GRUB_HIDDEN_TIMEOUT=0$" /etc/default/grub || grep -q "^GRUB_HIDDEN_TIMEOUT_QUIET=true$" /etc/default/grub; then
    echo -en "ACTION:\tFixing Grub config... "
    sed -i "s/^GRUB_HIDDEN_TIMEOUT=0$/#GRUB_HIDDEN_TIMEOUT=0/" /etc/default/grub
   sed -i "s/^GRUB_HIDDEN_TIMEOUT_QUIET=true$/#GRUB_HIDDEN_TIMEOUT_QUIET=true/" /etc/default/grub
    echo "Done."
  fi
}

But this fix brings up a new issue for me personally. When running the dist-upgrade, it now shows a pop-up from "grub-pc config", complaining that I modified /etc/default/grub asking me what to do.
As I'm trying to run the dist-upgrade non-interactively, this is a bigger issue for me than the warning, so I will not perform this fix...

2)
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy

By using set -xv I was able to track down this issue a bit further:

/usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
--> /etc/grub.d/30_os-prober 
--> OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" 
--> /usr/bin/os-prober
--> /usr/lib/os-probes/50mounted-tests /dev/sda5

if [ "$mounted" ]; then
                for test in /usr/lib/os-probes/mounted/*; do
                                debug "running subtest $test"
                                if [ -f "$test" ] && [ -x "$test" ]; then
                                                if "$test" "$partition" "$tmpmnt" "$type"; then
                                                                debug "os found by subtest $test"
                                                                if ! umount "$tmpmnt"; then
                                                                                warn "failed to umount $tmpmnt"
                                                                fi
                                                                case "$type" in
                                                                    btrfs)
                                                                                # umount to account for the bind-mount
                                                                                if [ -x "$tmpmnt/@/lib" ] && \
                                                                                   ! umount $tmpmnt; then
                                                                                                warn "failed to umount $tmpmnt"
                                                                                fi
                                                                                ;;
                                                                esac
                                                                rmdir "$tmpmnt" || true
                                                                exit 0
                                                fi
                                fi
                done
                if ! umount "$tmpmnt"; then
                                warn "failed to umount $tmpmnt"
                fi
fi
+ [  ]

rmdir "$tmpmnt" || true
+ rmdir /var/lib/os-prober/mount
rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy

PERSONAL CONCLUSION (please correct me if I'm wrong):
Although it is not nice, I don't see anything dangerous in not being able to successfully unmount a FS and clean up that folder.
After a reboot (which I do anyway), most of this should be solved anyway...

3)
grub-probe: error: unknown filesystem.

By using set -xv I was able to track down this issue a bit further:

/usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
--> /etc/grub.d/30_os-prober 
--> OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`" 
--> /usr/bin/os-prober
--> /usr/lib/os-probes/50mounted-tests /dev/mapper/vgos-rootsnapvol
--> grub-probe -d /dev/mapper/vgos-rootsnapvol -t fs

I'm able to reproduce the error and by changing the path a bit also to
solve it:

root at dcmilphlum173:~# grub-probe -d /dev/mapper/vgos-rootsnapvol
grub-probe: error: unknown filesystem.
root at dcmilphlum173:~# grub-probe -d /dev/vgos/rootsnapvol
ext2
root at dcmilphlum173:~# 

although both paths seem the same:

root at dcmilphlum173:~# ls -la /dev/mapper/vgos-rootsnapvol
lrwxrwxrwx 1 root root 7 Mar 18 06:30 /dev/mapper/vgos-rootsnapvol -> ../dm-6
root at dcmilphlum173:~# ls -la /dev/vgos/rootsnapvol 
lrwxrwxrwx 1 root root 7 Mar 18 06:30 /dev/vgos/rootsnapvol -> ../dm-6
root at dcmilphlum173:~# 

PERSONAL CONCLUSION (please correct me if I'm wrong):
Also here I don't see any big danger, as grub shouldn't do anything with those snapshot volumes anyway...

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1287436

Title:
  grub-probe fails in the presence of snapshot logical volumes

Status in grub2 package in Ubuntu:
  Fix Released

Bug description:
  Found in: 2.02~beta2-6

  My upgrade from saucy to trusty ran into problems, with grub-probe
  failing with "unknown filesystem", which propogated up to cause the
  kernel install to fail, resulting in a machine where I cannot install
  packages.  After some debugging:

  (missing here is the trace of it failing with the original snapshot in
  place, that I created to give me a way back in the event that trusty
  hated me horribly.)

  -rover3(root) 351 : update-grub
  Generating grub configuration file ...
  Found linux image: /boot/vmlinuz-3.13.0-13-generic
  Found initrd image: /boot/initrd.img-3.13.0-13-generic
  Found linux image: /boot/vmlinuz-3.11.0-17-generic
  Found initrd image: /boot/initrd.img-3.11.0-17-generic
  Found memtest86+ image: /memtest86+.elf
  Found Ubuntu 12.04.1 LTS (12.04) on /dev/mapper/rover3-p
  Found Ubuntu 13.04 (13.04) on /dev/mapper/rover3-root
  Found Ubuntu 13.10 (13.10) on /dev/mapper/rover3-saucy--that--was
  done
  -rover3(root) 352 : lvcreate -s /dev/rover3/saucy -L 30G -n saucy-save
    Logical volume "saucy-save" created
  -rover3(root) 353 : update-grub
  Generating grub configuration file ...
  Found linux image: /boot/vmlinuz-3.13.0-13-generic
  Found initrd image: /boot/initrd.img-3.13.0-13-generic
  Found linux image: /boot/vmlinuz-3.11.0-17-generic
  Found initrd image: /boot/initrd.img-3.11.0-17-generic
  Found memtest86+ image: /memtest86+.elf
  grub-probe: error: unknown filesystem.
  Found Ubuntu 12.04.1 LTS (12.04) on /dev/mapper/rover3-p
  Found Ubuntu 13.04 (13.04) on /dev/mapper/rover3-root
  /usr/sbin/grub-probe: error: unknown filesystem.
  -rover3(root) 354 : 

  Bug # 563895 may or may not be relevant.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1287436/+subscriptions



More information about the foundations-bugs mailing list