VMware Error - Failed to open virtual machine: Taking ownership of this virtual machine failed.

2017. 4. 12. 15:59


1. VMware "Take Ownership 경고". (This virtual machine appears to be in use)

VMware Workstation을 실행한 다음, 게스트(Guest) 운영체제를 사용하기 위해 VMware 가상 머신을 실행할 때, 가끔 아래와 같은 대화상자를 보게 됩니다.

VMware Take Ownership 경고


가상 머신이 사용 중인 것으로 나오는데, 만약 실제 사용 중이 아니라면, 가상 머신을 사용하기 위해 "소유권(Ownership)"을 가져와야 한다는 메시지입니다. 일반적인 경우, "Take Ownership" 버튼을 누르면, 가상 머신이 정상적으로 실행되는 것을 확인할 수 있습니다.

2. 문제 상황. (Failed to open virtual machine)

그런데 어떤 상황에서는, "Take Ownership" 버튼을 눌렀음에도 불구하고 "Failed to open virtual machine: Taking ownership of this virtual machine failed." 메시지와 함께, 가상 머신이 아예 실행조차 되지 않는 문제가 발생합니다.

VMware Error : Failed to open virtual machine.


자, 어떻게 해결해야 할까요?

3. VMware 가상 머신의 파일들

VMware에서 가상 머신을 생성하면, 몇 개의 기본 파일들이 생성됩니다. 가상 머신의 설정(Configuration)을 저장하는 ".vmx" 파일, 게스트(Guest) 운영체제의 내용이 저장되는 ".vmdk" 파일, 그리고 가상 머신과 관련된 로그가 저장되는 "vmware.log" 파일 등이 바로 기본 생성 파일이죠.


그런데 위에서 나열한 파일들 외에, 가상 머신 실행 중 생성되고 사라지는 디렉토리가 있습니다. 바로 가상 머신 락(Lock) 정보가 저장되는 ".lck" 디렉토리입니다. (참고로 호스트(Host)가 리눅스인 경우에는 ".WRITELOCK" 으로 생성됩니다.)

3.1 가상 머신 락(Lock)이 만들어지는 이유

가상 머신은 게스트(Guest) 운영체제의 무결성(Consistency)이 흐트러지는 것을 방지하기 위해, 게스트(Guest) 운영체제 실행 시 락(Lock) 파일을 만들어 동일한 가상 머신이 동시에 두 개 이상 실행되지 못하도록 만듭니다.


만약 동일한 가상 머신의 운영체제가 동시에 여러 개 실행되면, 하나의 디스크(.vmdk)에 대해 동시 다발적인 읽기/쓰기가 수행되므로 가상 머신의 데이터가 손상되는 문제가 생길 수 있기 때문입니다.


그래서 VMware는 가상 머신 실행 시, 락(Lock) 파일을 만들고 만약 락(Lock) 정보가 존재한다면 추가적인 가상 머신을 실행하지 못하도록 만들어둔 것입니다.

3.2 가상 머신 락(Lock)이 생성되는 경로

가상 머신의 락(Lock) 정보는 게스트(Guest) 운영체제의 내용이 저장되는 ".vmdk" 파일과 동일한 디렉토리에 생성됩니다.

VMware 가상 머신 락(Lock) 디렉토리


3.3 가상 머신 락(Lock) 정보 관리

가상 머신의 락(Lock) 정보는 VMware가 실행될 때 생성합니다. 그리고 가상 머신이 정상적으로 종료되면, 종료 과정에서 락(Lock) 정보를 삭제합니다.


그런데 만약 가상 머신이 실행되고 있는 중에 (PC 전원 차단과 같은 문제로) 가상 머신이 비정상적으로 종료되면, 락(Lock) 정보가 시스템에 남게 됩니다. 이런 상황에서 문제가 발생할 수 있는데요, 음, 그래도 대부분의 경우, 가상 머신을 다시 실행할 때, 기존 락(Lock) 파일들은 제거하고 새로운 락(Lock) 파일을 만들기 때문에 문제가 되는 경우는 잘 없습니다.


하지만 간혹, (정확한 이유는 알 수 없지만) 가상 머신을 실행할 때 기존에 남아 있던 락(Lock) 파일을 제거하지 못하는 경우가 발생할 때가 있는데, 바로 이 때 가상 머신 실행 에러가 발생하는 것입니다.

4. 해결 방법.

여기까지 설명했으니 해결 방법은 충분히 눈치채셨겠죠? 가상 머신이 실행 중이 아님에도 불구하고, 락(Lock) 정보가 남아 있어서 문제가 생겼으니, 락(Lock) 정보를 직접 삭제해주면 됩니다.

VMware 가상 머신 락(Lock) 디렉토리 삭제


이제 VMware의 가상 머신을 실행하면, 게스트(Guest) 운영체제가 정상적으로 실행되는 것을 확인할 수 있습니다.

5. 참고.

.END.


개발자 도구 및 서비스/VMware