-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-9.7
-
None
-
No
-
None
-
rhel-virt-confidential-firmware
-
None
-
False
-
False
-
-
None
-
None
-
None
-
Manual
-
Unspecified
-
Unspecified
-
Unspecified
-
-
x86_64
-
None
Description of problem:
Guest whose OS is installed multiple disks but boot partition is installed on single disk can't boot into OS
Version-Release number of selected component (if applicable):
seabios-bin-1.16.3-4.el9.noarch
virt-v2v-2.7.1-12.el9.x86_64
libguestfs-1.54.0-8.el9.x86_64
guestfs-tools-1.52.2-5.el9.x86_64
qemu-img-9.1.0-23.el9.x86_64
nbdkit-1.38.5-10.el9.x86_64
libnbd-1.20.3-4.el9.x86_64
How reproducible:
100%
Steps:
1. Prepare a guest with OS installed on a RAID on VMware env
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 5G 0 disk └─sda1 8:1 0 5G 0 part ├─rhel-root 253:0 0 26G 0 lvm / └─rhel-swap 253:1 0 3G 0 lvm [SWAP] sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part └─rhel-root 253:0 0 26G 0 lvm / sdc 8:32 0 8G 0 disk └─sdc1 8:33 0 8G 0 part └─rhel-root 253:0 0 26G 0 lvm / sdd 8:48 0 10G 0 disk ├─sdd1 8:49 0 1G 0 part /boot └─sdd2 8:50 0 9G 0 part └─rhel-root 253:0 0 26G 0 lvm / sr0 11:0 1 1024M 0 rom
2. Convert the guest from VMware by virt-v2v
# virt-v2v -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk7.0.3 -io vddk-thumbprint=86:25:2F:5E:74:5C:43:D9:28:62:31:E0:1F:BB:1F:FD:AC:18:A5:93 -ip /home/passwd Auto-esx7.0-rhel7.5-multi-disks [ 0.3] Setting up the source: -i libvirt -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk Auto-esx7.0-rhel7.5-multi-disks [ 5.9] Opening the source [ 26.0] Inspecting the source [ 53.7] Checking for sufficient free disk space in the guest [ 53.7] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) (rhel7.5) to run on KVM virt-v2v: This guest has virtio drivers installed. [ 241.9] Setting a random seed [ 241.9] SELinux relabelling [ 291.8] Mapping filesystem data to avoid copying unused and blank areas [ 294.2] Closing the overlay [ 294.5] Assigning disks to buses [ 294.5] Checking if the guest needs BIOS or UEFI to boot [ 294.5] Setting up the destination: -o libvirt [ 305.3] Copying disk 1/4 █ 100% [****************************************] [ 469.1] Copying disk 2/4 █ 100% [****************************************] [ 489.7] Copying disk 3/4 █ 100% [****************************************] [ 508.8] Copying disk 4/4 █ 100% [****************************************] [ 557.5] Creating output metadata [ 557.6] Finishing off
3. Power on the guest but found the guest can't boot into OS, check the guest libvirtxml as below
# virsh dumpxml Auto-esx7.0-rhel7.5-multi-disks ........ <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sda' index='4'/> <backingStore/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdb' index='3'/> <backingStore/> <target dev='vdb' bus='virtio'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdc' index='2'/> <backingStore/> <target dev='vdc' bus='virtio'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdd' index='1'/> <backingStore/> <target dev='vdd' bus='virtio'/> <alias name='virtio-disk3'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </disk> ........
4. Power off the guest and modify the guest libvirtxml as follows to ensure all disks are selected in the boot menu
# virsh dumpxml Auto-esx8.0-sles15sp6-x86_64-efi-with-raid0-btrfs ........ <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sda' index='4'/> <backingStore/> <target dev='vda' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdb' index='3'/> <backingStore/> <target dev='vdb' bus='virtio'/> <boot order='2'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdc' index='2'/> <backingStore/> <target dev='vdc' bus='virtio'/> <boot order='3'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='default' volume='Auto-esx7.0-rhel7.5-multi-disks-sdd' index='1'/> <backingStore/> <target dev='vdd' bus='virtio'/> <boot order='4'/> <alias name='virtio-disk3'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </disk> ......
5. Power on the guest, then guest can boot into OS normally
Actual result:
As above description
Expect result:
Using `-boot strict=off` will "fix" the bug, related bug https://bugzilla.redhat.com/show_bug.cgi?id=1924972
Additional info
- clones
-
RHEL-97179 Guest with OS installed on a RAID can't boot into OS after v2v conversion if the root partition is not on the first disk [rhel-10.1]
-
- Planning
-
- depends on
-
RHEL-108991 RFE: Set boot order for Linux BIOS guests based on grub location [rhel-10.1]
-
- Release Pending
-