Eu tenho uma configuração de inicialização dupla no meu laptop: Ubuntu 18.04 e Windows 10. De dentro do Ubuntu, posso inicializar na minha partição existente do Windows usando qemu com a ajuda deste guia . O comando que estou usando é esse:
sudo qemu-system-x86_64 --enable-kvm -cpu host -smp 8 -m 8192 \
-drive format=raw,file=/dev/nvme0n1,index=1 \
-bios /usr/share/ovmf/OVMF.fd \
-display sdl -vga qxl \
-device qemu-xhci,id=xhci \
-netdev user,id=vmnic,smb=/home/generic/Downloads \
-device virtio-net,netdev=vmnic -cdrom ~/Downloads/virtio-win-0.1.171.iso
A última linha era apenas para instalar os drivers virtio, então tenho certeza de que não preciso disso sempre.
A segunda linha determina a partição /dev/nvme0n1p1
.
O guia menciona o SPICE, que aparentemente é bom para
redimensionamento dinâmico da tela, área de transferência entre convidado/host, etc.
Eu gostaria que a tela virtual mudasse de tamanho e adaptasse a resolução quando eu redimensionasse a janela. Tentei seguir o guia em https://www.linux-kvm.org/page/SPICE e percebi que spicec
não é mais uma coisa - isso significa que não posso me conectar ao convidado com arquivos spicec -h 127.0.0.1 -p 5900
.
O Manual do usuário do Spice concorda:
O cliente recomendado é o remote-viewer (que é fornecido com o virt-viewer).
O GNOME Boxes também pode ser usado como um cliente Spice.
spicec é um cliente legado obsoleto e picante é apenas um aplicativo de teste.
Então eu tentei adicionar -spice port=5900,addr=127.0.0.1,disable-ticketing
ao meu qemu
comando e rodar remote-viewer
no spice://127.0.0.1:5009
. Isso realmente abriu uma janela de especiarias - então agora eu tenho duas janelas que mostram meu convidado win10.
A janela do Spice reage melhor quando é redimensionada, mas mantém a mesma resolução e apenas adiciona bordas brancas quando necessário.
A questão
Como posso obter uma visão sem fronteiras do meu sistema convidado que se adapta bem ao redimensionamento?
E se essa não for uma pergunta completamente distinta: como posso ter apenas uma janela para isso, em vez da qemu e da janela de especiarias?
Detalhes adicionais
Quando me conectei remote-viewer
, sua janela de console mostrou
** (remote-viewer:3066): CRITICAL **: 15:54:52.441: virt_viewer_util_extract_host: assertion 'uri != NULL' failed
E a qemu
saída mostrou
main_channel_link: add main channel client
main_channel_client_handle_pong: net test: latency 0.110000 ms, bitrate 34711864406 bps (33103.813559 Mbps)
inputs_connect: inputs channel client create
red_qxl_set_cursor_peer:
Ozymandias42 sugeriu tentar usar
virt-manager
como frontend e me orientou.virt-manager
no host ubuntuvirt-manager
e vá paraView -> Edit -> Preferences -> Console
. AtivarResize guest with window: On
/dev/nvme0n1
Não tenho certeza se/como é possível apenas dar acesso à VM a determinadas partições (primeiro tentei fornecer apenas a partição EFI, mas isso obviamente não funcionou. Talvez seja possível adicionar cada partição necessária para windows como um disco virtual separado. Ou talvez usando confinadorv )
Firmware: UEFI x86_64: /usr/share/OVMF/OVMF_CODE.fd
que já tinha no meu linux. Acho que instalei isso usando,apt install ovmf
mas sem garantias.Begin Installation
novamente, isso soa assustador. Mas não mexe com as janelas instaladas.View -> Scale Display -> Auto resize VM with window
Você precisa adicionar um dispositivo virtio-serial para que a VM se comunique com o cliente spice no host. Se você tivesse usado o virt-manager com libvirtd em vez de usar o qemu diretamente, provavelmente teria cuidado disso para você automaticamente.
Tente adicionar
Se isso não funcionar, sugiro usar o virt-manager como frontend.