xenial - does not ask device to grub-install, finds /dev/vda correctly ~ # pvs PV VG Fmt Attr PSize PFree /dev/vda5 ubuntu-vg lvm2 a-- 29.28g 40.00m ~ # vgs VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 2 0 wz--n- 29.28g 40.00m ~ # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root ubuntu-vg -wi-ao---- 28.29g swap_1 ubuntu-vg -wi-ao---- 976.00m ~ # ls -lah1 /dev/disk/by-id/ drwxr-xr-x 2 120 Oct 2 17:54 . drwxr-xr-x 5 100 Oct 2 18:05 .. lrwxrwxrwx 1 10 Oct 2 18:07 dm-name-ubuntu--vg-root -> ../../dm-0 lrwxrwxrwx 1 10 Oct 2 18:05 dm-name-ubuntu--vg-swap_1 -> ../../dm-1 lrwxrwxrwx 1 10 Oct 2 18:07 dm-uuid-LVM-rKxFFLzSxoQE5R09qa8ztKdfGKZIxktySnE1WunTpz1cKQt8elMkWyzXF25Dhqgt -> ../../dm-0 lrwxrwxrwx 1 10 Oct 2 18:05 dm-uuid-LVM-rKxFFLzSxoQE5R09qa8ztKdfGKZIxktyoOA5IYfjtokmG0cVkmlrLRZfr0gbBZCh -> ../../dm-1 /lib/udev/rules.d # grep -ril lvm * 55-dm.rules 60-persistent-storage-dm.rules ---- bionic - does not ask device to grub-install, finds /dev/vda correctly PV VG Fmt Attr PSize PFree /dev/vda1 ubuntu-vg lvm2 a-- <30.00g 12.00m ~ # vgs VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 2 0 wz--n- <30.00g 12.00m ~ # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root ubuntu-vg -wi-ao---- 29.03g swap_1 ubuntu-vg -wi-ao---- 976.00m ~ # ls -lah1 /dev/disk/by-id/ drwxr-xr-x 2 root root 120 Oct 2 18:10 . drwxr-xr-x 6 root root 120 Oct 2 18:27 .. lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-name-ubuntu--vg-root -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-name-ubuntu--vg-swap_1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-uuid-LVM-tuUboqieQsJtu1wB4OyTbAT5pRwXxZj7C8q7wogJHSUaOrIBRvJ2GL7ZcRFz4nCe -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-uuid-LVM-tuUboqieQsJtu1wB4OyTbAT5pRwXxZj7d1U7ckfbgo1bRtQnDa5XQsaoXSpjCvfV -> ../../dm-1 /lib/udev/rules.d # grep -ril lvm * 55-dm.rules 60-persistent-storage-dm.rules 95-dm-notify.rules ---- disco - does not ask, but has only /dev/vda to choose ~ # pvs PV VG Fmt Attr PSize PFree /dev/vda1 ubuntu-vg lvm2 a-- <30.00g 12.00m ~ # vgs VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 2 0 wz--n- <30.00g 12.00m ~ # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root ubuntu-vg -wi-ao---- 29.03g swap_1 ubuntu-vg -wi-ao---- 976.00m ~ # ls -lah1 /dev/disk//by-id/ drwxr-xr-x 2 root root 120 Oct 2 18:09 . drwxr-xr-x 6 root root 120 Oct 2 18:27 .. lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-name-ubuntu--vg-root -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-name-ubuntu--vg-swap_1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-uuid-LVM-qBHgS7hD0Uk4hjhprGFLVwCUekU0i6OBbMg8u7PfVrnT4mcYKuKXRqI4ehzM7pLX -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 18:27 dm-uuid-LVM-qBHgS7hD0Uk4hjhprGFLVwCUekU0i6OBjuHfJCKZ6aVKKmZHq2VxntLeR46xIexG -> ../../dm-1 /lib/udev/rules.d # grep -ril lvm * 55-dm.rules 60-persistent-storage-dm.rules 95-dm-notify.rules ---- eoan - asks device to grub-install and shows /dev/mapper as default ~ # pvs PV VG Fmt Attr PSize PFree /dev/vda1 vgubuntu lvm2 a-- <30.00g 12.00m ~ # vgs VG #PV #LV #SN Attr VSize VFree vgubuntu 1 2 0 wz--n- <30.00g 12.00m ~ # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root vgubuntu -wi-ao---- 29.03g swap_1 vgubuntu -wi-ao---- 976.00m ~ # ls -lah1 /dev/disk/by-id/ drwxr-xr-x 2 root root 160 Oct 2 19:25 . drwxr-xr-x 7 root root 140 Oct 2 19:25 .. lrwxrwxrwx 1 root root 10 Oct 2 19:25 dm-name-vgubuntu-root -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 19:25 dm-name-vgubuntu-swap_1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 Oct 2 19:25 dm-uuid-LVM-uUYPMknWpQfkO3t3oKjW16vWmUeeTItFH9kCscuyNWWYybHdrB9ZENbFXKkJZUfb -> ../../dm-1 lrwxrwxrwx 1 root root 10 Oct 2 19:25 dm-uuid-LVM-uUYPMknWpQfkO3t3oKjW16vWmUeeTItFfFw10F8npYWNaZWovPClX8tbARfym9zo -> ../../dm-0 lrwxrwxrwx 1 root root 10 Oct 2 19:25 lvm-pv-uuid-iXIOdp-tXsj-ditG-JaUC-8flA-XV51-RFV778 -> ../../vda1 /lib/udev/rules.d # grep -ril lvm * 55-dm.rules 56-lvm.rules 60-persistent-storage-dm.rules 69-lvm-metad.rules 95-dm-notify.rules in 69-lvm-metad.rules: # Create /dev/disk/by-id/lvm-pv-uuid- symlink for each PV ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-id/lvm-pv-uuid-$env{ID_FS_UUID_ENC}" That is the difference causing the problem, and installer should NOT have that udev rule in order for not to have to change any logic in init scripts for grub device detection. ----