分享Virtualbox Ubuntu 共享文件夹、自动挂载的一些问题

分享Virtualbox Ubuntu 共享文件夹、自动挂载的一些问题

VirtualBox Ubuntu 共享文件夹的自动挂载其实发生了许多的问题,这里我就一一的详细介绍,但也会忽略一些步骤

一些基本的操作步骤:
首先,我们想要实现VirtualBox虚拟机与windows系统之间的通信,我们必须也应该正确的安装虚拟机系统。
其次,我们也应该安装VirtualBox提供的虚拟机增强功能,这里我给大家配一张图,以示说明。
这里说明VirtualBox中增强工具的位置,因为时间太紧,具体安装过程这里就不做太多说明啦,如果有需要的,可以留言给我噢~
最后,我们开始添加共享文件夹,这里我将会以多副图的形式来展示。
1、在本地计算机中任意一个磁盘中,新建一个文你想要和虚拟机共享的件夹,在我这里,我选择在我本地计算机H盘中新建一个文件夹,名字为SharedUbuntu*(一定记好这个名字!!!)*
这里写图片描述
2、在VirtualBox中选择设备-共享文件夹-共享文件夹..打开设置界面,如图。
这里写图片描述
3、出现设置菜单,点击右侧+号,进行添加共享文件夹。
这里写图片描述
4、设置信息
这里写图片描述
这里写图片描述
5、点击确定之后,我们就完成了这个共享文件夹的设定。接下来我们需要在虚拟机中为这个共享文件夹进行挂载操作。为了方便我们看到挂载的结果,我们这里先在这个共享文件夹中新建一个文本文件,名字为text.txt,文本输入“我现在的位置是:H:\SharedUbuntu”。
这里写图片描述
在Ubuntu虚拟机中,打开终端,获取root权限,输入以下命令:

mkdir /mnt/UbuntuShare #该命令是在 /mnt文件夹下创建了共享文件夹,文件夹的名字任意,我这里命名为 UbuntuShare ,特别注意和我刚刚在windows中建立的文件夹进行区分,二者是不一样的,并且我们必须保证二者名字是不同的。

挂载目录建立好以后,我们开始执行挂载操作

mount -t vboxsf SharedUbuntu /mnt/UbuntuShare

这里写图片描述
挂载成功后,我们去查看Ubuntu文件中 /mnt/UbuntuShare下的文件,看看是否能够获取到刚刚我们在windows系统共享文件夹下的text.txt文件。
这里写图片描述
表示我们的挂载操作已经成功。

对于共享文件夹挂载的一些操作
针对以上的挂载操作,有一点特别遗憾,就是在我们每一次启动虚拟机的时候,我们都需要重新进行挂载操作,也就是每一次我们都需要在终端中重新输入挂载命令:

mount -t vboxsf SharedUbuntu /mnt/UbuntuShare

我们肯定希望是,当我们重新启动或者说重新打开虚拟机时,共享文件已经自动挂载好了,可以供我们使用,但事实,很遗憾,我本身并没有解决这个问题,我尝试了许多办法,还是没有找到适合我的,以下我列出几个网络上常见的几种说法,亲测,没有一个好使的,哎~
第一种是说,我们需要在 根目录下的 /etc/fstab文件中添加一行代码,具体如下:

SharedUbuntu /mnt/UbuntuShare vboxsf rw,gid=username,uid=username,auto 0 0 #其中username是你的登陆用户名

第二种是这样的:

SharedUbuntu /mnt/UbuntuShare vboxsf rw,gid=100,uid=1000,auto 0 0

第三种是这样的:

SharedUbuntu /mnt/UbuntuShare vboxsf defaults 0 0

亲测上面的三种方法在我这里没有一个有用的,反而当我添加了这三条中的任意一条代码之后,我的虚拟机就没办法正常打开了,会出现以下错误:
这里写图片描述
这里想要正常启动虚拟机的唯一办法就是,输入你的root用户的密码,然后进入系统,输入以下代码打开 /etc/fstab 文件,将我们添加的代码注释掉。

vim /etc/fstab

只需要添加#号即可
注释好了之后,记得保存退出!!!
之后我们通过reboot命令重新启动虚拟机,即可正常运行。

reboot #重新启动虚拟机

第四种说法是,我们需要在 根目录下的 /etc/rc.local文件中进行添加代码:

sudo mount -t vboxsf SharedUbuntu /mnt/UbuntuShare

至于第四种说法的来源是说,前三种为什么会失败,是因为系统调用fstab的时候,Virtualbox的共享目录的模块还没有加载,所以每次加载都会失败。
当我自己满怀希望的去测试了第四种方法之后,我发现,系统不会再出错了,我真的真的特别激动啊。。。。。但是,并没有实现自动挂载啊啊啊啊啊啊啊~闹心死我了

我自己也没有办法了~~
我去查了许多的文件,也没弄清楚,不过我在这里分享一个链接,或许某位看到这篇文章的时候就突然解决了呢,哈哈~
一篇外文文章,VirtualBox/SharedFolders
这是文章中的一段话
我在这里只能提供一个勉强简单的方法吧,最起码要比输入命令要强一些。我的方法是这样的,我在我的Ubuntu桌面上新建两个文件,一个是挂载文件,一个是取消挂载的文件,其中,mount.sh文件中写入:

#!/bin/sh
sudo mount -t vboxsf SharedUbuntu /mnt/UbuntuShare

umount.sh文件中写入:

#!/bin/sh
sudo umount -f /mnt/UbuntuShare

两个文件,我们需要分别添加可执行权限,我们可以不在终端中通过chmod命令,我们可以直接右键-属性-权限,勾选 “允许作为程序执行文件”。
这里写图片描述
而此时的文件,我们还不能够直接进行点击运行,我们需要进一步设置,具体过程如下图所示。
我们随便的打开一个文件夹,打开位于左上编辑菜单,选择首选项,如图:
这里写图片描述
进一步选择可执行文件中的 “每次都询问”属性,如图:
这里写图片描述
选择之后,我们就可以关闭这个设置框啦,接下来就很正常的在桌面上进行点击运行啦。我最后再附加两张图片吧。一定要记得,选择在终端中运行,嗯~缺点就是,每次运行的时候,我们都需要输入root密码~嘿嘿  我真的真的 很用心去写啦,虽然我没能解决自动挂载的问题,如果有谁能解决,告诉告诉我呀~~
这里写图片描述
哈哈,我完事啦~真希望这篇文章能帮到大家~文章中可能会出现书写的错误,请大家多多包涵,因为这是我第一次发博客文章请多多鼓励~~

### 如何在 Ubuntu 系统中配置和使用共享文件夹 #### 通过 VirtualBox 设置共享文件夹 如果正在使用 VirtualBox 创建的 Ubuntu 虚拟机,则可以通过以下方式设置共享文件夹。首先,在主机操作系统上创建一个需要共享文件夹,并将其添加到 VirtualBox共享文件夹列表中。接着,在虚拟机内部安装 VirtualBox Guest Additions 后,系统会自动将该共享文件夹挂载至 `/media/sf_<shared_folder_name>` 下,默认路径为 `/media/sf_share`[^1]。 为了手动挂载共享文件夹,可执行如下命令: ```bash sudo mount -t vboxsf shared_folder_name /mnt/shared_folder_path ``` #### 使用 Samba 实现跨平台文件共享 对于希望与其他操作系统的设备(如 Windows 或 macOS)共享文件的情况,推荐使用 Samba 工具。以下是具体步骤: 1. **安装 Samba** 安装 Samba 可以通过包管理器完成: ```bash sudo apt-get update && sudo apt-get install samba ``` 2. **修改 Samba 配置文件** 编辑 Samba 主配置文件 `/etc/samba/smb.conf` 并添加新的共享目录条目。例如,假设要共享位于 `/workspace/share` 的文件夹,可以在文件末尾追加以下内容: ```ini [public] path = /workspace/share public = yes writable = yes browsable = yes guest ok = yes create mask = 0644 ``` 此外,还可以指定特定用户的访问权限,比如 `security = user` 和 `[global] guest account = lei` 来定义全局安全策略以及访客账户的行为[^4]。 3. **调整目标文件夹权限** 如果遇到无法打开共享文件夹问题,可能是由于权限不足引起的。此时应赋予适当读写权限给目标文件夹及其父级目录: ```bash sudo chmod -R 755 /workspace/ sudo chown -R nobody:nogroup /workspace/share ``` 4. **重启 Samba 服务并测试连接** 更新完成后记得重启 Samba 服务使更改生效: ```bash sudo service smbd restart ``` 接下来可以从另一台计算机尝试访问此共享资源,Windows 用户可以直接输入地址 `\\<Ubuntu_IP>\public` 进行连接。 #### 浏览本地网络中的共享资源 当试图从 Ubuntu 查看同一局域网内的其他机器所分享出来的资料时,“从服务器获取共享列表失败”的提示往往表明存在某些障碍阻止正常通讯。解决办法包括但不限于确认双方均启用了相应端口、验证防火墙规则是否宽松足够支持数据交换还有就是核查是否有误配项存在于 smb.conf 文件里头[^3]。 ---
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值