티스토리 뷰

우분투 20.04 에서 버츄얼 박스 6.1.22 버전을 설치하고 윈도우 10을 사용하려니 잘 돌아가긴 하는데 랜덤한 시간간격을 두고

KMODE_EXCEPTION_NOT_HANDLED 라는 에러를 띄우며 죽었었습니다

켜놓으면 꼭 한번씩은 나오는지라 방법을 탐색하기 시작해봤고 나온 방법으로 1시간 동안은 아직 문제가 없어 글로 남겨두려 합니다

 

원인

주로 인텔 10, 11세대 CPU에서 나타난다는 말이 있네요

인텔 10세대부터 Split Lock Detection 이라는 기능이 추가가 됐는데

R).AM 과 EFLAGS.AC(네??)에 따라 Alignment Check 예외를 일으킨다고 합니다

리눅스 커널 또한 해당 기능이 커널 5.4와 5.8 사이에 추가되었고 기본값으로 켜져있다고 합니다

 

그래서 커널 파마리터로 split_lock_detect=off 를 주면 해당 기능을 끌 수 있다고 하네요

그으리고 커널 파라미터를 설정하는 법은.. 임시와 영구적인 기능 두 가지 방법이 있습니다

저는 GRUB을 이용하고 있고, 해당 내용만 찾아봤기에 GRUB만 올려둡니다

 

임시적용

부팅시 GRUB 메뉴(안나온다면 시스템이 부팅된(OS 부팅 X) 후 쉬프트키를 꾹 누르세요, 우분투 20버전)에서 사용하고자 하는 커널에 커서를 두고 엔터 대신 'e' 키를 눌러 명령어를 수정 할 수 있습니다

맨 아래쪽에 split_lock_detect=off 를 추가해주시면 됩니다

 

영구적용

/etc/default/grub 을 sudo 권한으로 원하는 에디터를 이용해 수정합니다

파일 내용 중 GRUB_CMDLINE_LINUX_DEFAULT="..."내용에 공백으로 구분해 split_lock_detect=off 를 추가해줍니다

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=0000-0000-00 split_lock_detect=off"

같이 추가해주시면 됩니다

 

그리고 sudo update-grub 을 해주시면 됩니다

재부팅 하신 후 cat /proc/cmdline 을 터미널에 입력해 적용된 파마리터들을 확인할 수 있습니다

 

 

참조

Alignment check exception causes - https://www.virtualbox.org/ticket/20180#comment:1

split_lock_detect - https://www.virtualbox.org/ticket/20180#comment:8

GRUB add kernel parameter - https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter

댓글