Oracle VM VirtualBox - 원시 디스크/물리 디스크 추가(또는 "VERR_ACCESS_DENIED" 오류 방지)

Oracle VM VirtualBox - 원시 디스크/물리 디스크 추가(또는 "VERR_ACCESS_DENIED" 오류 방지)

Linux Mint에서 Virtual Box를 실행 중이고 .vmdk가상 머신에 원시 디스크를 추가하려고 하면 다음 오류가 발생합니다.

"/home/stephen/VirtualBox VMs/Windows10/test.vmdk" 미디어의 파일에 액세스하는 동안 권한 문제(VERR_ACCESS_DENIED)가 발생했습니다.

결과 코드:
VBOX_E_FILE_ERROR (0x80BB0004)
구성 요소: MediumWrap
인터페이스: IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
호출된 당사자: IVirtualBox {d0a0163f-e254-4e5b-a1f2-011cf991c38d}
호출된 당사자 RC: _E_OBJECT_NOT_FOUND(0x80BB0001)

제가 읽은 두 가지 다른 방법을 사용하여 원본 VMDK를 생성했는데 매번 동일한 오류가 발생했습니다. 그들이 온다

sudo VBoxManage internalcommands createrawvmdk -filename "/home/stephen/VirtualBox VMs/Windows10/test.vmdk" -rawdisk /dev/sda -partitions 3 -relative

sudo VBoxManage internalcommands createrawvmdk -filename "/home/stephen/VirtualBox VMs/Windows10/Windows10_2.vmdk" -rawdisk /dev/sda3

거의 동일하다는 것을 알고 있지만 파티셔닝 및 관련 옵션을 추가하면 일부 사람들이 오류를 수정할 수 있다는 내용을 읽었습니다.

이게 많이 바뀔지는 모르겠지만 제가 사용해본 원본 디스크는 sda3이고 박스는 실행중입니다 sda2.

또한 이 오류를 해결하기 위해 제안된 또 다른 옵션이므로 내 사용자를 디스크 그룹에 추가했습니다. 나는 무엇이든 열려있습니다.

답변1

원시 디스크 액세스에 사용되는 .vmdk는 일반 사용자 액세스로 생성되어야 합니다 ->루트가 아님.

좋지도 안전하지도 않지만 최소한 작동하는 해결책은 이 .vmdk를 사용하여 액세스할 블록 장치의 권한을 변경하는 것입니다. 즉. sudo chmod 777 /dev/sdXX.

그런 다음 다음 VirtualBox 명령을 사용하여 RawDisk 액세스를 위한 vmdk 파일을 쉽게 생성할 수 있습니다.

VBoxManage createmedium disk --filename /path-to-file.vmdk --format=VMDK --variant RawDisk --property RawDrive=/dev/sdXX

하드웨어 구성에 따라 재부팅 사이에 몇 가지 문제가 있을 수 있습니다.

테스트 대상:

우분투22.04

버추얼 박스 7.04

답변2

위의 파일을 생성하기 위해 이를 사용할 필요는 없습니다 sudo. 이제 이 파일은 루트가 소유하며 모드 644이기 때문에 당연히 VBox는 이를 사용할 수 없습니다.

다시 만들고 싶지 않은 경우 간단히 다음을 수행할 수 있습니다.

sudo chown myuser:myuser /path/file.vmdk

답변3

Oracle VM VirtualBox - 원시 디스크/물리 디스크 추가(또는 "VERR_ACCESS_DENIED" 오류 방지)

"VERR_ACCESS_DENIED" 오류를 방지하려면 장치 "/dev/sdX"(X를 올바른 문자로 대체)를 "/dev/sdX"와 같이 사용자("$USER")의 소유권 및 권한 아래에 두어야 합니다. "루트" 사용자에 의해.

노트:Oracle VM VirtualBox는 사용자가 실행하므로 사용자는 "/dev/sdX" 장치에 대해 필요한 액세스 권한을 가지고 있어야 합니다.

Oracle VM VirtualBox에 원시 디스크/물리 디스크 추가

모델

sudo chown $USER "/dev/sdX"
sudo chown :$USER "/dev/sdX"
sudo chmod 700 "/dev/sdX"
VBoxManage createmedium disk --filename "<PATH_TO_VMDK>/dev_sdX_vmdk.vmdk" --format=VMDK --variant RawDisk --property RawDrive="/dev/sdX"

감사해요!

관련 정보