尝试将原始磁盘添加到虚拟盒时出现 VERR_ACCESS_DENIED

尝试将原始磁盘添加到虚拟盒时出现 VERR_ACCESS_DENIED

我创建了一个 virtualbox 原始磁盘,指向一个运行正常、可启动的 USB 驱动器,上面有一个小型 Linux 发行版。

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 给我自己的用户。

仍然得到同样的错误。我怀疑如果我以 root 身份运行 virtualbox 会起作用,但我真的不想这样做。有办法让这个工作吗?

答案1

用户应该在一个disk组中才能访问原始分区(正如 Gilles 在他的回答中最后一个参考文献中提到的那样)。

sudo usermod -a -G disk $USER

答案2

海报的主机使用的是linux。如果你来到这里并使用视窗作为主持人(像我一样),有一个简单的解决方案可以解决此错误。如果您不这样做,Windows 将不允许原始磁盘访问以管理员权限启动 VirtualBox

答案3

从 2020 年开始这里:

  1. 运行虚拟框服务作为管理员(VBoxSVC.exe),如果正在运行,请先杀死它。
  2. 运行虚拟框主可执行文件(虚拟盒子桌面上的任何内容)也以管理员身份

答案4

由于没有公认的答案,我暂时将其作为答案发布。除了确保您处于正确的组中之外,正如其他人在上面发布的那样:

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

如果您仍然收到VERR_ACCESS_DENIED错误,您需要根据 @Cybex 的评论,注销并重新登录以使上述组添加生效。

相关内容