QEMU

덤프버전 :


파일:attachment/qemu.png
QEMU로 ReactOS를 구동하는 스크린샷
1. 개요
2. 특징
2.1. 하드웨어 가속
2.2. Linux에서 윈도우10/11 가상 머신 설치
2.3. VGA Passthrough
2.3.1. 설정 방법
2.3.2. 참고사항
2.3.2.1. 호스트 VGA 수동설정
3. 활용
3.1. 고전게임머신
3.1.1. 설치방법
3.1.2. 윈도우95의 경우
3.2. 해킨토시
3.2.1. 설치방법 - 시에라 이하
3.2.2. 설치방법 - 하이시에라 이상
3.3. IBM AIX 학습
4. GUI 프론트엔드
5. 기타
6. 안드로이드
7. QEMU/Wine
8. 같이보기

공식 홈페이지


1. 개요[편집]


QEMU는 에뮬레이터 또는 하이퍼바이져/버추얼라이져다. x86, PowerPC, ARM등을 지원하고 있다. 리눅스의 KVM과 함께 사용되며 상업용 용도로는 웹서버나 클라우드 서버를 운영하는 호스팅 업체나 데이터 센터에서 다수의 가상 머신을 운영하기 위해 사용된다. 호스트/게스트 OS로 리눅스가 사용되고 있다.

2. 특징[편집]



2.1. 하드웨어 가속[편집]


QEMU는 에뮬레이터 모드와 버추얼라이져 모드가 있다. 리눅스의 KVM과 함께 사용시 Type 1 하이퍼바이져가 되어 Bare Metal 고속을 지원한다. CPU가 VT-x등의 가상화 기술을 지원해야한다. 2015년이후 모든 CPU는 VT-x와 같은 가상화 기술이 탑재되어 있다. QEMU는 리눅스 서버에서 많이 사용중이며 특히 VPS서버가 KVM/QEMU로 동작된다. 그외도 거의 대부분의 운영체제를 돌릴 수 있다.

리눅스에서 PCI 기기 패스스루를 지원한다. 호스트 OS가 점유하고 있는 하드웨어 기기를 가상머신 VM에 직접 연결시키는것이다.

2.2. Linux에서 윈도우10/11 가상 머신 설치[편집]


한정판[1] Windows 10[2] 또는 11[3] 설치용 ISO 파일을 다운로드 받아 qemu-kvm/virt-manager 유틸을 사용하여 하드웨어 GPU 패스스루 없이 Linux에서 윈도우즈 11 VM을 설치하는것이 가장 쉬운 방법이다. 그래픽 설정을 위해 virt-manager에서 QXL/SPICE 또는 VirtIO(VirGL)/SPICE 모드가 사용된다. virtio 게스트 ISO파일도 필요하다. virt-manager의 펌웨어 선택란에서 secure boot를 지원하지 않는 OVMF_CODE_4M.fd를 선택해도 무방하다. secure boot를 지원하는 펌웨어 파일을 선택시에는 QXL 최신 그래픽 드라이버를 설치하기 위해 virt-manager에서 XML편집을 하여 no secure boot로 하거나 임시로 신규 VM 설정 화면을 띄어 OVMF_CODE_4M.fd에 해당하는 XML 프레이즈를 copy/paste하면 된다.

VM에서 에뮬레이트된 ps/2 키보드/마우스를 사용하는 대신 Evdev 방식으로 실제 usb 키보드/마우스를 passthrough한후 핫키를 사용 실제 마우스/키보드를 host os와 VM에 switch하여 사용도 가능하다.

KVM/QEMU 경우 dGPU사용시 그래픽스 퍼포먼스를 위해 GPU Full-Pass-through를 지원한다. 또한 엔터프라이즈용이나 호환 그래픽스 카드를 사용 vGPU 쉐어링으로 다수의 가상머신이 하드웨어 GPU를 공유하여 고속 사용도 가능하다. 패스스루 없이 사용하는 QXL/SPICE 또는 VirtIO(VirGL)/SPICE 보다 직접적인 방법이다.

GPU full passthrough시 별도의 kvm(keyboard/video/mouse) switch없이 가상머신 VM을 사용하도록 하는 Looking Glass도 있다. 여러 OS사용시 불편한 하드디스크 파티션과 듀얼 부팅 사용에 대한 필요를 없게 만들어 주어 단일 리눅스 파티션으로 다수의 가상 머신 VM을 고속 운용 가능하다. GPU PT시 vfio 드라이버와 default 드라이버를 load/unload 설정 해주는 GUI 유틸도 있다.


2.3. VGA Passthrough[편집]


다른 가상화 프로그램과 차별되는 독보적 장점은 데스크탑 환경으로 VGA Passthrough를 지원하는 것이다. VMWare는 서버용 운영체제인 ESXi로만 할 수 있고, VirtualBox의 PCI Passthrough는 VGA를 지원하지 않는다. Xen은 VGA Passthrough 성능이 상당히 낮은 데다가#참고[4] 호스트(Dom0)의 운영 기능이 매우 제한적인 탓에 데스크탑으로 사용하기 곤란하다.(Xen의 원조인 XenServer는 ESXi 처럼 호스트의 데스크탑 기능을 아예 지원하지 않는다.)

호스트는 CPU에 내장된 GPU를 쓰거나 아예 또다른 그래픽 카드를 달아서 사용하고 게스트 윈도우에 PCI Passthrough를 이용하여 가상 머신 내 운영체제에 실제 그래픽 카드 한 개를 붙여준다. QEMU에서 PCI Passthrough로 직접 가상 머신에 붙여주는 방법이다.

2.3.1. 설정 방법[편집]


  1. vt-d를 지원하는 CPU와 메인보드를 준비한다.
  2. 메인보드에서 vt-d를 활성화한다(BIOS 설정).
  3. 커널에서 vt-d를 활성화한다(iommu 커널옵션 설정).
  4. 게스트OS에 연결하려는 장치를 호스트 OS에서 분리한다(사용하는 커널 버전에 따라 vfio-pci 또는 pci-stub 설정. 3.x 대 커널은 vfio-pci를 지원하지 않고 4.x 대 커널에서 pci-stub를 사용하면 성능이 크게 하락한다.).
  5. qemu의 가상머신 설정에서 해당장치를 게스트에 연결한다(실행옵션 또는 xml 행추가. virt-manager를 사용하면 간편하다).


2.3.2. 참고사항[편집]


2개의 그래픽 카드로 구성되는 경우가 일반적이나 인텔 iGPU경우 GVT-g로 하나의 iGPU로도 가능하다. dGPU 한개로도 역시 가능하다.[5]

  1. VGA를 세컨더리 PCI-E 포트(노스브릿지에 연결된 PCIE 레인이 아닌 사우스브릿지에 연결된 PCIE 레인)에 장착하면 해당 슬롯의 대역폭과는 별도로 아키텍처 때문에 발생하는 대역폭 부족으로 성능 저하가 상당하게 발생하므로 조금 불편하더라도 프라이머리 포트에 장착해야 한다.
  2. 전통적인 IBM PC 구조상 롬을 읽어올 때 VGA 장치는 일반 PCI 장치와 달리 부팅시 메모리에 읽어들인 롬을 쉐도우 카피하여 접근한다. 이때문에 패스쓰루로 VGA를 연결할 경우 ROM 정보가 쉐도우카피된 가상머신의 VGA ROM 과 섞여 시스템 안정성이 훼손될 수 있다. 따라서 바로 위 항목처럼 VGA롬을 파일로 덤프하여 사용하는 것을 권장한다. 일반적으로 를 이용하여 추출하는데 입출력 에러가 발생하는 경우, 메모리 맵(/proc/iomem)에서 해당 VGA의 PCI 장치번호(lspci)로 VGA 주소를 찾아 메모리(/dev/mem)의 해당구간을 직접 접근(dd)하여 덤프한다.참고 그냥 여기서 다운로드하자. [6] 윈도우PE USB를 만들어서 윈도우로 부팅한 다음 GPU 제조사의 롬 업데이터로 현재 롬을 백업받는게 제일 편하다. 문제가 없으면 불필요한 작업.
  3. [사운드와 키보드 마우스 등 입출력 인터페이스에 의한 버벅임 해결방법] TCP/IP 리다이렉트를 이용한 USB연결 (usbredirserver)이 지원중단되었으며 qemu가 버전업 되면서 USB IO 패스쓰루가 크게 불안정해져서 금세 연결이 끊어진다. virtio의 passthrough로 /dev/input 에 있는 입력장치 이벤트를 패스쓰루 하면 끊김이 전혀 없이 사용할 수 있다.
  4. 리눅스 VGA 패스쓰루 구성 가운데 가장 곤란한 부분은 호스트 VGA 구성이다. 우선 듀얼VGA 카드 장착시 메인보드 하드웨어 호환성 문제로 부팅조차 되지 않는 경우가 많다. 그리고 구형 VGA라 드라이버 릴리즈가 오래된 경우에는 Xorg에서 듀얼VGA를 자동으로 잡지 못해 여러가지 삽질을 해가며 수동으로 xorg.conf를 설정 해야한다.
    • 일반 PCI VGA는 구하기도 어렵고 있어도 구형 칩셋이라 드라이버 지원에 문제가 많으니 듀얼 PCIE x16 슬롯 메인보드를 구입해야한다.
    • USB 3.0을 이용한 채굴용 PCI-e 라이저카드는 리눅스에서 지원하지 않는다. 정 필요하면 그냥 케이블로 1:1 연결한 x1 to x16 소켓을 이베이에서 구매하자. 아니면 미니 그라인더로 소켓 끝을 따던가.[7]
    • 드라이버를 제대로 구성했다는 전제하에, 호스트 VGA의 성능이나 완성도 등의 사용감은 Nvidia 보다는 AMD GPU가 크게 앞선다.
  5. virt-manager 를 사용할 경우 최초 VM 프로필 생성시에는 패스쓰루 장치를 안붙여야 한다. 특히 VGA. 프로필 생성시에 패스쓰루를 적용하면 패스쓰루된 VGA가 프라이머리로 설정되어 초기 부팅 화면이 패스쓰루된 VGA에서 출력된다. 이렇게 되면 윈도우가 제대로 부팅되지 않는 것은 물론, 부팅되어도 대부분의 경우는 오류를 일으킨다. 패스쓰루 장치는 윈도우 설치를 완료한 뒤에 붙이자.
  6. 게스트 윈도우에서 계속해서 VGA와 관련된 문제가 발생한다면 제조사의 최신드라이버를 제거하고 보다 안정적인 윈도우 업데이트에서 제공하는 WHQL 드라이버를 사용해 본다. 문제가 없으면 불필요한 작업.
  7. 패스쓰루 시 프로그램에서 계속 오류가 발생하는 경우가 있다. 클린프로필 생성, BIOS덤프, WHQL드라이버 사용 등을 모두 했는데도 계속해서 프로그램이 한 번씩 오류를 내면서 중단된다면 아마도 VGA 펌웨어의 문제일 것이다.(호스트 윈도우에서는 잘 돌아갈테지만 VM에서는 반드시 오류를 내뿜는다.) 해결책은 펌웨어 업데이트.(굳이 위험하게 업데이트 하지 않고 VM부팅시 롬파일을 읽어오도록 설정해도 된다.) 그러나 VGA는 메인보드와 달리 펌웨어를 업데이트해주는 제조사가가 거의 없다. 다른 회사 제품으로 카드 교체.
    • 리눅스의 X윈도우는 전통적으로 1.점유율 높은 칩셋 2.인지도 높은 제조사 3.가급적 최신의 하드웨어 를 요구해 왔다. 마이너 OS의 숙명으로 Xfree86 시절부터 점유율 높은 칩셋의 메이저 제조사 제품은 듣보잡 제품과 확연한 차이가 났다. 현재에도 유효함을 확인하는 부분.
  8. 노스브릿지에 PCIE 레인이 여렷 달려있는 서버용 메인보드의 경우 대부분 부트업 디스플레이 아답터 선택이 불가능하다. 우선순위가 높은 슬롯에 호스트에서 사용할 VGA를 장착해서 부트업 디스플레이로 만들어 주지 않으면 부팅 진행중 패스쓰루가 작동하는 순간 먹통이 된다.
  9. 패스쓰루한 vga의 hdmi 오디오 프로세서를 사용하면 지글거림 없는 사운드를 경험할 수 있다
  10. Nvidia GPU는 VGA패스스루의 보급 초기에 장기간 동안 드라이버에서 VM 환경 지원을 차단한 정책의 여파로, qemu의 패스스루 지원이 불안정하다. 윈도우 10 이상에서 가상머신의 부팅중 검은화면으로 정지되는 현상이 발생한다면, 부팅불가능한 윈도우의 레지스트리를 수작업으로 수정해야하는 문제가 있다. 이 레지스트리 변경은 GPU 하드웨어가 변경되면 다시 초기화된다. AMD GPU 사용을 권장한다.(그런데 호스트에 AMD GPU를 사용하면 게스트에는 AMD GPU를 연결할 수 없다.)
    • 굳이 Nvidia GPU를 사용하고 싶다면 다음 절차를 따라 그래픽 가속을 가상화하면 가능은 하다. 그러나 많이 불안정하다고 한다.
      1. 리눅스 호스트 GPU 드라이버 설치(호스트의 MESA 인터페이스에 연결됨)
2. virgl 장치를 사용한 게스트 VM 설정
3. Redhat virgl 가속 장치 드라이버 설치
4. OpenGL 드라이버 설치

2.3.2.1. 호스트 VGA 수동설정[편집]

  1. 게스트에 장착할 VGA를 제거한다.
  2. 호스트에서 사용할 VGA 드라이버를 설치한다.
  3. 호스트 VGA의 xorg.conf 파일을 자동생성한다.(현재 버전의 xorg 권장설정은 '설정파일 없음'이다)
  4. 게스트용 VGA를 장착한다.
  5. xorg 구동 테스트


3. 활용[편집]



3.1. 고전게임머신[편집]


파일:capture-win98.jpg
도스박스에서 아직 지원하지 않거나 윈도우9x에서만 구동되는 고전게임을 위한 가상머신을 만드는데도 유용하다. 도스박스에서도 윈도우98까지 설치가 가능하다고는 하나 에뮬레이션 효율이 떨어지기 때문에 게임에 지장이 있을 정도로 성능문제가 발생한다. qemu의 vga-passthrough를 사용하면 과정이 좀 복잡하기는 해도 native의 쾌적한 성능을 발휘하는 고전게임머신을 확보할 수 있다.

- 비디오카드 선정조건 : 1) Windows 98 Driver 정식지원, 2) PCIE 인터페이스 사용
  • PCI방식 카드는 하드웨어 가속기능 활성시 사용하기 어려울 정도로 오류가 많이 발생한다

- TNT2 급 3D 성능을 발휘하는 PCIE 1x 방식의 Matrox G550 추천
  • 고성능을 원한다면 Geforce 6600 도 선택 가능하다. 그러나 이쪽은 기판에 콘덴서가 있기 때문에 내구수명이 있고, 이정도 3D 성능을 요구하는 게임은 거의 다 XP를 지원하기 때문에 윈도우98 이하 전용의 정말로 고전 3D게임에서는 G550의 성능도 부족하지 않다. 그리고 G550은 PCIE 1x 슬롯으로 출시되어, 보급형 메인보드에도 장착이 가능하다.

vGPU 기능은 현존 VGA의 드라이버를 그대로 사용하므로 고전게임의 구동에는 도움이 되지 않지만[8] Voodoo 1, 2는 단일 VGA가 아니라 외장 3D 가속 카드이며 PCI 슬롯을 사용하기 때문에 현행 VGA와 달리 손쉽게 패스쓰루가 가능하다.[9] 요즘은 호스트 리눅스의 MESA GL에 VM의 3dfx voodoo 가상장치를 직접 연결하는 방식이 개발되고 있다#참고 (3dfx의 glide는 여러가지 wrapper의 등장으로 현재의 윈도우에서도 네이티브로 지원되고 있다.)


적용 영상


qemu-3dfx를 사용했다는 위 영상을 보면 windows xp에서 directx 9.0을 지원하고 있다. qemu-3dfx 프로젝트는 컴파일된 실행파일을 제공하지 않으므로 qemu의 소스를 직접 패치해서 컴파일해야 한다. 실행파일을 제공하지 않는 이유는... 개발자에게 후원금을 지불하면 개발자가 사용하는 OS에 적합한 커스텀 qemu 실행파일과 게스트 윈도우용 래퍼를 제공해주기 때문이다.
커스텀된 qemu에서 제공하는 글라이드 가속 인터페이스(호스트의 mesaGL과 연결) 위에서 dgVoodoo2를 이용하여 directx 9.0을 에뮬레이션하는듯 하다.

3.1.1. 설치방법[편집]


QEMU 버전이 6.0까지 올라가면서, 설치시 불편했던 부분이 상당히 개선되었다.

  1. 게스트 OS 프로필에서 Windows 98 을 선택한다.(USB 컨트롤러 선정에 영향. 미설정시 USB 드라이버 미작동 발생가능)
  2. 440fx메인보드를 선택한다.
  3. Disk 컨트롤러는 lsi scsi 선택 권장.
  4. 윈도우 98을 설치한다.
  5. 98버전은 재부팅하면 vm이 멈추는 문제가 있으므로 시스템이 멈추면 강제종료후 다시 켜준다. 패스쓰루 VGA를 연결하면 재부팅 문제가 확연히 줄어든다.
  6. pnp bios가 제대로 설치되지 않기 때문에 pnp 기능이 작동하지 않는다. 인식을 위해서는 inf-update를 설치해야 하는데 인텔 inf 패치 프로그램이 440fx 가상보드를 인식못한다. 다음과 같이 수동으로 설치한다.
    1. 장치관리자에서 느낌표가 떠있는 pnp bios의 드라이버 재설치를 선택한다.
    2. 모든장치목록에서 설치를 선택하여 'PCI 버스'를 선택하면 pnp bios가 정상적으로 인식되어 시스템 장치드라이버들이 설치되기 시작한다.
  7. 패스쓰루한 PCIE VGA 장치를 연결한다.
  8. 패스쓰루한 VGA가 검색되면 드라이버를 설치한 후, 재부팅하지 않은 상태에서 기존의 VGA 드라이버를 삭제한다. 가상VGA가 제1영상장치로 잡히면 듀얼디스플레이 지원이 미흡한 윈도우98 특성상 패스쓰루 VGA 드라이버가 작동하지 못할 가능성이 높다.
  9. 98과 호스트 리눅스의 파일공유는 Samba를 사용하면 공유폴더를 바로 사용할 수 있다.
  10. 사운드 드라이버를 설치하면 소리가 안난다. 인터넷에서 판매하는 2000원짜리 usb 사운드코덱을 패스쓰루로 연결하면 간단히 해결된다. 사블 PLAY 등 최신형 USB DAC 도 윈도우98에 내장된 기본 드라이버로 사용가능하다.


3.1.2. 윈도우95의 경우[편집]


  1. 기본은 98과 동일하다.
  2. 윈도우95는 IDE 에뮬레이션이 불안정해서 큰 파일을 복사하면 수시로 재부팅된다. 일단 IDE 방식으로 윈도우를 설치한 다음 SCSI 컨트롤러를 추가한다. LSI 895A 컨트롤러 드라이버 파일을 구해 INF를 우클릭으로 설치한다. 장치관리자에서 SCSI 장치 제어기를 새로고침하면 업데이트된다. 재부팅하여 정상가동을 확인한 뒤 하드디스크의 방식을 SCSI로 변경하면 안정적으로 사용가능하며 디스크 속도도 훨씬 빨라진다(윈도우98에서도 체감속도 향상).
  3. 랜카드를 pcnet으로 직접입력하면 95의 내장드라이버로 자동설치된다. PNP 바이오스를 설치하면 8139랜카드도 설치가능.
  4. 사운드는 SB16, adlib 2개를 함께 추가해야 자동설치된 sb16에서 소리가 출력된다. adlib은 virt-manager에서 지원하지 않으니 virsh로 수동구성 해야한다.
  5. 파일전송은 프리웨어 ftp 서버인 war ftp daemon을 인터넷에서 구할 수 있다.
  6. 마우스의 스크롤 휠을 사용하려면 로지텍의 Mouse Ware를 설치한다.


3.2. 해킨토시[편집]


철지난 구형 맥킨토시 워크스테이션을 싸게 주워와 리눅스, 윈도우, OSX 3가지 운영체제를 동시에 그리고 합법적으로 사용할 수 도 있다. 실제 해킨토시와는 다르게 모든 사용자가 동일한 가상 환경을 사용하기 때문에 발생하는 문제가 훨씬 적고 해결방법도 쉽게 찾을 수 있다.그리고 PowerPC도 애뮬레이션이 가능하다!


3.2.1. 설치방법 - 시에라 이하[편집]


자세한 설치방법
  1. 메인보드 아키텍처 p35, mac 지원 패치된 UEFI OVMF 펌웨어, 클로버 부트로더 사용.
    • enoch 커널로더는 비추. BIOS 환경에서만 작동하며 네이티브 설치이미지를 읽지 못하기 때문에 클로버 부팅디스크를 또 사용해야한다.
    • qemu command line 옵션을 입력하려면 xml 파일 맨 첫줄의 도메인 타입 선언 항목에 libvirt.org 스키마를 추가해야 한다. gui 실행시 수동설정이 손실되는 것을 막기 위해 vi 등 일반 편집기를 사용하지 말고 virt-manager에 내장된 virsh를 사용한다.
  2. 클로버 부트로더를 설치하려면 OSX가 필요하기때문에 인터넷에서 돌아다니는 해킨토시용 부팅USB를 다운받아 클로버 부트로더를 실행하고 클로버 화면에서 OSX 설치시디의 베이스시스템을 선택한다.
    • 그래픽은 QXL 장치를 선택한 후, 가상머신의 OVMF UEFI 옵션으로 들어가 디바이스 화면해상도를 클로버 부트로더에서 설정한 화면해상도와 일치시켜야 한다. 그렇지 않으면 다윈 로더의 부트 메시지 화면부터 깨져 나온다. 설정값을 모르겠으면 부팅USB의 config.plist 파일을 열어 해상도 값을 확인한다. 해상도 설정값이 없으면 FHD로 적용된다.
    • 최초 설치 이후 OS 재설치시 하드에 기본탑재하는 베이스 시스템으로 부팅하여 OS를 설치하면 재부팅후 시스템이 멈춘다. OS는 반드시 설치CD에 탑재된 베이스 시스템으로 부팅하여 설치한다.
  3. OS 설치 후 클로버 부트로더의 설정도구를 설치하고 부팅USB의 설정값을 교정한다.
    • 설정 자동추출 파일로 생성한 설정은 PC에 매우 적합하다. 이 생성값에 화면 해상도 수정과 클럭 주파수 수정을 위한 qemu 옵션 설정 정도만 더한다.
    • 부팅USB에 기 탑재된 kext 파일들만 설정도구를 이용해서 업데이트 한다. 아무 드라이버나 막 설치하면 부팅에 실패한다.
  4. 호스트-게스트의 마우스 공용을 위해 qemu의 USB 터치스크린을 가상장치를 사용하려면 qemu용 드라이버를 추가로 설치해야 한다.
  5. 이정도만 설정해주고 클로버를 최신버전으로 업데이트하면 심하게 버벅이던 동작이 매끄러워진다.
    • 클로버 부트로더를 업데이트시 쓸데없는 드라이버를 설치하면 부팅이 안된다. UEFI 드라이버 가운데 DataHubDxe만 설치한다.
    • 클로버 부트로더를 잘못설정하면 정상적인 부팅을 할 수 없으므로 OS 하드에는 부트로더를 설치하지 말고 백업본을 만든 부팅용 USB를 사용하는 것이 좋다.

3.2.2. 설치방법 - 하이시에라 이상[편집]


자세한 설치방법
OpenCore를 사용해서 GPU 패스쓰루가 지원된다. Nvidia GPU 드라이버는 하이시에라 까지만 지원된다. 최신 OS를 VGA 패스쓰루하려면 AMD의 RX 500, 5000, 6000 GPU를 사용해야 한다. 그러나 최신 OS는 qemu에서 에뮬레이션 해주는 주변장치들에 대한 드라이버가 없는 것이 많다. GPU 드라이버를 설치하지 않아도 기본 8MB VGA 메모리를 사용할 수 있다. 이때 드라이버 없이 패스쓰루한 GPU가 Virtio VGA 보다는 훨씬 나은 성능을 보여준다. 애플에서 하이시에라의 온라인설치를 지원중단했다. 시에라 이미지를 다운받아서 설치후 업그레이드 해야하기 때문에 하이시에라의 사용을 위해서는 애플 하드웨어의 보유가 필수적이다. 또한 ISO 형식이 아닌 DMG 패키지로 제공하므로 맥에서 부팅용 USB를 제작해서 이미지로 변환하는 절차가 필요하다.

3.3. IBM AIX 학습[편집]


서버 공부를 위해 AIX를 가정용 데스크톱에서 설치해 볼 수 있다. 물론 가상환경이므로 여러대 만들어서 HACMP 등 클러스터 구성연습도 가능하다. AIX 7.2 부팅방법 pseries를 구현하려면 openfirmware를 사용해야 한다. openfirmware 참고자료 qemu는 AIX의 LPAR를 에뮬레이션하므로 화면을 보기 위해서는 VIDEO를 none 로 제거하고 libvirt의 virsh console 명령 등을 이용해서 VM의 콘솔에 접속해야 한다.

AIX 7.2 버전은 오류없이 설치/작동하며 5.1 이하 버전은 커스텀된 RS/6000 머신의 BIOS와 튜닝된 qemu 프로그램 에서만 오류없이 작동한다.AIX 5.1 설치방법


4. GUI 프론트엔드[편집]


QEMU는 기본적으로 터미널에서 사용하는 프로그램이나, 이용의 편의성을 위해 각종 GUI 프론트엔드가 개발되고 있다.

QEMU-Launcher, AQEMU 같은 프론트엔드 GUI 프로그램이 있었으나 지금은 대부분 중지된 상태이다. PowerMac또는 Windows에서는 Qt5로 제작된 QtEmu[10]를 사용할 수 있다. QtEmu 사용법

한편 리눅스에서는 레드햇에서 주도하는 virt-manager의 독주체제다. virt-manager는 완성도가 상당히 높고 편리하며 복잡한 QEMU의 거의 모든 옵션을 GUI로 간편하게 설정할 수 있어 한번 써 보면 VirtualBox에는 다시 손이 가지 않을 정도로 QEMU의 사용이 편해진다. 참고자료 : libvirt 설정 ㅡ qemu 실행옵션간 변환메뉴얼. 그래도 리눅서답게 GUI 없이 터미널에서 실행하려면 간단하게는 qemu-system-x86_64 -enable-kvm -drive format=qcow2,file=/home/namu/image.img부터 시작해서 여러가지 옵션을 줄 수 있다.

애플 실리콘 프로세서를 탑재한 맥북, 아이맥에서는 UTM 이 매우 높은 완성도를 보이면서 심지어 무료다.

5. 기타[편집]


  • 다른 아키텍처를 가상화하는, x86에서 ARM이나 MIPS 같은 것으로는 현 시기에 사실상 유일한 방법이 QEMU를 사용하는 것이다. 따라서 현재 가령 안드로이드 개발 시에 사용하는 에뮬레이터 역시 QEMU 기반이고, 이 밖에도 QEMU가 지원하는 아키텍처를 에뮬레이션하는 경우이면 전부 사용된다.
  • QEMU 버전을 개조하여 PC-9801를 에뮬레이트할 수 있다. 참고. 실제 PC-9801 컴퓨터의 바이오스 롬을 이용하여 그 컴퓨터로 에뮬레이션할 수 있다. 그리고 Anex86이나 Neko Project와 비교하여 윈도우 98같은 운영체제도 설치할 수 있다. 물론 FPU가 가상화되지 않아서 설치 속도가 많이 느리다. 또, IMG로도 부팅할 수 있기 때문에 적절한 변환 툴만 이용해주면 구동할 수 있게 된다. 물론 하드 디스크의 경우 헤드, 실린더, 섹터의 수를 정확히 입력해 줘야 오류없이 된다.
  • 파워맥 전용 프론트 엔드로 QEmulator도 있으며 QtEmu의 PowerMac 지원 수정판도 있다.
파일:external/dl2.macupdate.com/20830_scr.jpg
  • Macrumors 포럼에서 macOS용 QEMU로 Windows부터 시작해서 Linux, macOS(...) 등등 온갖 OS를 부팅하는 기행을 보여주고 있다.(...) 심지어 2018년엔 Windows 10(!)도 부팅에 성공한 모양.[11]
  • OpenOSX에서 이것을 이용하여 WinTel(...)이라는 가상 머신을 개발한적이 있다.[12]
  • UTM이라는 iOS용 프론트엔드가 나왔다!
  • Time Stamp Counter를 활성화하면 CPU에 따라서 클럭 집계값이 다르게 나온다.[13]
  • 가상 디스크에 라이트백 쓰기 캐시를 지원한다. 호스트 메모리만 충분하면 일반 하드로도 SSD 부럽지 않은 쓰기 속도를 구현할 수 있다.
  • 2019년 부터 5세대 이상의 인텔 내장 GPU를 이용한 VGA 전가상화를 안정판에서도 지원하여 인텔의 GPU 드라이버가 VM에서 그대로 설치되고 작동한다.


6. 안드로이드[편집]


안드로이드로 Windows XP 같은 운영체제와 그 프로그램들을 돌릴 수 있다. 하지만 키보드 등이 잘 되지 않고, BochsLimbo PC Emulator[14] 등보다 성능 및 기능이 그다지 좋지 않아서 별로 사용되지는 않는 편이다. 만약 돌려보고 싶으면 윈도우 95NT 4.0 을 추천한다.

Termux에서 QEMU를 실행하여 VNC 클라이언트로 연결하는 방식이기에 Limbo와 다르게 불편할수있다.


7. QEMU/Wine[편집]


와인(소프트웨어)과 QEMU의 결합체. 가상 머신 없이 IBM PC 호환기종이 아닌 하드웨어 + 운영체제로도 직접 윈도우용 바이너리(실행 파일)를 실행하는 것을 할 수 있게 해주는 플랫폼[15]이다. 본래는 SPARC, PowerPC 계열 CPU로 Win32 바이너리(윈도우용 실행파일)를 직접 사용하고자 시작하였으며, 현재는 ARM 계열 CPU를 주 타겟으로 개발이 진행된다. 안정화되면 안드로이드나 iOS로 별도 가상 머신 없이 직접 윈도우용 소프트웨어를 실행할 수 있게 된다.


8. 같이보기[편집]


[1] Activate하라는 메시지와 Personalization 세팅 기능에 제한이 있는 것을 제외하면 유료버전과 동일하다[2] https://www.microsoft.com/en-us/software-download/windows10[3] https://www.microsoft.com/software-download/windows11[4] 하이퍼바이저별 VGA Passthrough 성능비교 논문[5] https://youtu.be/3BxAaaRDEEw[6] VGA롬은 변경이 종종 있기 때문에 해당 VGA에서 추출한 롬이 아니면 작동하지 않는 경우가 많다. 직접추출을 권장한다.[7] 헤드는 핸드그라인더에서 사용하는 것 같은 연마 디스크 유형을 선택하되 금속재질을 사용한다. 디스크 면 방향과 날 방향 모두 연마가 가능한게 좋다. 슬롯 홈방향과 동일한 일자(ㅡ) 형태로 구명을 파내려 하면 주변부 PC를 긁기 십상이다. 슬롯의 막혀있는 바깥쪽 끝에서부터 안쪽으로, 슬롯 구멍과 직각이 되도록 T자 모양으로 갈아내되 막혀있는 플라스틱 부분 전체를 바깥쪽 위에서 부터 갈아 없애는 느낌으로 조금씩 갉아가면 쉽게 완성할 수 있다. 고장난 메인보드로 몇 번만 연습해 보면 금방 숙달된다.[8] VBE Mini Port 드라이버를 사용하면 되기야 한다. DirectX 지원이 가능하냐가 문제지만..[9] Voodoo 1, 2는 별도의 그래픽 카드에 연결하는 방식을 사용한다. 그러다보니 Connectix Virtual PC v3나 INSIGNIA SoftPC/SoftWindows에서도 Voodoo를 장착하고 드라이버를 설치하면 작동이 된다. 단 QEMU와 다르게 이 둘은 당시 기술력으로 인해 호환성 문제가 있었다.[10] 본래 2008년경 중단된 프로젝트였으나 Qt5로 포크된 게 지금까지 개발되고 있다.[11] 하지만 CPU 클럭이 33MHz(...)로 인식된다.(...)[12] 2.1버전 한정. 그 이전 버전은 Bochs기반이다.[13] PowerPC에서 실행하면 최대 33MHz까진 나오는듯 하다.[14] 사실 Limbo PC Emulator도 QEMU 구버전 기반이다. 최신 버전에 포함된 업데이트가 ARM과 호환성을 떨어뜨린다고 한다.[15] Java와 사실상 동작 원리가 같다.

파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-01 23:45:20에 나무위키 QEMU 문서에서 가져왔습니다.