我有一个新的 Fedora 盒子,我将它设置为 Xen 主机 (Dom0),这比预期的要困难一些。
第一站 - 通过 DNF 安装 Xen 并重新启动。发现 Xen 引导选项失败(很多关于多重引导的错误)。经过一番谷歌搜索后,我了解到这是因为出于安全考虑,multiboot 已被删除。 [1]
好的 - 这很烦人。看起来我有两个选择[2]:
- 手动重新配置 GRUB 以使用旧的 Chain Loader 行为
- 绕过 GRUB 并使用 Xen 作为 EFI 引导加载程序
我将选择选项 2,因为这似乎是一个更干净的解决方案,并且不需要争论这些天围绕 GRUB 构建的 shell 脚本层来让它做我想做的事情。
我已经为 Xen 创建了一个 EFI 引导选项,但它似乎在启动时被默默地跳过了。没有错误,没有有用的输出。我不确定接下来要检查什么。
到目前为止我得到了什么:
EFI 分区具有 EFI/xen 与:
- xen.efi(EFI/fedora/xen-4.11.1.efi 的副本)
- /boot 中的 initramfs 和 vmlinuz 副本
- xen.cfg
xen.cfg 文本:
[global]
default=fedora
[fedora]
options=
kernel=vmlinuz root=/dev/nvme0n1p1 rhgb LANG=en_GB.UTF-8
ramdisk=initramfs.img
使用以下命令创建的 EFI 选项:
efibootmgr -c -L Xen -d /dev/sdc -p 1 -l \\EFI\\xen\\xen.efi -c
这里的目标状态是:使用 Xen 和 Fedora Dom0 启动机器。我应该检查什么,或者接下来我应该尝试什么?
好的,事实证明我的 efibootmgr 命令是正确的(我第一次输入时一定是错字)。
这让我能够引导内核,但是股票的 Fedora 内核在启动时一直遭受内核 oops 的困扰(通过内核更新解决了)。
然后 Xen Dom0 启动并运行。