Вопрос или проблема
Я пытаюсь запустить Bliss OS через QEMU, следуя этому руководству:
$ qemu-system-x86_64 \
-enable-kvm \
-M q35 \
-m 4096 -smp 4 -cpu host \
-bios /usr/share/ovmf/x64/OVMF.fd \
-drive file=Bliss11.qcow2,if=virtio \
-usb \
-device virtio-tablet \
-device virtio-keyboard \
-device qemu-xhci,id=xhci \
-machine vmport=off \
-device virtio-vga-gl -display sdl,gl=on \
-audiodev pipewire,id=snd0 -device AC97,audiodev=snd0 \
-net nic,model=virtio-net-pci -net user,hostfwd=tcp::4444-:5555
Эта настройка работает отлично. Однако, когда я пытаюсь запустить Bliss OS с помощью virt-manager
, возникают проблемы. Я пробовал создать новый домен через GUI и использовать команду virt-install
, но оба метода приводят к проблемам:
- Не удалось инициализировать контекст PW
- Не удалось загрузить ОС, и попал в оболочку uefi
Финальная команда virt-install
, которая успешно создает новый домен:
$ virt-install \
--virt-type kvm \
--name bliss-vm \
--memory 4096 \
--vcpus 4 \
--cpu host \
--os-variant generic \
--import \
--disk path=/home/reyuki/experiments/virtual-machine/blissOS/Bliss11.qcow2,format=qcow2,bus=virtio \
--graphics sdl,gl=on \
--controller usb,model=qemu-xhci \
--input tablet,bus=virtio \
--input keyboard,bus=virtio \
--network network=default,model=virtio \
--boot loader=/usr/share/edk2/x64/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash \
--machine q35 \
--connect qemu:///system \
--check path_in_use=off
Я опустил аудиоопции, чтобы избежать первой ошибки, но теперь не могу загрузить ОС. Я не уверен, почему это происходит.
Я также попытался использовать опцию qemu-commandline
:
virt-install \
--virt-type kvm \
--name bliss-vm \
--connect qemu:///system \
--check path_in_use=off \
--import \
--disk path=/home/reyuki/experiments/virtual-machine/blissOS/Bliss11.qcow2,format=qcow2,bus=virtio \
--os-variant generic \
--memory 4096 \
--vcpus 4 \
--qemu-commandline '-M q35 -m 4096 -smp 4 -cpu host -bios /usr/share/edk2/x64/OVMF_CODE.fd -usb -device virtio-tablet -device virtio-keyboard -device qemu-xhci,id=xhci -machine vmport=off -device virtio-vga-gl -display sdl,gl=on -net nic,model=virtio-net-pci -net user,hostfwd=tcp::4444-:5555'
Но это приводит к следующей ошибке: ERROR internal error: QEMU неожиданно закрыл монитор (vm='bliss-vm'): 2024-08-28T03:12:37.710799Z qemu-system-x86_64: -device {"driver":"ich9-usb-ehci1","id":"usb","bus":"pci.0","addr":"0x5.0x7"}: Шина 'pci.0' не найдена
Может ли кто-то помочь мне понять, как решить эти проблемы и запустить Bliss OS безупречно с помощью virt-manager?
.
Ответ или решение
Миграция с QEMU на Libvirt: Решение проблем с Bliss OS
Введение
При переходе от использования QEMU к Libvirt на примере установки операционной системы Bliss OS необходимо учитывать множество нюансов и особенностей конфигурации. В данной статье мы остановимся на причинах, приводящих к возникновению проблем, и предложим решения для их устранения.
Проблемы, встречаемые при использовании virt-manager
-
Ошибка инициализации контекста PipeWire:
Это распространенная проблема, связанная с несовместимостью или неправильной конфигурацией аудиосистемы. При запуске виртуальной машины без настроенного PipeWire вы получите соответствующее предупреждение. Чтобы устранить эту проблему, убедитесь, что PipeWire установлен и активен. Вы можете использовать следующие команды для его установки и запуска:sudo apt install pipewire systemctl --user start pipewire
Проверьте также, что необходимые модули PipeWire загружены и работают корректно.
-
Проблема с загрузкой в UEFI Shell:
Если ваша виртуальная машина загружается в среду UEFI Shell, это может произойти из-за неправильной конфигурации файла загрузчика. Убедитесь, что вы указываете правильный путь к UEFI BIOS и используете параметры, совместимые с вашей системой.Проверяйте путь к загрузчику с помощью следующих команд:
ls /usr/share/edk2/x64/
Убедитесь, что пути загрузчиков указаны правильно в конфигурации
virt-install
как--boot loader
.
Обновленная команда virt-install
Для корректного создания виртуальной машины с Bliss OS, попробуйте использовать команду с поправками:
virt-install \
--virt-type kvm \
--name bliss-vm \
--memory 4096 \
--vcpus 4 \
--cpu host \
--os-variant generic \
--import \
--disk path=/home/reyuki/experiments/virtual-machine/blissOS/Bliss11.qcow2,format=qcow2,bus=virtio \
--graphics sdl,gl=on \
--controller usb,model=qemu-xhci \
--input tablet,bus=virtio \
--input keyboard,bus=virtio \
--network network=default,model=virtio \
--boot loader=/usr/share/edk2/x64/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash \
--machine q35 \
--connect qemu:///system \
--check path_in_use=off
Исправление ошибок команды qemu-commandline
Ваша команда с параметром --qemu-commandline
вызывает ошибку, связанную с отсутствием шины pci.0
. Она может возникать из-за несовместимости в настройках. Вместо этого попробуйте бы использовать только необходимые параметры подключения к UEFI, без лишних попыток указания устройства:
virt-install \
--virt-type kvm \
--name bliss-vm \
--memory 4096 \
--vcpus 4 \
--os-variant generic \
--import \
--disk path=/home/reyuki/experiments/virtual-machine/blissOS/Bliss11.qcow2,format=qcow2,bus=virtio \
--graphics sdl,gl=on \
--controller usb,model=qemu-xhci \
--input tablet,bus=virtio \
--input keyboard,bus=virtio \
--network network=default,model=virtio \
--boot loader=/usr/share/edk2/x64/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash \
--machine q35 \
--connect qemu:///system
Рекомендации по устранению проблем
-
Тестирование конфигурации:
Перед тем как запускать виртуальную машину, протестируйте конфигурации, используя команды проверки доступных загрузчиков и ресурсов системы. Убедитесь, что BIOS правильно настроен на использование UEFI. -
Логи и отладка:
Проведите анализ логов системы, чтобы выявить более конкретные причины возникновения ошибок. Логи QEMU и Libvirt могут дать полезную информацию о причине сбоя. -
Совместимость с версиями:
Проверяйте наличие обновлений дляlibvirt
,virt-manager
иqemu-kvm
, поскольку более новые версии могут включать исправления для ранее известных ошибок.
Заключение
Переход с QEMU на Libvirt может быть сложным процессом, особенно при использовании специализированных ОС вроде Bliss OS. Тем не менее, правильно подобранные параметры настройки и детальный анализ возникающих ошибок позволят вам успешно запустить вашу виртуальную машину. Следуя приведенным рекомендациям, вы сможете устранить существующие проблемы и получить стабильную работу Bliss OS в среде виртуализации.