![우분투 18.04에서 qemu Windows 10 게스트에 대한 동적 화면 크기 조정을 설정하는 방법은 무엇입니까?](https://rvso.com/image/922418/%EC%9A%B0%EB%B6%84%ED%88%AC%2018.04%EC%97%90%EC%84%9C%20qemu%20Windows%2010%20%EA%B2%8C%EC%8A%A4%ED%8A%B8%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%8F%99%EC%A0%81%20%ED%99%94%EB%A9%B4%20%ED%81%AC%EA%B8%B0%20%EC%A1%B0%EC%A0%95%EC%9D%84%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 노트북에는 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-viewer
spice://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
그 방법을 안내해 주었습니다.
virt-manager
호스트 우분투에 설치- sudo 없이 virt-manager를 사용할 수 있도록 그룹을 설정하세요.
sudo groupadd --system libvirt sudo usermod -a -G libvirt $(whoami) su - $USER
- 시작
virt-manager
하고 로 이동합니다View -> Edit -> Preferences -> Console
. 활성화Resize guest with window: On
- 왼쪽 상단의 아이콘을 사용하여 "새 가상 머신 생성"을 수행합니다. 나는 새 컴퓨터를 원하지 않았기 때문에 확신이 없었습니다. 나는 단지 듀얼 부팅 Windows 파티션을 부팅하고 싶었습니다. 그런데 그게 바로 버튼이에요. "기존 디스크 이미지 가져오기"를 선택하세요.
- OS 유형과 버전을 선택하고 장치를 경로로 입력하십시오.
/dev/nvme0n1
VM에 특정 파티션에만 액세스 권한을 부여하는 것이 가능한지 여부/방법이 확실하지 않습니다. (처음에는 EFI 파티션만 제공하려고 시도했지만 물론 작동하지 않았습니다. 필요한 각 파티션을 추가하는 것이 가능할 수도 있습니다 . Windows의 경우 별도의 가상 디스크로 사용할 수도 있습니다.한정된) - 계속해서 창을 진행하면서 "설치 전 구성 사용자 정의"를 확인하십시오.
- 사용자 정의 창에서
Firmware: UEFI x86_64: /usr/share/OVMF/OVMF_CODE.fd
이미 Linux에 있는 것을 선택했습니다. 나는 그것을 사용하여 설치했다고 생각apt install ovmf
하지만 보장은 없습니다. - 귀하의 디스크는 "IDE 디스크"로 추가되었으나 디스크를 에뮬레이션하지 않기 때문에 virtio가 더 좋다고 들었습니다. virtio를 사용하려면 게스트의 지원이 필요합니다. 그리고 Ozymandias42는 또한 드라이버가 설치될 때 드라이버를 실제로 사용하는 장치/컨트롤러를 설정하는 것이 중요하다고 말했습니다. 그렇지 않으면 intiramfs와 유사한 상태에서 부팅 시 사용할 수 없기 때문입니다. 따라서 두 번째 디스크를 추가하고 작게 만들고 일부 파일로 지원하고 디스크 버스 유형을 virtio로 설정하십시오. 게스트에 virtio 게스트 도구를 설치한 후 다시 제거할 수 있습니다.
- 왼쪽 상단:
Begin Installation
다시 말하지만, 무서운 것 같습니다. 그러나 설치된 창에는 문제가 없습니다. - 게스트에는 이미 Qemu 게스트 도구와 스파이스 게스트 도구가 설치되어 있었습니다. 나는 당신이 둘 다 필요하다고 가정합니다. 또한Virtio 게스트 도구 exe그리고 실행하세요.
- 재부팅합니다. 모든 것이 작동하면 임시 디스크를 제거하고 NIC도 virtio로 변경할 수 있습니다.
- 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를 프런트엔드로 사용하는 것이 좋습니다.