问题:x86_64的OpenEuler环境下,起一个带有2个硬盘的VM时,grub环境下看不到第二个硬盘。
现象:
VM的xml中定义了2个qcow2文件,引导进入grub后, ls只能看到一个硬盘。
grub> ls
(hd0) (hd0,msdos1)
grub> ls (hd1)
error: …/…/grub-core/disk/i386/pc/biosdisk.c:419:hd1 cannot get C/H/S values.
但是,从第一个硬盘正常引导OpenEuler后,在OS环境下第二个硬盘的访问一切正常!
host的OS 版本:
uname -a
Linux B40-X86OE-B 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
qemu的版本信息:
rpm -qa |grep qemu
qemu-img-6.2.0-60.oe2203.x86_64
qemu-hw-usb-host-6.2.0-60.oe2203.x86_64
qemu-block-iscsi-6.2.0-60.oe2203.x86_64
qemu-block-curl-6.2.0-60.oe2203.x86_64
qemu-6.2.0-60.oe2203.x86_64
libvirt-daemon-driver-qemu-6.2.0-50.oe2203.x86_64
我碰到过在BIOS下有两个U盘装了不同的系统,但在启动选项中只能显示一个的情况,同样也是系统起来后能正常识别。我最后的解决办法是把不显示的那个U盘重新做了下系统后,在BIOS的启动项里面就能显示了(猜测的原因在测试的过程中把那块U盘的数据破坏了)。不知道grub的情况是不是跟这个类似,只识别能正常启动的系统盘,所以在此仅供参考。
谢谢分享,我试过重做第二个盘的系统,这个问题和第二个盘的系统没有关系。
感觉象是openEuler虚拟化的虚机中的grub访问bios有问题,但没找到怎么处理或与什么配置有关。