Вопрос или проблема
Я пытаюсь загрузить Solaris 11.04, используя qemu + UEFI на FreeBSD 14.1, с следующими параметрами :
qemu-system-x86_64 -name guest=s11x64,debug-threads=on \
-machine pc,usb=off \
-cpu kvm64,hv_relaxed,hv_time,hv_synic \
-m 8G -smp 2,sockets=2,cores=1,threads=1 -nodefaults -no-shutdown \
-drive file=/bhyve/Files/ISO/sol-11_4-text-x86.iso,format=raw \
-drive file=/mnt/zroot2/zroot2/bhyve/img/Solaris/solaris114.img,format=raw \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 \
-device VGA,id=video0,vgamem_mb=32,bus=pci.0,addr=0x2 \
-netdev tap,id=mynet0,ifname=tap4,script=no,downscript=no \
-device e1000,netdev=mynet0,mac=52:55:00:d1:55:01 \
-device ich9-ahci,id=sata \
-drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd \
Как видно ниже, это почти сработало, но еще нет. Думаю, не хватает только нескольких параметров :
В то время как это полностью работало с использованием BIOS вместо UEFI:
/usr/local/bin/qemu-system-x86_64 \
-L /usr/local/share/qemu/ -name guest=s11x64,debug-threads=on \
-machine pc,usb=off -cpu kvm64,hv_relaxed,hv_time,hv_synic \
-m 8192 -smp 2,sockets=2,cores=1,threads=1 \
-nodefaults -global kvm-pit.lost_tick_policy=delay -no-shutdown \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 -boot strict=on \
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 \
-device VGA,id=video0,vgamem_mb=32,bus=pci.0,addr=0x2 \
-hda /mnt/zroot2/zroot2/bhyve/img/Solaris/solaris114.img \
-boot d --cdrom /bhyve/Files/ISO/sol-11_4-text-x86.iso \
-netdev tap,id=mynet0,ifname=tap3,script=no,downscript=no \
-device e1000,netdev=mynet0,mac=52:55:00:d1:55:01 \
Кто-нибудь может помочь? Спасибо.
Ответ или решение
К сожалению, ситуация, с которой вы столкнулись при попытке эмулировать Solaris 11.4 на FreeBSD 14.1 с использованием QEMU и UEFI, представляет собой довольно распространённую проблему. Давайте подробно рассмотрим возможные причины и решения данной проблемы, используя формат FOREST для структуры ответа.
F – Факты
Вы пытаетесь загрузить Solaris 11.4, используя QEMU с UEFI и указали соответствующие параметры командной строки. В то время как загрузка с BIOS проходит успешно, использование UEFI приводит к возникновению ошибки "Console login service(s) cannot run". Эта ошибка указывает на проблемы с инициализацией консольного сервиса, что может быть связано с неправильной конфигурацией параметров виртуальной машины или несовместимостью некоторых компонентов.
O – Объяснение
Проблема может быть вызвана несколькими факторами:
- Необходимые драйверы: UEFI требует специфичных драйверов для эмуляции определённых устройств. Иногда драйвера, используемые в BIOS-режиме, могут не поддерживаться в UEFI-режиме.
- Конфигурация виртуальной машины: Также стоит проверить параметры конфигурации, поскольку некоторые из них могут быть несовместимы с UEFI.
- Версия QEMU: Убедитесь, что используемая версия QEMU является актуальной и поддерживает все функции для работы с UEFI.
R – Рекомендации
- Убедитесь в поддерживаемости UEFI: Проверьте, поддерживает ли ваш образ Solaris 11.4 загрузку через UEFI. Возможно, вам понадобится обновить образ или использовать другую версию.
- Обновление параметров QEMU: Рассмотрите возможность добавления следующих параметров:
-boot menu=on
для отображения меню загрузки, что может помочь вам выбрать правильную опцию загрузки.- Попробуйте использовать другую модель процессора (например,
-cpu host
) для лучшей совместимости. - Убедитесь, что изображение загружается с правильным параметром
-drive
, соответствующим UEFI.
- Проверка пути к UEFI-файлам: Убедитесь, что указанный путь к UEFI коду корректен, а файл действительно существует:
-drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd
S – Поддержка
Обратитесь к документации Solaris для получения информации о поддержке UEFI и необходимости дополнительных параметров для конфигурации QEMU. Также возможно, что есть специализированные форумы или сообщества, где вы сможете получить помощь от других пользователей, которые сталкивались с аналогичными проблемами.
T – Заключение
Выводя на экран "Console login service(s) cannot run" при запуске Solaris 11.4 с использованием UEFI и QEMU на FreeBSD 14.1, вы сталкиваетесь с известной проблемой несовместимости настроек или отсутствием нужных драйверов. Следуя предложенным рекомендациям, вы сможете оптимизировать настройки и, возможно, устранить возникшую ошибку. Не забывайте о важности обновлений и актуальности используемых компонентов для обеспечения максимальной совместимости и производительности.