在 Arch Linux 上安装 Xen 后,我无法发出任何 xl 命令,出现以下错误:
xc: error: Could not obtain handle on privileged command interface (2 = No such file or directory): Internal error
libxl: error: libxl.c:109:libxl_ctx_alloc: cannot open libxc handle: No such file or directory
cannot init xl context
在 dmesg 中,我在启动过程中看到以下消息:
[ 0.000000] efi: EFI_MEMMAP is not enabled.
[ 0.000000] esrt: ESRT header is not in the memory map.
[ 14.270676] Ignoring BGRT: invalid status 0 (expected 1)
答案1
[问题]
xencall:错误:无法获取特权命令界面上的句柄:没有这样的文件或目录
libxl:错误:libxl.c:108:libxl_ctx_alloc:无法打开libxc句柄:没有这样的文件或目录
无法初始化 xl 上下文
[解决方案]
sudo /etc/init.d/xencommons start
sudo /etc/init.d/xendomains start
sudo /etc/init.d/xen-watchdog start
sudo /etc/init.d/xendriverdomain start
答案2
感谢 mvault 给我一些尝试的解决方案。然后我突然注意到我的错误消息与我在这里写下的内容略有不同:
xc: error: Could not obtain handle on privileged command interface (13 = Permission denied): Internal error
libxl: error: libxl.c:109:libxl_ctx_alloc: cannot open libxc handle: No such file or directory
这个问题很容易解决
$ sudo xl list
我一定非常困惑,因为我在另一块板上写下了后一个错误,因为启动到 Xen 及其 xl 错误消息与启动到常规 Arch Linux 及其 xl 错误消息非常相似。
答案3
从源安装(旧版本 4.4.1)时遇到此问题。尽管有上述所有答案,但我的问题有不同的根本原因。
也许您已正确安装但未正确更新 grub2。有些证据是/proc/xen
未安装的。/boot/grub/grub.cfg
使用 xen.gz检查菜单项并更新/etc/default/grub
并运行sudo update-grub
一些有用的命令可能是:
awk '/menuentry/ && /class/ {count++; print count-1"****"$0 }' /boot/grub/grub.cfg | grep -i "Xen"
# update grub with the apropriate index (in my case 3)
sudo sed -i 's/GRUB_DEFAULT=[0-9]/GRUB_DEFAULT=3/' /etc/default/grub
sudo update-grub
sudo reboot