因此,我正在尝试转换一些 domU 以使用 PV 模式。
xe-edit-bootloader -u ... -p 2
發現menu.lst
沒有問題。
grub、boot 和 root 分区分别为 1、2 和 3。为了安全起见,我将boot
和标记为可启动。root
这是我收到的错误:
$ xe vm-start uuid=ad275e7d-b8c2-673f-6ced-7cfc94eef415
Error code: Traceback (most recent call last):
Error parameters: File "/usr/bin/pygrub", line 808, in ?, fs = fsimage.open(file, part_offs[0], bootfsoptions), IOError: [Errno 95] Operation not supported,
以下是一些相关参数:
HVM-boot-policy ( RW):
HVM-boot-params (MRW): order: dc
HVM-shadow-multiplier ( RW): 1.000
PV-kernel ( RW):
PV-ramdisk ( RW):
PV-args ( RW): console=hvc0 xencons=hvc root=/dev/xvda2 decrypt_initrd decrypt
PV-legacy-args ( RW):
PV-bootloader ( RW): pygrub
PV-bootloader-args ( RW):
更新:如果不清楚,我不知道我在做什么。我现在只是在摸索。通过转储该行中的变量pygrub
,它看起来像是在查看第一个分区。该变量part_offs[0]
是一个整数,等于第一个分区的起始块。
所以,显然我的配置不pygrub
正确。我找不到足够详尽的文档。所有内容都是论坛帖子,其中包含适用于某个主要发行版的操作方法。或者在很多情况下,信息已经过时。
答案1
不久前我找到了这个问题的答案。pygrub 期望启动分区为 1。我不得不用 parted 重新编号我的分区。
答案2
如果您的目标 VM 是 BSD 系统,pygrub 就无法读取 FFSv2。您需要将根文件系统设置为 FFSv1 —— 这说起来容易做起来难。
答案3
您需要专门编译内核以支持 PV。您说得对,pygrub 会尝试解析 grub,但这还不够。如果您告诉我您要转换哪些发行版,我可以帮您找到指南