Oracle VM VirtualBox - rawディスク/物理ディスクの追加(または「VERR_ACCESS_DENIED」エラーの防止)

Oracle VM VirtualBox - rawディスク/物理ディスクの追加(または「VERR_ACCESS_DENIED」エラーの防止)

Linux MintでVirtual Boxを実行していて、.vmdk仮想マシンにRAWディスクを追加しようとすると、次のエラーが発生します。

"/home/stephen/VirtualBox VMs/Windows10/test.vmdk" メディアのファイルにアクセス中に権限の問題 (VERR_ACCESS_DENIED) が発生しました。

結果コード:
VBOX_E_FILE_ERROR (0x80BB0004)
コンポーネント: MediumWrap
インターフェイス: IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1} 呼び出し側
: IVirtualBox {d0a0163f-e9された当事者
RC:_E_OBJECT_NOT_FOUND(0x80BB0001)

私が読んだ2つの異なる方法を使用して元の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

ハードウェア構成によっては、再起動の間にいくつかの問題がある可能性があります。

テスト対象:

Ubuntu22.04

バーチャルボックス 7.04

答え2

上記のファイルを生成するためにそれを使用する必要はありませんsudo。このファイルはルートが所有し、モード644なので、当然VBoxはそれを使用できません。

再作成したくない場合は、単に次のことができます。

sudo chown myuser:myuser /path/file.vmdk

答え3

Oracle VM VirtualBox - rawディスク/物理ディスクの追加(または「VERR_ACCESS_DENIED」エラーの防止)

「VERR_ACCESS_DENIED」エラーを回避するには、デバイス「/dev/sdX」(Xを正しい文字に置き換えます)を「/dev/sdX」などのユーザー(「$ USER」)の所有権と権限の下に置く必要があります。 「root」ユーザーによって。

メモ:Oracle VM VirtualBoxはユーザーが実行するため、ユーザーは「/dev/sdX」デバイスに必要なアクセス権を持っている必要があります。

Oracle VM VirtualBoxへのRAWディスク/物理ディスクの追加

モデル

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"

ありがとうございます!

関連情報