温馨提示×

Ubuntu VirtualBox如何设置虚拟机权限

小樊
49
2025-11-16 13:46:05
栏目: 云计算

Ubuntu 下 VirtualBox 权限设置实用指南

一 前置检查与用户组

  • 将当前登录用户加入 vboxusers,以获得管理虚拟机所需的权限:sudo adduser $USER vboxusers(需要重新登录或重启会话生效)。
  • 在虚拟机内(客体 Ubuntu)安装 VirtualBox 增强功能(Guest Additions),否则共享文件夹、剪贴板、分辨率自适应等功能不可用。
  • 若要在客体 Ubuntu 中访问共享文件夹,需将当前用户加入 vboxsf 组:sudo usermod -aG vboxsf $USER(注销并重新登录后生效)。

二 共享文件夹权限与挂载

  • 在虚拟机设置 → 共享文件夹添加主机目录,勾选 自动挂载固定分配(便于按固定路径访问)。
  • 启动客体 Ubuntu 后,共享目录通常挂载于 /media/sf_<共享名>,其所有者为 root、所属组为 vboxsf。将当前用户加入 vboxsf 后即可读写:sudo usermod -aG vboxsf $USER,随后注销/重启会话。
  • 若仍提示权限不足:
    • 确认已安装增强功能;
    • 确认用户已在 vboxsf 组(执行 groups 查看);
    • 需要 root 访问时,可在客体 Ubuntu 中临时使用 sudo ls /media/sf_<共享名> 验证。

三 USB 设备权限

  • 在主机的 Ubuntu 上安装 VirtualBox 扩展包(Extension Pack),版本需与 VirtualBox 一致。
  • 将当前用户加入 vboxusers 组:sudo adduser $USER vboxusers(注销/重启生效)。
  • 选中虚拟机 → 设置 → USB → 添加 USB 过滤器(选择你的 USB 设备)。
  • 插入设备并启动虚拟机,设备将被捕获到虚拟机中。
  • 旧版本或特定环境下,可能还需处理 usbfs 相关权限(如创建组并加入用户),但在现代发行版与较新版本 VirtualBox 中通常只需 vboxusers 即可。

四 开机自动启动与权限

  • 创建用于存放自动启动数据库与配置的目录并设置权限:
    sudo mkdir -p /etc/vbox
    sudo chgrp vboxusers /etc/vbox
    sudo chmod 1775 /etc/vbox
  • 指定自动启动数据库路径:VBoxManage setproperty autostartdbpath /etc/vbox
  • 为指定用户启用某台虚拟机的自动启动(示例用户为 zhangnq,虚拟机为 win2003):
    VBoxManage modifyvm win2003 --autostart-enabled on
  • 如需定义策略与延时,可在 /etc/vbox/autostart.conf 中配置,例如:
    default_policy = deny
    zhangnq = { allow = true; startup_delay = 10 }
  • 常见报错 VERR_ACCESS_DENIED 多由用户未加入 vboxusers/etc/vbox 目录权限不正确导致,按上文修正后重试。

五 常见故障排查

  • 共享文件夹无权限:确认已安装增强功能、已将用户加入 vboxsf、目录挂载为 /media/sf_<共享名>,必要时注销/重启会话再试。
  • 无法捕获 USB:确认已安装扩展包、用户属于 vboxusers、已添加 USB 过滤器并插入设备后再启动/捕获。
  • 自动启动失败:检查 /etc/vbox 权限与属组、用户是否在 vboxusers、以及 autostart.conf 配置是否正确。

0