我有一台服务器,上面运行着许多 Xen VM。我最近从 16.04 升级到了 20.04。不幸的是,Xen 不再作为启动选项显示在 grub 中。我只看到:
- Ubuntu
- Ubuntu 的高级选项
- 内存测试(memtest86+)
- 内存测试(memtest86+,串行控制台 115200)
显然,此时我无法对 Xen 做任何事情(抱怨它无法在 sysfs 中找到虚拟机管理程序)。
查看的内容/boot/grub/grub.cfg
,我发现没有输出/etc/grub.d/20_linux_xen
(输出是手动转录的,对于错别字深表歉意):
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
的内容与全新安装(在虚拟机中)的内容/etc/grub.d/20_linux_xen
相匹配,已通过 md5sum 验证。如何获取要输入的输出grub.cfg
?
答案1
事实证明,在升级过程中,我的 xen 安装似乎消失了,而不是升级到 4.11。我安装了 Xen 4.11,发现update-grub
正确填充了使用 Xen 启动的选项。
对于那些感兴趣的人,我最终深入研究/etc/grub.d/20_linux_xen
并发现它$xen_list
是空的(它由与 glob 匹配的文件填充/boot/xen*
)。这促使我检查 /boot 的内容:
config-4.15.0-129-generic initrd.img-3.19.0-71-generic initrd.img-5.4.0-59-generic memtest86+.elf System.map-5.4.0-59-generic
config-5.4.0-59-generic initrd.img-3.19.0-74-generic lost+found memtest86+_multiboot.bin vmlinuz-4.15.0-129-generic
grub initrd.img-4.15.0-129-generic memtest86+.bin System.map-4.15.0-129-generic vmlinuz-5.4.0-59-generic
没有匹配项xen*
!而我在工作站上的虚拟机中全新安装的文件与匹配xen-4.11-amd64.*
。简单调用即可apt install xen-hypervisor-4.11-amd64
解决我的问题。