macos 에서 utm 사용법
2025-05-25 13:13:17
*

macos 에서 utm 을 사용해서 ubuntu vm 을 띄우는 법을 공유하고자 한다. utm 이 그냥 vm 만드는 도구 중 ui가 깔끔해서 선택했다.

utm 설치

https://mac.getutm.app/ 위 링크에서 utm 을 설치한다 (app store 는 유료)

ubuntu cloud image download

https://cloud-images.ubuntu.com/ 위 링크에서 설치하고자 하는 ubuntu version 을 선택한다.

Description에 QCow2 UEFI/GPT Bootable disk image 로 되어 있는 것 중 현재 사용중인 머신의 arch 에 맞는 image 를 다운로드 한다. (M 시리즈는 arm64 다운로드, 인텔맥은 amd64 다운로드)

cloud-init 생성

utm 에서 기본적으로 cloud-init 해주는게 있어서 그런지 ubuntu 이미지만 vm 에 마운트해서 실행하면 unbuntu / ubuntu 로 로그인이 안된다.. 그래서 추가적으로 cloud-init 을 만들어서 vm 에 로그인 할 수 있게 해야한다.

cdrtools 툴 설치

brew install cdrtools

위 명령어로 cdrtools 를 설치한다.

user-data 와 meta-data 파일을 작성한다.

.
├── seed.iso
├── meta-data
└── user-data

참고 디렉토리 구조

user-data

#cloud-config
users:
  - name: ubuntu
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: users, admin
    shell: /bin/bash
    lock_passwd: false
    passwd: "$6$rounds=4096$plaintextpw$hashedpw"
chpasswd:
  list: |
    ubuntu:ubuntu
  expire: False
ssh_pwauth: True

runcmd:
  - echo "cloud-init 완료!"

meta-data


meta-data 는 내용이 없어도 괜찮다.

seed.iso 생성

mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data

cloud-init 을 위해 seed.iso를 생성한다.

vm 생성

이제 준비는 다 끝났다. vm을 생성해보자.

alt name 생성하고자 하는 vm 이미지의 arch 타입이 host 와 같은 경우에는 virtualize 로 선택한다.

alt name other 를 선택한다

alt name 없음으로 하고 continue 한다.

뒷 부분 설정은 다 continue 해도 상관없다.

이제 메인화면에 생성된 vm 항목이 보일 것이다.

생성된 vm 목록에서 우클릭하여 edit 창을 띄운다.

alt name 여기서 이제 할 일은 Devices 쪽에서 디스플레이와 소리 삭제하고 Serial 을 추가한다.

드라이브에는 기본으로 생성된 VirtIO Drive 를 삭제하고 ubuntu.iso 이미지와 seed.iso 이미지를 마운트 해줘야 한다.

seed.iso 의 경우에는 이미지 종류를 CD/DVD (ISO) image 타입으로 바꿔주자.

alt name

alt name

위 이미지를 참고하면 된다.

alt name 정상적으로 접속 되는 것을 볼 수 있다.

vm 여러개 생성 할 때 팁

mac address 재설정하기

utm은 생성한 vm을 clone이나 New from template하면 network의 mac address를 동일하게 가져온다.

그래서 반드시 clone 시 edit 창에 1회 접속하여 mac address를 다시 받아오도록 해줘야 한다.

쉽게 여러개 만들기

절대 실행하지 않는 vm을 하나 만들어두고 그 vm을 계속 clone하면 네트워크 이슈 없이 여러개 만들 수 있다. 단 mac address를 다시 받아오는 작업은 해줘야한다.