温馨提示×

VirtualBox虚拟机在CentOS上如何共享文件夹

小樊
34
2025-11-23 17:03:00
栏目: 云计算

在 CentOS 虚拟机中配置与宿主机共享文件夹

一 准备工作

  • VirtualBox 管理器中选中你的 CentOS 虚拟机,打开:设置 → 共享文件夹,点击右侧 添加共享文件夹,选择宿主机目录,填写共享名称(建议使用英文、无空格),按需勾选 只读自动挂载,保存设置。
  • 启动进入 CentOS,安装编译与内核头文件依赖(用于构建增强功能内核模块):
    • CentOS 7/8:执行:sudo yum install -y gcc make kernel-devel
    • CentOS Stream 8/9 或已迁移到 dnf:sudo dnf install -y gcc make kernel-devel
      以上依赖用于后续安装 VirtualBox 增强功能

二 安装增强功能

  • 在虚拟机菜单选择:设备 → 安装增强功能,挂载后会看到光盘镜像。
  • 挂载光盘并运行安装脚本:
    • 挂载:sudo mkdir -p /mnt/cdrom && sudo mount /dev/cdrom /mnt/cdrom
    • 安装:cd /mnt/cdrom && sudo ./VBoxLinuxAdditions.run
  • 安装完成后重启:sudo reboot
  • 若安装时报错提示找不到对应内核头文件(如 “Kernel headers not found for target kernel …”),请先确认已安装与当前运行内核版本完全匹配的 kernel-devel,必要时通过 uname -r 查看版本后安装对应包,再重新运行 ./VBoxLinuxAdditions.run

三 手动挂载共享文件夹

  • 创建挂载点:sudo mkdir -p /mnt/shared
  • 执行挂载(将 <共享名称> 替换为你在 VirtualBox 中设置的名称):sudo mount -t vboxsf <共享名称> /mnt/shared
  • 验证:ls /mnt/shared 应能看到宿主机共享目录中的文件。

四 开机自动挂载与常见问题

  • 开机自动挂载(推荐按需选择权限参数):
    • 编辑 /etc/fstab,添加一行(将 <共享名称><挂载点> 替换为实际值):
      • 指定用户/组示例:sudo sh -c 'echo "<共享名称> <挂载点> vboxsf rw,gid=1000,uid=1000,auto 0 0" >> /etc/fstab'
      • 简单示例:sudo sh -c 'echo "<共享名称> <挂载点> vboxsf defaults 0 0" >> /etc/fstab'
    • 使配置生效:sudo mount -a
  • 常见问题处理:
    • 挂载时报 “No such device”,通常是 vboxsf 内核模块未加载:sudo modprobe vboxsf
    • 权限不足或用户映射问题,可在 /etc/fstab 中使用 uid/gid 指定访问用户(如示例中的 uid=1000,gid=1000),并确保该用户在系统中存在。
    • 若曾勾选 自动挂载 仍失败,优先检查增强功能是否安装成功、内核模块是否加载、共享名称与挂载点是否一致。

0