- Installer depends on "grub-mkdevice --no-floppy -m -" command to get bootable devices ordering.
- grub-mkdevice was dropped upstream and it is included in grub2 by a quilt patch.
- grub-mkdevice orders everything that is in /dev/disk/by-id/* excluding, in this order, everything containing "-part", "dm-" and "md-".
- LVM partitions are added to /dev/disk/by-id, but not the entire disk (as the PV is the partition itself).
- UDEV creates /dev/disk/by-id depending on 60-persistent-storage.rules:
- So, LVM puts ID_SERIAL in LVM partitions, they get added to /dev/disk/by-id and installer is lost when trying to order it, as LVM partition gets into 1st position of choice, instead of the full disk (for hd0, hd1, ... grub setup).
SUMMARY Of the problem (or a HUGE TL;DR):
- Installer depends on "grub-mkdevice --no-floppy -m -" command to get bootable devices ordering. storage. rules:
- grub-mkdevice was dropped upstream and it is included in grub2 by a quilt patch.
- grub-mkdevice orders everything that is in /dev/disk/by-id/* excluding, in this order, everything containing "-part", "dm-" and "md-".
- LVM partitions are added to /dev/disk/by-id, but not the entire disk (as the PV is the partition itself).
- UDEV creates /dev/disk/by-id depending on 60-persistent-
# virtio-blk ="vd*[! 0-9]", ATTRS{serial} =="?*", ENV{ID_ SERIAL} ="$attr{ serial} ", SYMLINK+ ="disk/ by-id/virtio- $env{ID_ SERIAL} " =="?*", ENV{ID_ SERIAL} ="$attr{ serial} ", SYMLINK+ ="disk/ by-id/virtio- $env{ID_ SERIAL} -part%n"
KERNEL=
KERNEL=="vd*[0-9]", ATTRS{serial}
- So, LVM puts ID_SERIAL in LVM partitions, they get added to /dev/disk/by-id and installer is lost when trying to order it, as LVM partition gets into 1st position of choice, instead of the full disk (for hd0, hd1, ... grub setup).