우분투 18.04에서 qemu Windows 10 게스트에 대한 동적 화면 크기 조정을 설정하는 방법은 무엇입니까?

우분투 18.04에서 qemu Windows 10 게스트에 대한 동적 화면 크기 조정을 설정하는 방법은 무엇입니까?

내 노트북에는 Ubuntu 18.04 및 Windows 10이라는 이중 부팅 설정이 있습니다. 우분투 내에서 다음의 도움으로 qemu를 사용하여 기존 Windows 파티션으로 부팅할 수 있습니다.이 가이드. 내가 사용하는 명령은 다음과 같습니다.

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

마지막 줄은 단지 설치하는 것이었습니다버티오 드라이버그래서 매번 필요하지 않다고 확신합니다.
두 번째 줄은 파티션을 결정합니다 /dev/nvme0n1p1.

가이드에는 SPICE가 언급되어 있습니다.보기에좋은

동적 화면 크기 조정, 게스트/호스트 간 클립보드 등

가상 화면의 크기를 변경하고 해상도를 조정하고 싶습니다.창 크기를 조정할 때. 나는 가이드를 따르려고 노력했다.https://www.linux-kvm.org/page/SPICE그리고 그것이 spicec더 이상 문제가 되지 않는다는 것을 깨달았습니다. 즉, 을(를) 사용하여 게스트와 연결할 수 없다는 의미입니다 spicec -h 127.0.0.1 -p 5900.
그만큼스파이스 사용자 매뉴얼동의합니다:

권장되는 클라이언트는 Remote-Viewer(virt-viewer와 함께 제공됨)입니다.
그놈 박스는 Spice 클라이언트로도 사용할 수 있습니다.
spicec은 더 이상 사용되지 않는 레거시 클라이언트입니다., 매운맛은 테스트 애플리케이션일 뿐입니다.

그래서 나는 -spice port=5900,addr=127.0.0.1,disable-ticketing명령을 추가 qemu하고 . 실제로 향신료 창을 열었습니다. 이제remote-viewerspice://127.0.0.1:5009내 win10 게스트를 표시하는 두 개의 창이 있습니다.
Spice 창은 크기를 조정할 때 더 잘 반응하지만 동일한 해상도를 유지하고 필요한 경우 흰색 테두리만 추가합니다.

질문

크기 조정에 잘 적응하는 게스트 시스템을 경계 없이 볼 수 있는 방법은 무엇입니까?
그리고 그것이 완전히 별개의 질문이 아니라면: qemu와 spice 창을 모두 사용하는 대신 어떻게 창을 하나만 가질 수 있습니까?


추가 세부사항

연결했을 때 remote-viewer콘솔 창이 나타났습니다.

** (remote-viewer:3066): CRITICAL **: 15:54:52.441: virt_viewer_util_extract_host: assertion 'uri != NULL' failed

그리고 qemu출력은 다음과 같습니다

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:

답변1

TL;DR
다른 사용자가 VM을 설정한 방법에 따라 포인트 3과 12로 충분할 수 있습니다. --카이야


오지만디아스42제안프론트엔드로 사용해 보고 virt-manager그 방법을 안내해 주었습니다.

  1. virt-manager호스트 우분투에 설치
  2. sudo 없이 virt-manager를 사용할 수 있도록 그룹을 설정하세요.
    sudo groupadd --system libvirt
    sudo usermod -a -G libvirt $(whoami)
    su - $USER
    
  3. 시작 virt-manager하고 로 이동합니다 View -> Edit -> Preferences -> Console. 활성화Resize guest with window: On
  4. 왼쪽 상단의 아이콘을 사용하여 "새 가상 머신 생성"을 수행합니다. 나는 새 컴퓨터를 원하지 않았기 때문에 확신이 없었습니다. 나는 단지 듀얼 부팅 Windows 파티션을 부팅하고 싶었습니다. 그런데 그게 바로 버튼이에요. "기존 디스크 이미지 가져오기"를 선택하세요.
  5. OS 유형과 버전을 선택하고 장치를 경로로 입력하십시오. /dev/nvme0n1
    VM에 특정 파티션에만 액세스 권한을 부여하는 것이 가능한지 여부/방법이 확실하지 않습니다. (처음에는 EFI 파티션만 제공하려고 시도했지만 물론 작동하지 않았습니다. 필요한 각 파티션을 추가하는 것이 가능할 수도 있습니다 . Windows의 경우 별도의 가상 디스크로 사용할 수도 있습니다.한정된)
  6. 계속해서 창을 진행하면서 "설치 전 구성 사용자 정의"를 확인하십시오.
  7. 사용자 정의 창에서 Firmware: UEFI x86_64: /usr/share/OVMF/OVMF_CODE.fd이미 Linux에 있는 것을 선택했습니다. 나는 그것을 사용하여 설치했다고 생각 apt install ovmf하지만 보장은 없습니다.
  8. 귀하의 디스크는 "IDE 디스크"로 추가되었으나 디스크를 에뮬레이션하지 않기 때문에 virtio가 더 좋다고 들었습니다. virtio를 사용하려면 게스트의 지원이 필요합니다. 그리고 Ozymandias42는 또한 드라이버가 설치될 때 드라이버를 실제로 사용하는 장치/컨트롤러를 설정하는 것이 중요하다고 말했습니다. 그렇지 않으면 intiramfs와 유사한 상태에서 부팅 시 사용할 수 없기 때문입니다. 따라서 두 번째 디스크를 추가하고 작게 만들고 일부 파일로 지원하고 디스크 버스 유형을 virtio로 설정하십시오. 게스트에 virtio 게스트 도구를 설치한 후 다시 제거할 수 있습니다.
  9. 왼쪽 상단: Begin Installation다시 말하지만, 무서운 것 같습니다. 그러나 설치된 창에는 문제가 없습니다.
  10. 게스트에는 이미 Qemu 게스트 도구와 스파이스 게스트 도구가 설치되어 있었습니다. 나는 당신이 둘 다 필요하다고 가정합니다. 또한Virtio 게스트 도구 exe그리고 실행하세요.
  11. 재부팅합니다. 모든 것이 작동하면 임시 디스크를 제거하고 NIC도 virtio로 변경할 수 있습니다.
  12. VM 머신에서 다음으로 이동합니다.View -> Scale Display -> Auto resize VM with window

답변2

VM이 호스트의 Spice 클라이언트와 통신하려면 virtio-serial 장치를 추가해야 합니다. qemu를 직접 사용하는 대신 libvirtd와 함께 virt-manager를 사용했다면 자동으로 처리되었을 가능성이 높습니다.

추가해 보세요

-device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0
-chardev spicevms,id=charchannel1,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0

그래도 작동하지 않으면 virt-manager를 프런트엔드로 사용하는 것이 좋습니다.

관련 정보