仮想ボックスにrawディスクを追加しようとするとVERR_ACCESS_DENIEDが発生する

仮想ボックスにrawディスクを追加しようとするとVERR_ACCESS_DENIEDが発生する

小さな Linux ディストリビューションが入った、正常に機能する起動可能な USB ドライブを指す VirtualBox RAW ディスクを作成しました。

sudo ./VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/MyTinyLinux/rawdiskonusb.vmdk -rawdisk /dev/disk2 -partitions 2

これを VirtualBox VM に追加しようとすると、次のエラーが発生します。

Failed to open the disk image file ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk.

Permission problem accessing the file for the medium '~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk' (VERR_ACCESS_DENIED).

Result Code: VBOX_E_FILE_ERROR (0x80BB0004)
Component: MediumWrap
Interface: IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
Callee: IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

生のディスクの vmdk ファイルが root によって所有されていることがわかりました。それを自分のユーザーに chown しました。

まだ同じエラーが発生します。virtualbox を root として実行すれば動作すると思いますが、本当にそうしたくありません。これを動作させる方法はありますか?

答え1

RAW パーティションにアクセスするには、ユーザーはdiskグループに属している必要があります (Gilles が回答の最後の参照で言及しているとおり)。

sudo usermod -a -G disk $USER

答え2

投稿者はホストマシンでLinuxを使用しました。ここに来て使用した場合ウィンドウズホスト(私のような)の場合、このエラーには簡単な解決策があります。Windowsでは、以下の手順を実行しないとrawディスクへのアクセスが許可されません。管理者権限でVirtualBoxを起動する

答え3

2020年からはこちら:

  1. バーチャルボックスを実行するサービス管理者として(VBoxSVC.exe) を実行している場合は、まずそれを強制終了します。
  2. 仮想ボックスのメイン実行ファイルを実行する(仮想ボックスデスクトップにあるものはすべて管理者として

答え4

受け入れられた回答がないので、とりあえずこれを回答として投稿します。他の人が上に投稿したように、適切なグループにいることを確認することに加えて、

sudo usermod -a -G disk $USER
sudo usermod -a -G vboxusers $USER

それでもVERR_ACCESS_DENIEDエラーが発生する場合は、@Cybexのコメントに従って、ログアウトして再度ログインする上記のグループの追加が有効になります。

関連情報