CentOS 中 VirtualBox 共享文件夹设置指南
一 准备工作
- 在宿主机创建一个用于共享的目录,例如:D:\VboxShare(路径中尽量避免中文与空格)。
- 在虚拟机窗口顶部菜单进入:设备 → 安装增强功能(Guest Additions)。如提示挂载光盘镜像,按提示挂载后进入光盘目录运行安装脚本。
- 在 CentOS 内安装编译与内核头文件(增强功能需要):
- CentOS 7/8 常用命令:
sudo yum install -y kernel-devel gcc make perl
如遇到增强功能编译报错“kernel headers not found for target kernel”,再补充安装:
sudo yum install -y kernel-headers
完成后重启:sudo reboot
以上步骤确保 vboxsf 内核模块与增强功能可用。
二 配置共享文件夹
- 在虚拟机设置中进入:设置 → 共享文件夹 → 添加共享文件夹(右侧带加号的图标)。
- 填写并选择:
- 文件夹路径:选择宿主机的共享目录(如 D:\VboxShare)。
- 共享名称:自定义一个英文名称(如 VboxShare),后续挂载将使用该名称。
- 选项建议:勾选自动挂载(Auto-mount);权限可按需选择只读或完全访问。
- 分配类型:需要长期存在请选固定分配,临时使用选临时分配。
- 确认保存后启动或重启虚拟机。
三 在 CentOS 内挂载与验证
- 创建挂载点(示例):sudo mkdir -p /mnt/shared
- 手动挂载(将共享名称替换为你的名称):
sudo mount -t vboxsf VboxShare /mnt/shared
- 验证:ls /mnt/shared 应能看到宿主机共享目录中的文件。
- 卸载(如需):sudo umount /mnt/shared
以上命令中的“VboxShare”需与 VirtualBox 中设置的共享名称一致。
四 开机自动挂载与权限配置
- 方法 A(推荐,使用系统 fstab):
编辑 /etc/fstab,添加一行(将共享名称与挂载点替换为你的实际值):
VboxShare /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
说明:
- gid=100 对应组 users,uid=1000 通常对应当前第一个普通用户;如不确定,请先确认 id:id <用户名>。
- 执行 sudo mount -a 测试 fstab 是否无误。
- 方法 B(使用增强功能的自动挂载):
在 VirtualBox 共享文件夹设置中勾选自动挂载,系统会在 /media/sf_<共享名称> 自动创建挂载点(如 /media/sf_VboxShare)。若普通用户访问受限,将其加入 vboxsf 组:
sudo usermod -aG vboxsf <用户名>
加入后需重新登录或重启会话方可生效。
- 常见问题速查:
- 执行 mount 时报 “No such device”:说明 vboxsf 模块未加载,执行:sudo modprobe vboxsf。
- 提示权限被拒绝:确认挂载时使用了正确的 uid/gid,或将用户加入 vboxsf 组。
- fstab 导致系统无法启动:进入救援模式注释该行或使用 systemd.mount 单元替代。
以上做法可兼顾自动挂载与权限控制,适合长期使用。