CentOS 虚拟机使用 VirtualBox 共享文件夹
一 准备工作
- 在虚拟机窗口中安装增强功能:设备 → 安装增强功能。若未自动运行,可挂载光盘并手动执行:sudo mount /dev/cdrom /mnt && sudo /mnt/VBoxLinuxAdditions.run。安装前确保已安装编译依赖:sudo yum install -y kernel-devel kernel-headers gcc make perl。安装完成后重启:sudo reboot。这样可加载 vboxsf 内核模块并提供共享文件夹支持。
二 在 VirtualBox 中设置共享文件夹
- 关闭或保持虚拟机运行均可添加:选中虚拟机 → 设置 → 共享文件夹 → 添加共享文件夹(右侧“+”)。
- 选择主机上的共享目录,设置共享名称(仅支持英文与数字,避免空格和特殊字符),勾选自动装载与固定分配,确定保存。共享名称将在后续挂载命令中使用。
三 在 CentOS 中挂载与使用
- 创建挂载点:sudo mkdir -p /mnt/shared
- 手动挂载:sudo mount -t vboxsf 共享名称 /mnt/shared(将“共享名称”替换为上一步的名称)。
- 验证挂载:df -h 应能看到 shared 挂载到 /mnt/shared;进入目录测试读写:cd /mnt/shared && touch test && echo ok > test。
- 权限与访问:若提示权限不足,将当前用户加入 vboxsf 组:sudo usermod -aG vboxsf 用户名;随后需重新登录或重启会话。VirtualBox 的自动装载通常会把共享目录挂载到 /media/sf_共享名称,加入 vboxsf 组后即可访问。
四 开机自动挂载与常见问题
- 开机自动挂载(推荐 fstab):echo ‘共享名称 /mnt/shared vboxsf rw,gid=1000,uid=1000,auto 0 0’ | sudo tee -a /etc/fstab;如需更宽松权限可用 defaults(但安全性较低)。
- 若提示 No such device(vboxsf 模块未加载):执行 sudo modprobe vboxsf;必要时检查增强功能是否安装成功:lsmod | grep vboxsf。
- 增强功能编译失败排查:确保已安装与当前运行内核匹配的 kernel-devel(uname -r 查看版本),若版本不一致需先升级内核与 kernel-devel 并重启后再安装增强功能。
- 主机权限:确保主机共享目录对虚拟机可读写(例如在主机上设置共享目录权限为 777 或按需调整),否则即使挂载成功也可能出现读写失败。