Ubuntu's LVM autodetect didn't work at all for me either. To fix it, I made a script in
with the following contents:
case $1 in
# Begin real processing below this line
# This was necessary because ubuntu's LVM autodetect is completely broken. This
# is the only line they needed in their script. It makes no sense.
# How was this so hard for you to do, Ubuntu?!?!?
lvm vgchange -ay
# chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
for good measure and
# update-initramfs -u -k all
That fixed everything, while persisting after a system update.