Docker 실행 오류: Hardware assisted virtualization and data execution protection must be enabled in the BIOS
오류
Window 환경에서 도커를 설치하고 실행하려했더니 다음과 같은 오류가 발생했다.
원인
우선 작업 관리자를 들어가 가상화 기능을 사용하고 있는지 확인한다. 위와 같이 작업 관리자 - 성능 - CPU를 통해 확인할 수 있다. 나의 경우 가상화 기능이 '사용' 대신 '사용 안함' 상태였다.
해결
가상화 기능을 사용하기 위해서는 몇가지 작업을 해주어야 한다.
첫번째로 Hyper-V를 활성화 해주어야 한다.
1. Windows PowerShell을 관리자로 실행한다.
2. 다음 명령어를 입력한다.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
위의 과정을 통해 Hyper-V를 활성화 할 수 있다.
Windows 기능 켜기/끄기에서 Hyper-V가 체크되어있다면 활성화 된 것이다.
두번째로 부팅 로더에서 가상화 관련 옵션을 활성화 해주어야 한다.
1. Windows PowerShell을 관리자로 실행한다
2. 다음 명령어를 입력한다.
bcdedit /set hypervisorlaunchtype auto
위의 명령어를 입력후 'bcdedit'을 입력하면 Windows 부팅 관리자와 부팅 로더에 관련된 현재 설정들이 나온다. 여기서 맨 아래 'hypervisorlaunchtype'이 Auto인 것을 확인하면 된다.
그러나 나의 경우 위의 방법들로 해결되지 않았다. 이에 실제로 BIOS에서 위의 설정과 같이 부팅되고 있는지 확인해보았다. 현재 PC가 AMD CPU와 ASUS 메인보드를 사용하고 있어 다음 문서를 참고하였다.
https://www.asus.com/kr/support/FAQ/1038245/
[마더보드] BIOS에서 AMD 가상화를 활성화하는 방법 | 공식지원 | ASUS 한국
www.asus.com
나의 경우 SVM Mode가 'Disabled'로 되어있었고, 이를 'Enabled'로 변경하여 문제를 해결했다.