Итак, я пытаюсь преобразовать некоторые 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
должным образом. Я не нашел по нему достаточно подробной документации. Все это сообщения на форуме с инструкциями, которые сработали для одного из основных дистрибутивов. Или во многих случаях информация устарела.
Если ваша целевая виртуальная машина является системой BSD, pygrub не может читать FFSv2. Вам понадобится ваша корневая файловая система FFSv1, что легче сказать, чем сделать.
Я нашел ответ на это некоторое время назад. pygrub ожидает, что загрузочный раздел будет номером 1. Мне пришлось изменить нумерацию разделов на parted.
Вам нужно специально скомпилировать ядро для поддержки PV. Вы правы, что pygrub попытается разобрать grub, но этого недостаточно. Если вы скажете мне, какие дистрибутивы вы пытаетесь конвертировать, я могу помочь вам найти руководство