VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享

news/2025/10/27 0:07:06/文章来源:https://www.cnblogs.com/summellet/p/19167645

VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享

问题背景

在使用VirtualBox运行Ubuntu虚拟机时,经常需要在宿主机(Windows)和虚拟机(Ubuntu)之间传输文件。虽然可以通过USB设备或网络传输,但设置共享文件夹是最为便捷高效的解决方案。本文将详细介绍如何正确配置VirtualBox共享文件夹,避免常见的"Protocol error"等问题。

环境准备

  • 宿主机系统:Windows 10/11
  • 虚拟机系统:Ubuntu 20.04/22.04
  • 虚拟化软件:Oracle VirtualBox 6.0+
  • 共享目录示例
    • Windows主机:D:\share_test
    • Ubuntu虚拟机:/home/bitnami/Desktop/share_test

详细配置步骤

第一步:安装VirtualBox增强功能

在Ubuntu虚拟机中执行以下命令:

# 更新软件包列表
sudo apt-get update# 安装增强功能组件
sudo apt-get install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11# 重启系统
sudo reboot

验证增强功能安装:

lsmod | grep vboxsf

如果有输出结果,说明增强功能已正确加载。

第二步:在Windows中配置共享文件夹

  1. 完全关闭Ubuntu虚拟机(不只是休眠)
  2. 打开VirtualBox管理器,选择目标虚拟机
  3. 点击"设置" → "共享文件夹" → 点击"添加共享文件夹"图标
  4. 配置参数:
    • 文件夹路径D:\share_test
    • 文件夹名称win_share(可自定义,但不要与挂载点同名)
    • 勾选"自动挂载"和"固定分配"
  5. 点击"确定"保存设置

第三步:在Ubuntu中挂载共享文件夹

在Ubuntu虚拟机中执行:

# 创建挂载目录
sudo mkdir -p /home/bitnami/Desktop/share_test# 手动挂载共享文件夹
sudo mount -t vboxsf win_share /home/bitnami/Desktop/share_test

第四步:配置自动挂载和权限

设置开机自动挂载:

# 编辑fstab文件
sudo nano /etc/fstab

在文件末尾添加:

win_share /home/bitnami/Desktop/share_test vboxsf defaults,rw,uid=1000,gid=1000 0 0

保存文件方法:

  • Ctrl + O → 按 Enter → 按 Ctrl + X

设置用户权限:

# 将当前用户添加到vboxsf组
sudo usermod -aG vboxsf $USER# 或者明确指定用户名(如bitnami)
sudo usermod -aG vboxsf bitnami# 重启系统使更改生效
sudo reboot

验证配置

验证用户权限

# 检查当前用户是否在vboxsf组中
groups

输出应包含vboxsf

验证自动挂载

重启后检查共享文件夹是否自动挂载:

# 查看挂载情况
df -h | grep vboxsf# 或直接检查目录
ls -la /home/bitnami/Desktop/share_test

测试实时同步

  • 在Ubuntu中创建文件,立即在Windows中查看
  • 在Windows中创建文件,立即在Ubuntu中查看

常见问题与解决方案

问题1:mounting failed with the error: Protocol error

解决方案:

  1. 重新安装增强功能:

    sudo apt-get remove virtualbox-guest-*
    sudo apt-get install virtualbox-guest-dkms virtualbox-guest-utils
    sudo reboot
    
  2. 检查共享文件夹名称:

    VBoxControl sharedfolder list
    
  3. 检查Windows文件夹权限:

    • 确保D:\share_test文件夹有适当的读写权限

问题2:无法在共享文件夹中创建或修改文件

解决方案:

# 确保用户已添加到vboxsf组并重新登录
sudo usermod -aG vboxsf $USER
# 注销重新登录或重启

问题3:开机自动挂载失败

解决方案:
检查/etc/fstab配置:

# 测试fstab配置
sudo mount -a

使用技巧

  1. 文件命名:避免在文件名中使用Windows不支持的字符(\ / : * ? " < > |

  2. 大文件传输:共享文件夹方式传输大文件比其他方法更高效

  3. 开发环境:非常适合用于Web开发,可以在Windows中编辑代码,在Ubuntu中运行测试

  4. 备份重要数据:虽然共享文件夹很方便,但重要数据建议定期备份

总结

通过正确配置VirtualBox共享文件夹,可以实现Windows宿主机与Ubuntu虚拟机之间的无缝文件共享。关键步骤包括:安装增强功能、正确配置共享文件夹、设置适当的挂载选项和用户权限。遇到问题时,重点关注增强功能安装和权限设置,通常能解决大部分问题。

这种配置方式特别适合开发者和需要跨平台工作的用户,大大提高了工作效率。希望本指南能帮助您顺利设置共享文件夹,享受便捷的文件共享体验。


最后更新日期:2024年1月15日
适用版本:VirtualBox 6.0+,Ubuntu 18.04+,Windows 10/11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

凭借Ubuntu和i.MX 6ULL开发板构建网络共享

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

WampServer下载安装教程(附安装包,图文并茂) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【CI130x 离在线】FreeRTOS的流缓冲(StreamBuffer)

FreeRTOS StreamBuffer 详解 概述 StreamBuffer(流缓冲区)是 FreeRTOS 提供的一种轻量级数据流传输机制,用于在任务间或中断与任务间高效传输字节流数据。 基本特性 1. 数据结构字节流存储: 以 FIFO 方式存储字节数…

RT-Thread Nano源码浅析

了解RT-Thread Nano源码构成。一、了解源码 从官方下载到RT-Thread Nano源码目录如下图所示1、bsp文件夹 bsp文件夹里面存放的是板级支持包(board support package),用于存放RT-Thread为各种半导体厂商的评估板写好…

《从 “被动听” 到 “主动学”:课堂听讲助力大学生思维成长》

阅读完三篇文章,我首先想到的就是大一到大二的学习状态变化,突然发现上学期的我可能是刚高考完的原因,脑海中还深深印刻着高中生上课必须要认真听讲的烙印。虽然上课给带手机,但是一看到老师走进教室,总是下意识地…

用AI批量生成产品视频!Python+Google Veo 3.1 API让电商转化率飙升

今天跟大家分享一个超实用的电商运营技巧:如何用Python和Google Veo 3.1 AI,把枯燥的产品图片批量变成生动的营销视频。用户原创内容(UGC)现在特别火,对销售的拉动效果非常明显,有了这个工具,你也能轻松制作大量…

关于SQLite - 世界上装机量最多的数据库

关于SQLite - 世界上装机量最多的数据库? 使用C语言开发,使得它小巧精致而高效,直接采用偏底层的语言,使用文件的逻辑,实现SQL数据库的逻辑; 使用方:包括但不限于 Python、Java、C# 等; 无服务器的,…

模拟IIC与硬件IIIC哪个更常用?

在实际项目中,两种方式都被广泛使用,但模拟IIC(软件IIC)的应用场景更多、更普遍。 下面我们来详细解释一下两者的区别、优缺点和适用场景。 硬件IIC 硬件IIC是指由微控制器内部的专用IIC外设电路来实现的。你只需要…

251019 NOIP 模拟赛 T2 | dp 及其优化、调整法最优解性质、数形结合

OJ 传送门 原题: QOJ 5500 题意 有 \(n\) 个屋子排成一列,每个屋子里一个人,每个屋子可以开酒吧。 每个人会去自己左右两侧最近的(分别)酒吧消费。 一个方案的价值为 \(\sum _ {酒吧} 来这个酒吧的人数 \times p_i…

常见问题解决 --- 未识别函数

常见问题解决 --- 未识别函数

小作业 14(2018 北京高考文科)

已知椭圆 \(M:\dfrac{x^2}{3}+y^2=1\),斜率为 \(k\) 的直线 \(l\) 与椭圆 \(M\) 有两个不同的交点 \(A\),\(B\)。设 \(P(-2,0)\),直线 \(PA\) 与椭圆 \(M\) 的另一个交点为 \(C\),直线 \(PB\) 与椭圆 \(M\) 的另一…

第六章习题

下面的机器数都以16进制表示w func1(w) func2(w)机器数 ; 值 机器数 ; 值 机器数 ; 值0000007F;127 0000007F;127 0000007F;12700000080;128 00000080;128 FFFFFF80;-128000000FF;255 000000FF;255 FFFFFFFF;-10000010…

速通 花卉鉴赏 短文

真鲜花灵感来自 P&KU3(上) 第二日《时空花园》一题。 顺带一提,我在查阅资料的时候并没有找到百度百科花钟对应 list 的一个 reference,最后在 wikipedia 里有 reference 的里面选了一些写,如果有知道的朋友可…

Agent常见模式 - 智慧园区

我希望用最直白的方式,让大家理解这四种常见的模式,并且真实商业落地和你想的可能完全相反。 模式讲解 第一种,工作流LLM 这种方式最直观,就是在你原有的工作流上插入Agent,替换掉原来代码做不了,必须人做的事请…

react-router7.9.4使用

安装 新版路由简化了安装,只需要以下命令即可 npm i react-router创建路由文件 在项目根目录下创建路由文件 src\router\index.ts import { lazy } from react import Root from ../components/root import { createH…

AI元人文:从战略能力到价值对话的实现框架

AI元人文:从战略能力到价值对话的实现框架 核心洞见:无需从零创造,“价值对话AI”可通过重构已验证的战略型AI技术基石实现。关键在于对其能力进行目标升华与伦理重塑。 一、四项核心重构架构重构:从利益博弈到价值…

Loneliness

Spending years with a group of people who are fundamentally dissimilar is loneliness. Feeling the passage of time is also so lonely. Memories and regrets can even be so lonely. The speed of time never …

Java流程控制——用户交互Scanner

Java流程控制——用户交互Scanner用户交互Scanner 使用Scanner类实现获取用户输入 Scanner s = new Scanner(System.in);可通过Scanner类的next()与nextLinevitable()方法获取输入的字符串, 在读取前一般用hasNext()与…

概率论测试

后续会上传批改版本