- Вопрос или проблема
- Ответ или решение
- Проблема с запуском Solaris 11.4 на FreeBSD 14.1 с использованием QEMU и UEFI
- 1. Анализ ошибки
- 2. Разница между UEFI и BIOS
- 3. Рекомендации по исправлению
- a) Проверьте образ ISO и жесткого диска
- b) Настройка UEFI
- c) Обновление параметров QEMU
- d) Проверка конфигурации сети
- 4. Тестирование
- Заключение
Вопрос или проблема
Я пытаюсь загрузить 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 \
Как вы можете видеть ниже, это почти сработало, но еще нет. Думаю, не хватает только нескольких параметров:
SunOS Release 5.11 Version 11.4.0.15.0 64‐bit
Copyright (c) 1983, 2018, Oracle and/or its affiliates. Все права защищены.
Перемонтирование корня на чтение/запись
Поиск устройств ...
Подготовка образа к использованию
Не удалось смонтировать носитель
Запрос режима обслуживания системы
(Смотрите /lib/svc/share/README для получения дополнительной информации.)
Службы консольного входа не могут работать
Введите имя пользователя для обслуживания системы (control‑d для пропуска): █
В то время как это полностью работало, используя 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 \
SunOS Release 5.11 Version 11.4.0.15.0 64‐bit
Copyright (c) 1983, 2018, Oracle and/or its affiliates. Все права защищены.
Перемонтирование корня на чтение/запись
Поиск устройств ...
Подготовка образа к использованию
Образ успешно смонтирован
USB клавиатура
1. Арабский 15. Корейский
2. Бельгийский 16. Латиноамериканский
3. Бразильский 17. Норвежский
4. Канадский-билингвальный 18. Португальский
5. Канадский-французский 19. Русский
6. Датский 20. Испанский
7. Голландский 21. Шведский
8. Дворяк 22. Швейцарский-французский
9. Финский 23. Швейцарский-немецкий
10. Французский 24. Традиционный-китайский
11. Немецкий 25. ТурецкийQ
12. Итальянский 26. Британо-английский
13. Японский-тип6 27. Американский-английский
14. Японский
Чтобы выбрать раскладку клавиатуры, введите номер [по умолчанию 27]:█
Ответ или решение
Проблема с запуском Solaris 11.4 на FreeBSD 14.1 с использованием QEMU и UEFI
При попытке загрузить Solaris 11.4 на FreeBSD 14.1 с использованием QEMU и UEFI, вы столкнулись с ошибкой, связанной с консольными службами, приводящей к невозможности работы сервисов входа в систему. Давайте разберём возможные причины данной проблемы и предложим решения, которые помогут вам успешно запустить Solaris в вашей виртуальной среде.
1. Анализ ошибки
Ошибка, которую вы видите:
Console login service(s) cannot run
указывает на то, что консольные службы, необходимые для полноценной работы системы, не могут быть запущены. Это может быть связано с неправильной конфигурацией виртуальной машины или проблемами с доступом к устройствам.
2. Разница между UEFI и BIOS
Как вы уже заметили, установка успешно проходит при использовании BIOS, но сталкивается с проблемами в режиме UEFI. UEFI требует более аккуратной настройки, особенно в части эмуляции оборудования и передаче управляющих функций. Важно обеспечить правильную настройку всех необходимых параметров для корректной работы консольных и сетевых служб.
3. Рекомендации по исправлению
a) Проверьте образ ISO и жесткого диска
Убедитесь, что образ ISO и диск, на который вы устанавливаете Solaris, корректны и доступны. Вы можете протестировать доступность образа ISO через командные утилиты, такие как md5
или sha256
, для проверки контрольных сумм.
b) Настройка UEFI
Убедитесь, что вы используете правильный файл UEFI. Вы указали:
-drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd
Убедитесь, что файл UEFI действительно существует и корректно загружается. В некоторых случаях может помочь использование другого образа UEFI.
c) Обновление параметров QEMU
Некоторые параметры вашей команды QEMU могут быть адаптированы для улучшения совместимости с Solaris. Вот примеры настроек, которые вы можете изменить или добавить:
- Измените
-cpu kvm64
на-cpu host
для использования более полной эмуляции функция процессора, что может помочь в случае совместимости. - Добавьте опцию
-boot menu=on
, чтобы упростить отладку процесса загрузки. - Проверьте следующие параметры; добавление или изменение их значений может повлиять на вашу ситуацию:
-global ICH9-LPC.enable_s3=0 -global ICH9-LPC.enable_s4=0
d) Проверка конфигурации сети
Неверная конфигурация сетевых устройств также может вызывать подобные ошибки. Убедитесь, что сетевой интерфейс правильно настроен и доступен системе. Попробуйте отключить его, если он не нужен, или провести диагностику с помощью утилит, таких как ifconfig
.
4. Тестирование
После внесения изменений проверьте работоспособность с помощью следующей команды:
qemu-system-x86_64 -name guest=s11x64,debug-threads=on -machine pc,usb=off \
-cpu host -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 \
-device ich9-ahci,id=sata \
-boot d -drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd \
-netdev tap,id=mynet0,ifname=tap4,script=no,downscript=no \
-device e1000,netdev=mynet0,mac=52:55:00:d1:55:01
Заключение
Проблемы с консольным входом при загрузке Solaris 11.4 на QEMU с UEFI на FreeBSD 14.1 могут быть довольно сложными, но правильная диагностика и корректные настройки могут свести их к минимуму. Оптимизировав параметры эмуляции и убедившись в целостности используемых образов, вы можете достичь успешной установки и запуска операционной системы.