温馨提示×

如何在CentOS中使用VirtualBox共享文件夹

小樊
46
2025-12-31 01:26:16
栏目: 智能运维

在 CentOS 的 VirtualBox 中设置共享文件夹

一 准备与安装增强功能

  • 在虚拟机窗口中安装增强功能:设备 → 安装增强功能(VBoxGuestAdditions)。若提示运行软件,选择运行并输入 root 密码。安装完成后重启虚拟机。
  • 安装编译依赖(增强功能需要内核头文件与编译工具):
    • CentOS 7/8:sudo yum install -y gcc gcc-c++ make kernel-devel kernel-headers
    • CentOS Stream 8/9:sudo dnf install -y gcc gcc-c++ make kernel-devel kernel-headers
  • 若安装增强功能时报错如 “Kernel headers not found for target kernel …”,请先升级内核并安装对应版本的 kernel-devel,然后重启再安装增强功能:
    • 查看内核:uname -r
    • 安装匹配版本:sudo yum/dnf install -y kernel-devel-$(uname -r) 或先升级内核再装对应 devel
    • 重启后再执行增强功能安装脚本

二 配置共享文件夹

  • 在 VirtualBox 管理器中选中虚拟机 → 设置 → 共享文件夹 → 添加共享文件夹:
    • 文件夹路径:选择宿主机上的目录(如 Windows 的 D:\share 或 Linux 主机的 /home/user/share)
    • 共享名称:仅使用英文与数字,避免空格(如 shared
    • 勾选 自动挂载固定分配(便于每次启动自动挂载)
  • 确认后启动虚拟机

三 在 CentOS 中挂载与验证

  • 创建挂载点:sudo mkdir -p /mnt/shared
  • 手动挂载:sudo mount -t vboxsf <共享名称> /mnt/shared(例如:sudo mount -t vboxsf shared /mnt/shared)
  • 验证:ls /mnt/shared 应能看到宿主机共享目录中的文件
  • 卸载:sudo umount /mnt/shared

四 开机自动挂载与权限配置

  • 使用 fstab 自动挂载(推荐):编辑 /etc/fstab,添加一行
    • 共享名称 /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
    • 说明:将 uid/gid 替换为实际用户(id 命令可查看),保存后执行 sudo mount -a 测试
  • 让普通用户可访问:
    • 将用户加入 vboxsf 组:sudo usermod -a -G vboxsf $USER
    • 重新登录或重启后生效
  • 若使用 VirtualBox 的自动挂载,部分版本会在 /media/sf_<共享名称> 自动创建挂载点,但默认仅 root 可访问;建议按上文自建挂载点并配合 vboxsf 组权限使用

五 常见问题与排查

  • 报错 “No such device” 或模块未加载:执行 sudo modprobe vboxsf;若仍失败,多为增强功能未正确安装或内核版本不匹配,回到第一节重装增强功能并核对内核与 devel 版本一致
  • 权限被拒绝或只能 root 访问:确认已把当前用户加入 vboxsf 组并重新登录;必要时检查挂载选项 uid/gid 是否正确
  • 自动挂载失败:检查 /etc/fstab 拼写与共享名称是否一致,执行 mount -a 观察报错;也可先手动挂载验证后再写入 fstab
  • 增强功能安装失败:安装 gcc、make、perl 等构建工具,并确保已安装与当前运行内核匹配的 kernel-develkernel-headers

0