Not only does it not work, it errors out with:
% sudo update-grub /usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/oldvgname-lvroot'. Which is to say: % sudo sh -ex /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg + set -e + prefix=/usr + exec_prefix=/usr + datarootdir=/usr/share + prefix=/usr + exec_prefix=/usr + sbindir=/usr/sbin + bindir=/usr/bin + sysconfdir=/etc + PACKAGE_NAME=GRUB + PACKAGE_VERSION=2.02~beta3-5+deb9u1 + host_os=linux-gnu + datadir=/usr/share + [ x = x ] + pkgdatadir=/usr/share/grub + export pkgdatadir + grub_cfg= + grub_mkconfig_dir=/etc/grub.d + basename /usr/sbin/grub-mkconfig + self=grub-mkconfig + grub_probe=/usr/sbin/grub-probe + grub_file=/usr/bin/grub-file + grub_editenv=/usr/bin/grub-editenv + grub_script_check=/usr/bin/grub-script-check + export TEXTDOMAIN=grub + export TEXTDOMAINDIR=/usr/share/locale + . /usr/share/grub/grub-mkconfig_lib + prefix=/usr + exec_prefix=/usr + datarootdir=/usr/share + datadir=/usr/share + bindir=/usr/bin + sbindir=/usr/sbin + [ x/usr/share/grub = x ] + test x/usr/sbin/grub-probe = x + test x/usr/bin/grub-file = x + test x = x + grub_mkrelpath=/usr/bin/grub-mkrelpath + which gettext + : + grub_tab= + test 2 -gt 0 + option=-o + shift + argument -o /boot/grub/grub.cfg + opt=-o + shift + test 1 -eq 0 + echo /boot/grub/grub.cfg + grub_cfg=/boot/grub/grub.cfg + shift + test 0 -gt 0 + fgrep -qs ${GRUB_PREFIX}/video.lst /etc/grub.d/00_header + [ x = x ] + id -u + EUID=0 + [ 0 != 0 ] + set /usr/sbin/grub-probe dummy + test -f /usr/sbin/grub-probe + : + /usr/sbin/grub-probe --target=device / /usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/oldvgname-lvroot'. + GRUB_DEVICE= Which is to say: % sudo strace grub-probe --target=device / 2>&1 | grep -E '(mapper|vg|lv|dev|mount)' execve("/usr/sbin/grub-probe", ["grub-probe", "--target=device", "/"], [/* 17 vars */]) = 0 open("/lib/x86_64-linux-gnu/libdevmapper.so.1.02.1", O_RDONLY|O_CLOEXEC) = 3 open("/lib/x86_64-linux-gnu/libudev.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 311 open("/boot/grub/device.map", O_RDONLY) = -1 ENOENT (No such file or directory) open("/proc/self/mountinfo", O_RDONLY) = 3 read(3, "kio rw,nosuid,nodev,noexec,relat"..., 1024) = 717 lstat("/dev", {st_mode=S_IFDIR|0755, st_size=3440, ...}) = 0 lstat("/dev/mapper", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0 lstat("/dev/mapper/oldvgname-lvroot", 0x7ffc7a97ad80) = -1 ENOENT (No such file or directory) write(2, "failed to get canonical path of "..., 63failed to get canonical path of `/dev/mapper/oldvgname-lvroot') = 63 So the problem is the info exposed by the running kernel: % grep oldvgname "/proc/self/mountinfo" 21 0 253:0 / / rw,relatime shared:1 - ext4 /dev/mapper/oldvgname-lvroot rw,errors=remount-ro,data=ordered Once upon a time, one could mess with /etc/mtab in these cases, but that file is no longer used, it's a symlink into /proc/mounts. Not sure if this should be reassigned elsewhere then... maybe lvm2 should try harder to communicate volume group changes to the running kernel? The device mapper seems to have done its job in updating /dev/mapper, but it didn't seem to percolate into mountinfo. btw xref https://askubuntu.com/questions/765058/how-do-you-rename-the-volume-group-that-contains-the-root-volume-in-lvm -- 2. That which causes joy or happiness.