- Quickemu는 QEMU용 래퍼로, 실행할 운영체제를 고르면 가상 머신 생성에 필요한 설정을 자동으로 처리해 Windows, macOS, Linux VM을 빠르게 만들고 실행함
quickget은 원하는 운영체제의 업스트림 OS 이미지를 자동 다운로드하고 VM 설정 파일을 만들며, quickemu는 하드웨어를 탐지해 컴퓨터에 맞는 구성으로 VM을 실행함
- 초기 목표는 Linux 배포판을 빠르게 테스트하는 것이었고, VM과 설정을 외장 USB 저장소나 홈 디렉터리 등 원하는 위치에 둘 수 있으며 실행에 상승 권한이 필요 없음
- 현재는 macOS, Windows, 대부분의 BSD, FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS 등 거의 1000개 운영체제 에디션을 지원함
- Linux와 macOS 호스트에서 동작하며 SPICE, 파일 공유, QEMU Guest Agent, VirGL, USB 패스스루, 포트 포워딩, 오디오, EFI와 Legacy BIOS 부팅 등 VM 사용에 필요한 기능을 제공함
Quickemu가 하는 일
- Quickemu는 QEMU를 감싼 래퍼로, 가상 머신 생성 시 필요한 설정을 자동으로 처리함
- 사용자는 실행할 운영체제만 선택하면 되고, 많은 설정 옵션을 직접 지정할 필요가 없음
- 핵심 도구는 두 가지임
quickget: 원하는 운영체제의 업스트림 OS를 자동 다운로드하고 VM 설정 파일을 생성함
quickemu: 호스트 하드웨어를 열거한 뒤 해당 컴퓨터에 맞는 최적 구성으로 가상 머신을 실행함
프로젝트의 출발점과 현재 범위
- 초기 목표는 Linux 배포판 테스트를 빠르게 할 수 있게 만드는 것이었음
- VM과 설정은 외장 USB 저장소나 홈 디렉터리처럼 원하는 위치에 저장할 수 있음
- 가상 머신 실행에는 상승 권한이 필요 없음
- 현재 지원 범위는 Linux 배포판을 넘어 macOS, Windows, 대부분의 BSD, 비Linux 운영체제로 확장됨
- 지원 예시는 FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS 등임
지원 운영체제와 호스트
- 호스트는 Linux와 macOS를 지원함
- 게스트 운영체제는 다음을 포함함
- macOS Sequoia, Sonoma, Ventura, Monterey, Big Sur, Catalina, Mojave
- Windows 10과 11, TPM 2.0 포함
- Windows Server 2022, 2019, 2016
- Ubuntu와 모든 공식 Ubuntu flavour
- 대부분의 BSD와 여러 비Linux 운영체제
- ARM64 게스트를 지원해 aarch64 VM을 실행할 수 있음
- ARM 호스트에서는 네이티브 실행
- x86_64 호스트에서는 에뮬레이션 실행
- 지원 운영체제 에디션 수는 거의 1000개에 이름
VM 기능
- SPICE 전체 지원을 제공하며 호스트/게스트 클립보드 공유를 포함함
- 파일 공유 방식은 게스트 운영체제에 따라 여러 방식을 지원함
- VirtIO-webdavd: Linux와 Windows 게스트용 파일 공유
- VirtIO-9p: Linux와 macOS 게스트용 파일 공유
- Samba: Linux, macOS, Windows 게스트용 파일 공유이며 호스트에
smbd가 설치되어 있어야 함
- QEMU Guest Agent를 지원해 표준 QMP 명령으로 시스템 수준 에이전트에 접근할 수 있음
- 그래픽과 장치 기능으로 VirGL 가속, USB 장치 패스스루, 스마트카드 패스스루를 지원함
- 네트워크와 입출력 기능도 포함함
- 게스트로의 자동 SSH 포트 포워딩
- 네트워크 포트 포워딩
- 풀 듀플렉스 오디오
- 점자 지원
- SecureBoot 포함 또는 미포함 EFI 부팅
- Legacy BIOS 부팅
빠른 시작 흐름
- Quickemu 설치 후 두 단계로 VM을 만들고 실행함
quickget으로 ISO 이미지를 다운로드하고 VM 설정 파일을 만듦
quickget nixos unstable minimal
quickemu로 quickget이 만든 설정 파일을 사용해 VM을 시작함
quickemu --vm nixos-unstable-minimal.conf
- 인자 없이
quickget을 실행하면 지원되는 모든 운영체제 목록을 볼 수 있음
문서와 참고 자료
- 위키는 시작 방법과 고급 설정 및 사용법을 다룸