仮想ディスクにrawディスクを追加しようとするとVERR_ACCESS_DENIED


20

小さな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)

rawディスクvmdkファイルはルートが所有していることがわかりました。私は自分のユーザーにそれをchown'edしました。

それでも同じエラーが発生します。rootとしてvirtualboxを実行するとうまくいくと思いますが、私はそれを本当にしたくありません。とにかくこの仕事をする方法はありますか?


VirtualBoxは多くのことのためにルートアクセスを必要とし、すでにsudoを使用しているため、適切な環境とユーザープロパティを取得するために適切なルートスタートアップを行うこともできます。
ジュリーペレティエ

これはおそらく、ディスクの作成に使用した「方法」に関連しています。そのため、USBディスクにアクセスしようとしていますが、エラーは以前のイメージファイルの場所を参照しています。
ILMostro_7

私にとっても同じ問題です。私がsudoとして実行しようとすると、x64マシンが許可されません、それは私の場合でした、そして私のための解決策はありません...: '(-Linuxのusind
kokbira

回答:


13

ユーザーは、disk未加工のパーティションにアクセスするためにグループに属している必要があります(Gillesが彼の答えの最後の参照で言及したように)。

sudo usermod -a -G disk $USER

6
これは私にも有効です- 自分をグループに追加した後にログアウトする必要があることに注意してください。ログアウトしないと、この変更は適用されません。それは実際にどのグループの変更のために行く
サイベックス

そのコマンドだけを使用するだけで十分でした
kokbira

これはまさに私が必要としていたものでした。どうもありがとうございます!
セオドアR.スミス

10

上の権限をチェックし、すべてのディレクトリを含む関係ファイル、: 、~/VirtualBox VMs~/VirtualBox VMs/MyTinyLinux、。~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk /dev/disk2ディレクトリはユーザーが読み取りおよび移動できる必要があり(chmod +rx)、イメージファイルとrawディスクは読み取りおよび書き込み可能である必要があります(chmod +rw)。

ユーザーがディスクにアクセスできるようにする必要があります。以来、/dev各ブート時に自動的に入力され、あなたがこれを行うには、udevのを追加する必要があります。他のユーザーにアクセスを許可せずに特定のユーザーにデバイスへのアクセス許可を与えるをご覧ください。


8

ポスターはホストマシンでlinuxを使用しました。ここに来てWindowsをホスト(私のように)として使用している場合、このエラーの簡単な解決策があります。管理者権限でVirtualBoxを起動しないと、Windowsはrawディスクアクセスを許可しません。


2
昇格した特権でVBを実行している場合でも、この問題が発生します。
Euri Pinhollow

VirtualBoxは管理者アカウントから起動したのですか、それとも管理者として実行したのですか?そうでない場合は、最高の特権で試してみて、一度機能するようになればそれ以下で試してみることができます。
パスカル

返信いただきありがとうございます。私はそれを試してみましたが、それ以上に、思ったよりも複雑でした。このエラーの原因は単一ではないことを指摘したかっただけです。
Euri Pinhollow

@EuriPinhollow問題を解決しましたか?私は、同じエラーOMのWindows(でも、管理者としてのVBoxマネージャを実行している)を取得
CF

3

ディストリビューションによっては、VirtualBoxグループにユーザー名を追加する必要があります。

usermod -a -G vboxusers myusername

さらに、askubuntに関する同様のQ&Aによると、ISOが破損している可能性があります。あなたの場合、私はそれが生ディスクへの失敗した変換を意味すると思います。最初の手順で何らかの形で変換が失敗した場合に備えて、その手順を正しく行う方法を検索して繰り返してみてください。


それでも解決しない場合は、VirtualBoxマニュアルのアドバイスに従って-relativeオプションを追加してください。

イメージを作成するには、特定のデバイスの読み取り/書き込みアクセスが必要です。仮想マシンのイメージを使用する場合は、後で読み取り/書き込みアクセスも必要になります。これが実行可能でない場合は、ディスク全体への現在のユーザーアクセスを与える必要を回避するrawパーティションアクセス用の特別なバリアントがあります(現在はLinuxホストでのみ使用可能)。このような画像を設定するには、使用します

VBoxManage内部コマンドcreaterawvmdk -filename /path/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -relative

仮想マシンから使用する場合、イメージはディスク全体ではなく、個々のパーティションのみを参照します(例では/ dev / sda1および/ dev / sda5)。そのため、読み取り/書き込みアクセスは、ディスク全体ではなく、影響を受けるパーティションに対してのみ必要です。ただし、作成中は、パーティション情報を取得するためにディスク全体への読み取り専用アクセスが必要です。


2

受け入れられた答えはないので、今のところ答えとしてこれを投稿します。他の人が上に投稿したように、あなたが正しいグループにいることを保証することに加えて:

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

それでもVERR_ACCESS_DENIEDエラーが発生する場合は、@ Cybexのコメントに従って、上記のグループの追加を有効にするためにログアウトしてからログインし直す必要があります。


私の場合、「vboxusers」は不要で、「disk」(fedora29)のみが必要でした。mint19では、sudoを使用する場合を除き、rawdiskでそのVMを実行できませんでした。
コクビラ

0

私は同様の問題を抱えていましたが、問題はファインダーでホームボリュームにいる間にsudoコマンドを実行していたことです。ボリューム/ユーザー/所有者にcd'dし、そこでプロファイルは所有者と呼ばれ、完全に機能しました。


0

(私にとって)問題は、ディレクトリパス全体ではなくファイル名のみを表示することでした。...ファイル名のみが必要です-

VBoxManage内部コマンドcreaterawvmdk -filename rawdiskonusb.vmdk -rawdisk \。\ PhysicalDrive#

うまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.