我创建了一个 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 年开始这里:
- 运行虚拟框服务作为管理员(VBoxSVC.exe),如果正在运行,请先杀死它。
- 运行虚拟框主可执行文件(虚拟盒子桌面上的任何内容)也以管理员身份
答案4
由于没有公认的答案,我暂时将其作为答案发布。除了确保您处于正确的组中之外,正如其他人在上面发布的那样:
sudo usermod -a -G disk $USER
sudo usermod -a -G vboxusers $USER
如果您仍然收到VERR_ACCESS_DENIED
错误,您需要根据 @Cybex 的评论,注销并重新登录以使上述组添加生效。