Belajar KVM & QEMU - Booting VM dari ISO
Episode 6 of 23

Belajar KVM & QEMU - Booting VM dari ISO

Menjalankan VM pertama dari ISO installer dengan qemu-system-x86_64 -cdrom dan -boot order=d, menyelesaikan instalasi OS di dalam guest, partisi disk dengan parted dan LVM, hingga boot pertama dari hard disk

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Momentum yang kalian tunggu akhirnya tiba: booting VM pertama dari ISO. Semua teori episode 0-5 akan dipakai sekaligus — image qcow2 dari episode 5, parameter vCPU/RAM dari episode 4, dan machine type q35. Di akhir episode ini, kalian akan punya guest OS yang berjalan dan bisa diakses.

Konsep yang wajib dipahami: QEMU tidak peduli apa pun yang ada di dalam image — ia hanya mengekspos disk, CD-ROM, dan device ke guest. Installer di dalam guest yang menulis sistem operasi ke disk virtual. QEMU hanyalah "hardware", dan guest adalah "tukang instalasinya".

Menyiapkan ISO dan Image

Pertama, siapkan bahan: ISO installer (misal Ubuntu/Debian/Rocky) dan image disk kosong.

Buat image disk VM
qemu-img create -f qcow2 ubuntu-vm.qcow2 20G

Download ISO installer ke direktori kerja:

Unduh ISO (contoh Ubuntu Server)
wget https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso

Note

Selalu unduh ISO dari situs resmi distribusi dan verifikasi checksum. ISO yang dimodifikasi adalah vektor serangan klasik untuk menanam malware di dalam "server" kalian.

Menjalankan VM dengan QEMU

Boot VM dari ISO, dengan disk kosong sebagai target instalasi:

Boot VM dari ISO
qemu-system-x86_64 \
  -machine q35 \
  -accel kvm \
  -m 2048 \
  -smp 2 \
  -cdrom ubuntu-24.04.3-live-server-amd64.iso \
  -boot order=d \
  -drive file=ubuntu-vm.qcow2,format=qcow2,if=virtio \
  -netdev user,id=net0 \
  -device virtio-net-pci,netdev=net0 \
  -display gtk

Perhatikan tiap bagian:

  • -boot order=d — boot pertama dari CD-ROM (d = optical), bukan disk.
  • -drive file=ubuntu-vm.qcow2,format=qcow2,if=virtio — disk virtual dengan driver paravirtual virtio (episode 12).
  • -netdev user + virtio-net-pci — jaringan NAT dasar (episode 7).
  • -display gtk — window GUI untuk melihat installer.

Installer akan muncul di window. Lakukan instalasi seperti biasa di mesin fisik.

Instalasi OS: Partisi dan LVM

Saat installer menanyakan skema partisi, ini saatnya berlatih keputusan storage. Dua pendekatan umum:

Pendekatan 1 — Partisi sederhana (booting cepat, mudah didiagnosa):

text
/boot/efi   512M   (jika UEFI/OVMF)
/           19.5G  ext4/xfs
swap        sesuai kebutuhan

Pendekatan 2 — LVM (fleksibel, rekomendasi untuk produksi):

text
/boot/efi   512M   (jika UEFI/OVMF)
/boot       1G     ext4
PV          18.5G  → VG ubuntu-vg → LV root 15G, LV var 3.5G

LVM memberi kalian kemampuan memperluas LV tanpa menata ulang partisi — kombinasi sempurna dengan qemu-img resize dari episode 5. Di luar installer, operasi yang sama bisa dilakukan dengan parted dan lvresize.

Pilihan Driver Disk

Ubuntu/Debian modern mengenali virtio-blk secara otomatis dan menampilkan disk sebagai /dev/vda. Rocky/CentOS juga sama pada kernel modern. Jika installer tidak melihat disk, cek apakah module virtio_blk tersedia — atau untuk keamanan, instal dengan if=ide dulu lalu ganti ke virtio.

Periksa disk terdeteksi di guest
lsblk

Output harus menampilkan /dev/vda (atau /dev/sda jika emulasi). Jika kosong, kernel guest belum punya driver virtio.

Boot Pertama dari Hard Disk

Setelah instalasi selesai, restart VM — sekarang boot dari disk:

Boot VM dari disk
qemu-system-x86_64 \
  -machine q35 \
  -accel kvm \
  -m 2048 \
  -smp 2 \
  -drive file=ubuntu-vm.qcow2,format=qcow2,if=virtio \
  -netdev user,id=net0 \
  -device virtio-net-pci,netdev=net0 \
  -display gtk

Hilangkan -cdrom dan -boot order=d (default sudah boot dari disk). Login ke guest, lalu verifikasi:

Verifikasi VM berjalan
uname -a
free -h
cat /proc/cpuinfo | grep "model name"

Tip

Cek accelerator yang aktif dengan menjalankan info kvm di QEMU Monitor (Ctrl+Alt+2) atau perhatikan window: guest yang berjalan mulus tanpa lag tinggi kemungkinan besar memakai KVM, bukan TCG.

Common Pitfalls

  • Boot tetap ke ISO: -boot order=d membuat VM selalu boot CD-ROM; setelah instalasi, hilangkan flag ini atau ganti order=c.
  • Disk tidak terlihat installer: driver virtio_blk tidak termuat di kernel installer — gunakan if=ide saat instalasi, konversi ke virtio setelahnya.
  • Nama display salah: -display gtk butuh pustaka GTK. Di server tanpa GUI, pakai -display none -nographic dengan serial console (episode 8).

Penutup

Pada episode 6 ini, kalian telah menciptakan VM pertama yang bisa boot.

Inti yang harus dibawa pulang:

  • -cdrom ISO -boot order=d membawa installer; setelah selesai, boot dari disk.
  • -drive file=vm.qcow2,format=qcow2,if=virtio mengekspos disk virtual.
  • Skema partisi: sederhana untuk lab, LVM untuk produksi (fleksibel + kompatibel resize).
  • lsblk di guest memastikan disk terdeteksi (/dev/vda = virtio).
  • Ubah konfigurasi boot setelah instalasi selesai.

Di episode 7 selanjutnya, kita akan membahas networking dasar: user & tap — memahami -netdev user (SLIRP, NAT internal, port forwarding via hostfwd) dan -netdev tap dengan bridge untuk menghubungkan VM ke LAN fisik. Sampai jumpa di episode 7!

Belajar KVM & QEMU - Booting VM dari ISO | Belajar KVM & QEMU