Ubuntu에서 VirtualBox 실행 실패 원인과 해결 가이드

대상: Ubuntu 24.04 LTS 문제: VirtualBox 실행 시 “AMD-V is being used by another hypervisor (VERR_SVM_IN_USE)” 오류 발생


[1] 문제 개요

❗ 증상

VirtualBox에서 VM 실행 시 다음 오류가 발생:

AMD-V is being used by another hypervisor (VERR_SVM_IN_USE).
VirtualBox can't enable the AMD-V extension.
Please disable the KVM kernel extension, recompile your kernel and reboot.
Result Code: NS_ERROR_FAILURE (0x80004005)

💡 의미

  • VirtualBox가 CPU의 하드웨어 가상화(AMD-V/VT-x)에 접근하려는데, KVM 커널 모듈(kvm, kvm_amd) 이 이미 그 기능을 선점 중이라 실패.
  • 커널이 AMD-V를 “부팅 시점에” 자동으로 활성화하도록 변경된 것이 원인.

[2] 근본 원인

항목설명
KVM(Kernel-based Virtual Machine)리눅스 커널 내장 하이퍼바이저로 /dev/kvm을 통해 CPU 가상화 기능 점유
Ubuntu 24.04 커널 패치Canonical이 커널 빌드 시 kvm.enable_virt_at_load=1(기본값)을 적용 → 커널이 부팅 시 AMD-V를 자동 활성화
VirtualBox의 동작 방식자체 모듈(vboxdrv)로 AMD-V/VT-x를 직접 제어해야 함
결과KVM이 이미 AMD-V를 점유 → VirtualBox가 접근 실패 (VERR_SVM_IN_USE)

[3] 현재 상태 확인 방법

1. KVM 모듈 로드 여부

lsmod | grep kvm

2. KVM 사용 프로세스 확인

sudo fuser /dev/kvm
sudo lsof /dev/kvm

3. 현재 커널 파라미터 확인

cat /sys/module/kvm/parameters/enable_virt_at_load

[4] 해결 방법 요약

방식설명지속성VirtualBoxKVM/QEMU/Android EmulatorDocker CLIDocker Desktop
① 일시적 언로드sudo modprobe -r kvm_amd kvm일시적✅ 가능❌ 일시 중단✅ 가능❌ 불가
② GRUB 파라미터 변경kvm.enable_virt_at_load=0영구적✅ 가능✅ 가능 (단, 동시에 실행 불가)✅ 가능⚠️ 순차 실행만 가능
③ Blacklist 설정/etc/modprobe.d/blacklist-kvm.conf영구적✅ 가능❌ 완전 비활성화✅ 가능❌ 불가

[5] 해결 절차 상세

(1) 일시적 해결 (재부팅 전까지)

sudo modprobe -r kvm_amd kvm

(2) GRUB 파라미터 수정 (공존 모드, 권장)

sudo nano /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash kvm.enable_virt_at_load=0"
sudo update-grub
sudo reboot

(3) KVM 블랙리스트 (VirtualBox 전용 모드)

echo "blacklist kvm" | sudo tee /etc/modprobe.d/blacklist-kvm.conf
echo "blacklist kvm_amd" | sudo tee -a /etc/modprobe.d/blacklist-kvm.conf
sudo update-initramfs -u
sudo reboot

[6] 변경 사항 및 지속성 정리

항목변경 위치내용지속성복원 방법
modprobe -r런타임 커널모듈 언로드일시적재부팅
GRUB 파라미터/etc/default/grub, /boot/grub/grub.cfgKVM 점유 정책 변경영구적update-grub로 원복
Blacklist/etc/modprobe.d/ + /boot/initrd.img-*KVM 자동 로드 차단영구적설정파일 삭제 후 initramfs 재생성

[7] Docker와의 관계

Docker 유형KVM 사용 여부VirtualBox와 공존
Docker CLI (dockerd, docker-ce)✅ 가능
Docker Desktop for Linux❌ 불가능

[8] 권장 설정 조합

사용 목적권장 설정비고
VirtualBox + Docker CLI 병행GRUB 파라미터 kvm.enable_virt_at_load=0가장 유연한 조합
VirtualBox만 사용Blacklist완전한 충돌 방지
QEMU/KVM/Android Emulator 병행GRUB 파라미터Fedora와 동일한 동작
일시 테스트modprobe -r빠르고 안전, 재부팅 시 복원

✅ [9] 한 줄 요약

Ubuntu 24.04 LTS의 커널은 KVM이 부팅 시점부터 AMD-V를 점유하기 때문에 VirtualBox가 하드웨어 가상화에 접근하지 못해 실행에 실패한다.

kvm.enable_virt_at_load=0을 GRUB에 추가하면 Fedora처럼 공존이 가능하며, Docker CLI는 그대로 함께 사용할 수 있지만, Docker Desktop은 KVM을 사용하므로 충돌한다.