Сначала я создаю чистую виртуальную машину Linux с помощью virt-install
virt-install \
--name CLEAR \
--ram 65536 \
--disk path=/guest_images/Linux_main/CLEAR.img,bus=virtio,size=450 \
--vcpus 8 \
--os-type linux \
--os-variant generic \
--network bridge=virbr0 \
--graphics vnc \
--console pty,target_type=serial \
--cdrom /media/big-tank-8TB/OSISOS/clear-25720-installer.iso
Программа установки запускается, и я выбираю единственное доступное устройство "vda", которое, как я предполагаю, должно быть файлом CLEAR.img, поэтому я решаю создать там раздел и установить (также не знаю, почему не отображаются разделы, этот img включен звол, который я ранее отформатировал в ext4)
Установщик, по-видимому, успешно завершается.
Но после перезагрузки застрял в Seabios "загрузка с жесткого диска"
Я попытался сменить интерфейс привода с virtio на ide, но это не помогло. Не уверен, что попробовать дальше.
Я тоже пробовал эти инструкции с веб-сайта Clear Linux с которым я смог запустить, но столкнулся с проблемами при подключении через vnc, и, что более важно для моего вопроса, когда я попытался запустить virt-install, запустите предоставленный файл .img, у меня навсегда остался тот же seabios "загрузка с жесткого диска" что я получил после установки через .iso. Я подозреваю, что проблема может заключаться в том, что мне нужно предоставить файл UEFI, как в инструкциях по очистке Linux, но я не уверен, как это сделать при использовании virsh и существующей виртуальной машины.
Проблема действительно в том, что вам нужно предоставить прошивку UEFI.
Вам нужно будет добавить --boot uefi
вариант.
Ссылка: https://fedoraproject.org/wiki/Using_UEFI_with_QEMU#virt-install
Вам также может потребоваться обновить прошивку OVMF в вашей системе. Clear Linux предоставляет последнюю версию по адресу https://download.clearlinux.org/image/. Они также предоставляют _CODE
и _VARS
fd может потребоваться обновить в разделе nvram вашего
/etc/libvirt/qemu.conf
#nvram = [
# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
# "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd",
# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd",
# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd"
#]
Это также может быть полезно: https://github.com/virt-manager/virt-manager/commit/d2fffa509efe891eef3f2f70e5688c1d6e3a2d87
Вы можете быть в порядке, просто передав этот флаг. В противном случае я бы попробовал nvram
раздел. Лично я использую их start_qemu.sh
сценарий. Но желаю удачи.