Ubuntu 22.04 + VirtualBox 부팅중 amd_cpuid4 관련 커널패닉(kernel panic) 문제 해결 방법
Q : VirtualBox 통해서 Ubuntu 22.04 를 부팅하는 과정에 아래와같은 커널패닉(kernel panic) 이슈가 발생 했습니다. 어떻게 해결할 수 있나요 ?
A : 안녕하세요. 리얼리눅스 입니다.
Virtul Box 에서 Ubuntu 22.04 를 부팅시키는 과정에서 커널패닉(kernel panic) 문제가 생긴 상황입니다.
보여주신 커널패닉 에러로그 메시지를 보시면
"RIP: 0010:amd_cpuid4+0x195/0x2f0 " 문구를 확인하실 수 있고 리눅스 커널안에서 amd_cpuid4 라는 함수가 실행되는 과정에서 패닉이 발생했다고 이해할 수 있습니다.
init_intel()
=> init_intel_cacheinfo()
=> cpuid4_cache_lookup_regs()
=> amd_cpuid4()
(참고: https://elixir.bootlin.com/linux/v5.15/source/arch/x86/kernel/cpu/cacheinfo.c#L230)
위 리눅스 커널 코드를 확인해보면 부팅과정에서 CPU 정보를 얻어오다가 문제가 발생할것을 확인할 수 있습니다.
예상되는 문제해결 방법을 아래와 같이 4가지 제안해드립니다.
순서대로 시도해보시는것을 추천드립니다.
1. Virtualbox 7.0.12 release 버전으로 변경하여 다시 시도
Virtualbox 7.0.12 다운로드 링크: https://download.virtualbox.org/virtualbox/7.0.12/VirtualBox-7.0.12-159484-Win.exe
* LKML 정보 참고: 위 amd_cpuid4 관련 커널패닉 이슈가 Virtual Box 7.0.10에서 발생했고 7.0.12 버전에서는 수정됨
https://lore.kernel.org/lkml/652989ad8a7f110bad16cf1244c4c68a823f0afe.1693606609.git.chunkeey@gmail.com/T/
2. Virtual Box 설정: CPU core 개수 2개 이상으로 변경하여 다시 시도
3. 윈도우 CMD 또는 PowerShell 통해서 아래 명령어 기입
(참고: $VM 은 대상(target) 가상머신 이름으로 입력)
VBoxManage.exe setextradata $VM VBoxInternal/CPUM/HostCPUID/80000006/edx 0x02009140 >>한줄로 작성요망
4. Window Hyper-V 옵션 enable
(1) Windows 단추를 마우스 오른쪽 단추로 클릭하고 '앱 및 기능'을 선택합니다.
(2) 오른쪽의 관련 설정에서 프로그램 및 기능를 선택합니다.
(3) Windows 기능 사용/사용 안 함을 선택합니다.
(4)Hyper-V를 선택하고 확인을 클릭합니다.
설치가 완료되면 컴퓨터를 다시 시작하라는 메시지가 표시됩니다.
Hyper-V 설정 참고:
https://learn.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
다음과 같은 관련 내용의 교육이 필요하시다면 리얼리눅스 강의 중 시스템 핵심정리를 추천드립니다.