如何将用户添加到vboxusers以启用USB使用

我想在 Virtualbox 中运行的 Windows XP 系统中使用闪存驱动器,但当我打开设置以启用 USB 使用时,出现错误:
Failed to access the USB subsystem.
VirtualBox is not currently allowed to access USB devices. 
You can change this by adding your user to the 'vboxusers' group. 
Please see the user manual for a more detailed explanation


Result Code: 
NS_ERROR_FAILURE (0x00004005)
Component: 
Host
Interface: 
IHost {30678943-32df-4830-b413-931b25ac86a0}
Callee: 
IMachine {22781af3-1c96-4126-9edf-67a020e0e858}

有人知道怎么修好这个吗?

1这个回答解决了你的问题吗?如何在VirtualBox中访问共享文件夹? - wesinat0r
1@wesinat0r 这是关于共享文件夹的问题,而这个是关于直接访问USB设备的(VirtualBox支持此功能)。 - Eliah Kagan
6个回答

在您的主机上运行以下命令:
sudo usermod -a -G vboxusers $USER

现在执行注销操作(在将当前用户添加到组后始终需要执行)。
登录后,使用以下命令检查您是否在“vboxusers”组中,并确保“vboxusers”在显示的列表中:
groups $USER

2我遇到了一个错误:usermod: 组 'vboxusers' 不存在。 - Alex Jones
1adduser: 组`vboxusers'不存在。现在怎么办? - endolith
2哦等一下,这是在主机操作系统中运行的东西,而不是在虚拟机操作系统中? - endolith
4实际上,对于Linux的虚拟机和主机(虽然不完全是问题的答案,但很有帮助),您需要在安装扩展包后,在主机上执行sudo usermod -a -G vboxusers "$USER"命令,并在虚拟机上执行sudo usermod -a -G vboxsf "$USER"命令,然后重新启动虚拟机。 - KrisWebDev

这对我来说很有效,我的VirtualBox问题得到了解决。
sudo usermod -a -G vboxsf "$USER"

3我遇到了一个错误:usermod: group 'vboxsf' does not exist - Alex Jones
我不知道为什么安装VirtualBox后没有为你添加那个组,也许先手动添加该组会是一个好主意。 - Serjik

  1. 按照其他答案建议使用usermod命令将用户添加。
  2. 运行命令id。您应该在列表中看到vboxusers
  3. 如果您没有看到,请重新启动计算机,然后再次尝试id

当您在运行id命令后的结果中看到vboxusers时,您就可以使用虚拟机中的USB了。


1不必重新启动,只需注销并重新登录即可。 - nsane

  1. 在终端中运行以下命令:

    sudo adduser $USER vboxusers
    
  2. 重新启动所有系统


id <username>

那会给你

uid=1000([username]) gid=1000([username]) groups=1000([username]),10(wheel),18(dialout),497(plugdev)

如果在其中缺少 vboxusers,则请添加它。
sudo usermod -a -G vboxusers [username]

这应该解决问题。

想要提醒那些像我一样找不到解决方案的人,确保你是vboxusers组的一部分,如果不存在,请添加vboxusers组...然后,在主机的USB设置中删除所有USB过滤器(设备)...重新启动虚拟机...在主机上,使用空过滤器手动重新创建你的设备,只需从原始过滤器中复制以下两个字段,重启虚拟机...就这样,你的设备就会出现了...这是我找到的至少十种其他解决方案之外的唯一方法...享受吧