linux

Linux VirtualBox虚拟机如何共享文件夹

小樊
50
2025-10-07 11:54:55
栏目: 云计算

一、前置准备:安装VirtualBox Guest Additions
共享文件夹功能依赖VirtualBox Guest Additions(增强功能),需先在Linux虚拟机中安装。步骤如下:

  1. 启动Linux虚拟机,在VirtualBox顶部菜单栏选择设备→安装增强功能。此时虚拟机桌面会自动挂载一个增强功能光盘(路径通常为/media/[用户名]/VBox_GAs_xxx)。
  2. 打开终端,切换至root用户(sudo -i),挂载光盘(若未自动挂载):
    mkdir /mnt/cdrom
    mount /dev/cdrom /mnt/cdrom
    
  3. 进入光盘目录,运行安装脚本:
    cd /mnt/cdrom
    ./VBoxLinuxAdditions.run
    
  4. 安装完成后重启虚拟机(reboot),使内核模块生效。

二、配置VirtualBox共享文件夹

  1. 关闭Linux虚拟机,在VirtualBox主界面选中目标虚拟机,点击设置→共享文件夹
  2. 点击右侧添加共享文件夹图标(带箭头的文件夹),在弹出窗口中:
    • 文件夹路径:选择主机(Windows/Linux)上要共享的文件夹(如D:\shared/home/win/shared);
    • 文件夹名称:设置虚拟机内识别的共享名(如shared_vm,建议用英文);
    • 勾选自动挂载(虚拟机启动时自动挂载)和固定分配(共享文件夹随虚拟机存在而保留)。
  3. 点击“确定”保存设置。

三、在Linux虚拟机中挂载共享文件夹

  1. 创建本地挂载点(用于访问共享文件夹):
    sudo mkdir -p /mnt/shared_vm  # 路径可自定义,如/home/[用户名]/shared
    
  2. 挂载共享文件夹:
    sudo mount -t vboxsf shared_vm /mnt/shared_vm
    
    其中shared_vm是步骤二中设置的共享名/mnt/shared_vm挂载点

四、设置开机自动挂载(可选)
若需每次启动虚拟机时自动挂载,需编辑/etc/fstab文件:

  1. 打开文件:
    sudo nano /etc/fstab
    
  2. 在文件末尾添加一行(格式:共享名 挂载点 文件系统类型 options):
    shared_vm /mnt/shared_vm vboxsf rw,gid=1000,uid=1000,auto 0 0
    
    • rw:读写权限;
    • gid=1000/uid=1000:将共享文件夹所有者设为当前用户(可通过id -u/id -g查看自身UID/GID);
    • auto:开机自动挂载。
  3. 保存文件(Ctrl+O→回车→Ctrl+X),测试自动挂载是否生效:
    sudo mount -a
    
    若无报错,重启虚拟机(reboot)后共享文件夹会自动挂载。

五、常见问题排查

  1. 挂载失败(提示“vboxsf未找到”)
    说明Guest Additions未正确安装,需重新执行步骤一,确保内核模块加载(可通过lsmod | grep vboxsf验证)。
  2. 权限不足(无法写入共享文件夹)
    编辑/etc/fstab时添加rw选项(如上述示例),或手动挂载时指定权限:
    sudo mount -t vboxsf -o rw shared_vm /mnt/shared_vm
    
  3. 共享文件夹不显示
    确认是否勾选了“自动挂载”,或手动挂载路径是否正确(如/mnt/sf_shared_vm是CentOS的默认挂载路径,Ubuntu通常为/media/[用户名]/shared_vm)。

0
看了该问题的人还看了