자유게시판

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

아무래도 윈도우보다 리눅스가 개발하기 편하다 보니

직장에서도 리눅스를 사용하는데

어쩔 수 없이 윈도우를 사용해야 하는 상황이 종종 있기 때문에

윈도우 가상머신을 사용해야합니다.

 

가상머신을 실행하기 위한 프로그램으로

virtualbox나 vmware가 유명하지만

개인이 사용하는 것과는 다르게

기업에서 사용하는건 라이센스가 필요합니다.

(virtualbox는 사용 가능하지만,

추가 기능(usb3.0과 같은 기능)을 사용하기 위해서는 라이센스가 필요합니다.)

 

물론 품의를 올리면 받아들여지겠지만

(다른 분들이 사용하는 맥os의 패러랠즈가 가능하기에)

예전과는 다르게 qemu에 어느정도 익숙해져서

굳이? 라는 생각이 들어 qemu로 설치하게 됐습니다.

 

저는 회사 계정으로 윈도우 라이센스가 있어서 문제가 없지만

혹시나 라이센스가 없으신 분들은

회사에서는 사용하지 않는게 좋습니다.

 

아래부터 본문입니다.

================

 

저는 아치리눅스를 사용하기 때문에, 아치리눅스 기준으로 작성하겠습니다.

 

우선 qemu와 virt-manager를 설치합니다.

yay qemu

yay virt-manager로 쉽게 검색하실 수 있습니다.

 

nat과 bridge연결을 위해

iptables-ntf, dnsmasq, bridge-utils도 설치합니다.

 

윈도우 설치를 위해 윈도우iso와

virtio 드라이버를 다운받습니다.

https://www.microsoft.com/ko-kr/software-download/windows10ISO

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

 

하드웨어가 kvm을 지원하는지 체크하고

LC_ALL=C lscpu | grep Virtualization

커널에서 kvm을 지원하는지 체크합니다.

lsmod | grep kvm

 

virtio를 사용할 계획이므로, virtio도 확인합니다.

lsmod | grep virtio

 

만약 하드웨어 kvm에 문제가 있다면

그경우는 제가 겪어본적이 없어서....

 

만약 커널에 문제가 있다면

/etc/mkinitcpio.conf

에서 MODULES에

kvmgt vfio vfio-iommu-type1 vfio-mdev virtio-net virtio-scsi virtio-serial virtio-balloon

를 추가해주고

sudo mkinitcpio -p linux

를 실행해줍니다.

 

만약 인텔cpu라면

/etc/default/grub

에서 GRUB_CMDLINE_LINUX_DEFAULT의 끝에 intel_iommu=on을 추가합니다.

 

그리고 sudo reboot now

다시 확인해봅니다.

 

이제 virt-manager를 실행할겁니다.

그냥 실행해도 문제가 없지만,

실행할때마다 관리자 권한을 요구하므로,

매번 비밀번호를 입력하는 것이 싫다면,

livbrit 그룹에 사용자를 추가하고

sudo usermod -a -G libvirt $(whoami)

/etc/libvirt/libvirtd.conf

에서

unix_sock_group = "libvirt"

를 작성 또는 기존에 존재하는 주석을 제거하면 됩니다.

 

이제 virt-manager를 이용해서 설치를 진행하는데

해당 과정은

https://getlabsdone.com/10-easy-steps-to-install-windows-10-on-linux-kvm/

에 너무 간단하게 작성되어 있어서,

해당 글 참고하시면 될 것 같습니다.

 

다만 이 글과 다르게 진행할 부분이 있는데

1번 과정인 Creation of Windows 10 KVM VM의 제일 끝에서

네트워크를 선택할 때 default가 아닌 따로 생성한 네트워크를 선택했고,

3번 과정인 Adding the Graphics Hardware는 진행하지 않았고,

3번 과정과 같은 이유로 10번 과정인 Remove the VNC and Cirrus display adapter은 진행하지 않았습니다.

 

3번 과정은 필요 없는 과정이라 생략했고,

1번과정은 다음과 같이 진행했습니다.

우선 네트워크 생성용 xml을 작성합니다.

관련 내용은

https://www.ibm.com/docs/en/linux-on-systems?topic=choices-kvm-default-nat-based-networking

에 있으며,

위 링크의 1번 과정인 Create a new libvirt network configuration like the following의

xml을 사실상 이름만 바꿔서 사용중입니다.

해당 파일은 첨부해놨습니다.

그리고

sudo virsh net-define ./net-nat-network.xml

으로 네트워크를 등록하고

sudo virsh net-autostart netnat

자동으로 실행되게 합니다.

이제 윈도우vm을 설정할 때 네트워크에서 default대신

미리 생성한 네트워크를 이용합니다.

 

디스플레이 드라이버인 Red Hat QXL controller까지 진행하셨다면

상당히 쾌적하게 사용이 가능합니다.

이제 재부팅하면 가상머신의 윈도우 크기를 조절하면 자동으로 해상도가 변하게 하는 것도 가능합니다.

(보기 > 디스플레이 크기변경 > 창에서 VM 크기 자동 조정 체크)

여기서 끝내셔도 문제 없습니다.

 

추가로 저는 공유 폴더를 사용하고자 합니다.

spice의 webdav를 이용하였으며,

https://dausruddin.com/how-to-enable-clipboard-and-folder-sharing-in-qemu-kvm-on-windows-guest/

를 참고했습니다.

이 글에 따르면, virt-manager는 spice의 webdav기능을 지원하지 않는다고 합니다.

따라서 추가로 cockpit을 사용합니다.

 

virt-viewer와 cockpit을 설치합니다.

yay virt-viewer

yay cockpit으로 쉽게 검색 가능합니다.

 

윈도우vm을 실행한 다음,

https://www.spice-space.org/download/windows/spice-webdavd/

에서 spice webdav를 설치합니다.

 

virt-manager에서 vm설정으로 진입하여,

다음과 같이 채널을 추가합니다.

Screenshot_20210617_215511.png

cockpit 서비스를 등록합니다.

등록 방법은 각 배포판별로 cockpit에서 친절하게 작성해놨습니다.

https://cockpit-project.org/running

그리고 cockpit을 실행합니다.

sudo systemctl start cockpit

 

이제 다음 주소로 cockpit에 접근 가능합니다.

http://localhost:9090

계정 정보는 리눅스 사용자 정보와 같습니다.

저는 webapp-manager에 등록후 사용중입니다.

 

cockpit은 한글화가 되어있어 사용하기 편할겁니다.

좌측 메뉴의 가상머신에 들어가면 기존에 설치한 윈도우가 있습니다.

실행 후

원격 뷰어 시작을 누릅니다.

virt-viewer를 설치했다면,

그냥 열면 바로 실행됩니다.

그리고

파일 > preferences를 선택하면

Screenshot_20210617_220320.png

다음 창이 나옵니다.

share folder를 체크하고

경로를 설정해줍니다.

 

그리고 윈도우vm에 들어가서

services.msc을 실행한 다음

Spice webdav proxy를 시작하시면 정상적으로 연결된 모습을 확인할 수 있습니다.

다음과 같이 연결된 모습을 확인할 수 있습니다.

Screenshot_20210617_220604.png

 

 

================

 

아직 실력이 부족해서

이전에 계획했던 것과는 다르게

vga passthrough는 제대로 못하고 있습니다

언젠가는 할 수 있겠죠..

 

예전에 올린적 있는 gvt로 인텔 그래픽 가상화는

xe그래픽 이후로는 지원을 안한다고 합니다..

 

 

 

참고:

https://getlabsdone.com/10-easy-steps-to-install-windows-10-on-linux-kvm/

https://computingforgeeks.com/use-virt-manager-as-non-root-user/

https://dausruddin.com/how-to-enable-clipboard-and-folder-sharing-in-qemu-kvm-on-windows-guest/

https://www.ibm.com/docs/en/linux-on-systems?topic=choices-kvm-default-nat-based-networking

https://cockpit-project.org/running

https://wiki.archlinux.org/title/QEMU

https://wiki.archlinux.org/title/KVM

https://wiki.archlinux.org/title/libvirt

  • ?
    Moordev 2021.06.24 06:42
    Virtualbox와 비교해서 성능은 어느정도인지 궁금합니다.
    Virt-manager는 확실히 빠른데 qemu의 성능이 괜찮을까요
  • ?
    체로드 2021.08.09 18:58

    virt-viewer를 킨 다음에 아무때나 folder sharing에 체크를 하면 해당되는 폴더를 공유할 수 있는 건가요?


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
1749 카카오톡에 지치네요 7 0 Moordev 2021.05.07 2305
1748 원노트 사용 가능한지요? 10 0 galisany 2020.06.13 2297
1747 우분투 22.04 이제야 안정적인듯 합니다 6 0 Moordev 2022.10.31 2294
1746 [사지방] 쉬는 시간 쪼개서 자기 개발 하겠다는 사람 앞에서 웹 표준, 리눅스가 무슨 소용이란 말입니까? 4 0 아리수진 2019.11.27 2286
1745 하모니카OS에서 윈도우용 프로그램 쉽게 사용하는 법(제 생각) 9 0 재훈스 2021.04.26 2269
1744 [사지방] 부팅 관련질문입니다. 1 0 군악대나팔수 2019.12.25 2251
1743 리눅스 시스템 쉽게 복원하는 10가지 방법 3 0 행복한펭귄 2021.03.12 2236
1742 사지방에서 넷플릭스.. 0 통퉁통퉁 2020.01.03 2235
1741 [질문] GNOME 3 한글 입력 문제 6 file 0 꼴돼지 2020.01.18 2231
1740 와인5.0의 기반으로 카카오톡을 설치하는 방법이나 링크가 있다면 공유부탁드립니다. 2 0 코드메이커 2020.03.03 2222
1739 윈도우10 대신 쓸만한 무료 오픈 소스 OS (컴퓨터월드UK 추천) 1 0 행복한펭귄 2019.02.07 2216
1738 오픈수세를 사용해야할 5가지 이유 9 0 행복한펭귄 2021.03.18 2209
1737 정보자산의 보안 강화를 위하여 2차 인증(추가 인증)을 도입해야 하는 이유 file 0 BaroPAM 2021.03.25 2199
1736 BIOS 부팅순서 고르는 화면에 그동안 깔았던 리눅스가 다 나타나는데.. 9 0 iloveapink 2018.11.20 2189
1735 문의합니다. 4 file 0 haseungwun 2021.08.23 2173
1734 [사지방] 프로그래밍 관련 질문 1 0 snowapril 2019.12.12 2162
1733 구름OS, 관련한 소식입니다.(펌) 3 file 0 코드메이커 2019.12.09 2162
1732 롤 설치방법 질문 2 0 LINMT 2018.05.28 2151
1731 데비안의 안 좋은 점 3 0 세벌 2020.01.12 2150
1730 프린터 문제 5 0 haseungwun 2021.07.08 2131
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 94 Next
/ 94
CLOSE