在Virtualbox下为Ubuntu16.04开机自动挂载共享目录的最佳方法

玩虚拟机的一般都会给虚拟机设置共享目录,便于操作和使用。比如我在64位win10系统下,用Virtualbox安装了Ubuntu 16.04虚拟机,那么我一般都会将win10系统下的一些目录映射到Ubuntu里面去。以前,我都是通过将共享目录的信息直接写入到/etc/fstab文件中来实现自动挂载(关于这一点如何操作,此处不做详解,大家自行百度一下就知道了,很简单)。但是,用久了发现几个问题:

第一,我需要挂载到虚拟机的目录位置有好几个(比如有一个临时文件的存放目录tmp,有一个工作项目代码区的目录wrk,还有一个学习资料整理区的目录mit等),而且其中有些目录在不同的分区下,有的目录甚至在很深的位置,想要通过单个共享目录来挂载是不可能的。

第二,用这个办法自动挂载的所有共享目录中,一旦有一个或者多个失效(比如改了名字或者移动了位置等),就会导致ubuntu无法启动,无法进入桌面。对于我这种完美主义者,经常会整理电脑里的文件、目录、层级等,动到共享目录那也是经常的事。有几次遇到这种情况时,一时之间没反应过来,还以为是虚拟机挂了,差点直接删掉重装。

第三,我有好几台电脑都要用到虚拟机,为了方便起见,我就复用了同一个虚拟机的镜像文件,有需要时直接把整个VDI文件拷来拷去的。而且,我在不同的电脑上所要映射的目录也不完全一样(比如在家里的虚拟机我就不需要映射工作项目代码区的目录wrk)。这个时候就很麻烦了,每次一拷贝,就得记得先改好虚拟机的/etc/fstab文件,否则就会导致虚拟机无法启动,实在是有些麻烦。

为了解决这些问题,我摸索了一套更便捷、更自动化的共享目录挂载方法,特记录在此处,便于后续查阅,并与同道中人分享。这个方法说起来其实也很简单,就两个步骤,第一步是实现物理机整个分区的挂载,第二步是创建出分区中指定的目录的软链接。

步骤一、实现物理机整个分区的挂载

首先,在Virtualbox的设置中添加你索要挂载的物理机分区为共享目录,如下图所示,我添加了【D盘根目录、E盘根目录和Onedrive根目录】这3个目录作为共享目录,并将其分别命名为【drv_d/drv_e/drv_o】,你可以自己随意修改:

这里要注意,设置共享目录时,有一个自动挂载的选项【切记不要选中】(如下图),否则Ubuntu系统启动时就自动将该目录挂载到/media目录下去了,而它挂载时使用的是超级用户的权限,会造成其他的普通用户无法访问,到时还要去折腾用户权限等一堆的事,很麻烦,还不如自己手动写两个命令搞定来的干脆!

然后,在虚拟机的/mnt目录下新建一个共享文件的挂载目录,到时外部的驱动器根目录就直接挂载到这个目录下。我这里将其命名为win10(完整地址就是/mnt/win10,当然,这个目录的位置随你自己而定,不做强求的),你自己可以随便设置【注意,新建目录时有可能会提示用户权限不足,需要sudo一下】。并在该目录下再次新建3个目录,用于挂载实际的3个共享目录,我这里同样分别命名为drv_d/drv_e/drv_o,同样你也可以自己随意设置。

leon@Ubuntu:~$ cd /mnt/
leon@Ubuntu:/mnt$ sudo mkdir win10 share
leon@Ubuntu:/mnt$ sudo chown leon *
leon@Ubuntu:/mnt$ sudo chgrp leon *
leon@Ubuntu:/mnt$ cd win10/
leon@Ubuntu:/mnt/win10$ mkdir drv_d drv_e drv_o

接下来,在虚拟机里修改/etc/fstab文件,增加如下的语句:

drv_d	/mnt/win10/drv_d	vboxsf 	rw,auto	0	0
drv_e	/mnt/win10/drv_e	vboxsf 	rw,auto	0	0
drv_o	/mnt/win10/drv_o	vboxsf 	rw,auto	0	0

上面的脚本中,第一个项目是外部物理机共享目录的名称,就是图1中设置的目录的名称。第二个项目中的/mnt/win10/drv_d是你想要将其挂载到ubuntu虚拟机中的挂载地址。后面的其他项目就不做解释了,具体可以百度。

至此已经完成了外部物理机的根目录自动挂载。重启之后,ubuntu便会自动将你所选定的所有目录自动挂载到你指定的地址下,如下图:

步骤二、创建软链接文件

上面的步骤完成了根目录的自动挂载,也就是说,ubuntu一启动之后,便可以在/mnt/win10目录下访问win10系统下的D盘、E盘等根目录了。

但是,各个实际的共享目录却还藏在根目录底下的某个位置,如果要访问的话,还得一层层往下找,每次都要输入一大堆的路径,挺麻烦的。于是,我们就要创建一些快捷方式来实现便捷的访问。

做法其实也很简单,在/mnt/share目录下(同样,这个目录的位置随你自己而定,不做强求的),根据你自己的需要,为各个实际的目录创建软链接文件(ln命令)即可。具体的语法如下:

ln -s /mnt/win10/drv_d/A_Download /mnt/share/tmp
ln -s /mnt/win10/drv_d/B_WorkItem/A_YXProjects/C_HUD_Code/imx6ul /mnt/share/wrk
ln -s /mnt/win10/drv_d/M_MyInstitute /mnt/share/mit
ln -s /mnt/win10/drv_d/S_StudyProject/G_GitArea /mnt/share/git

最后创建出来的效果如下:

leon@Ubuntu:/mnt/share$ ls -l
总用量 0
lrwxrwxrwx 1 leon leon 42 5月 28 10:48 git -> /mnt/win10/drv_d/S_StudyProject/
lrwxrwxrwx 1 leon leon 31 5月 28 10:47 mit -> /mnt/win10/drv_d/M_MyInstitute/
lrwxrwxrwx 1 leon leon 28 5月 28 10:41 tmp -> /mnt/win10/drv_e/A_Download/
lrwxrwxrwx 1 leon leon 59 5月 28 10:47 wrk -> /mnt/win10/drv_e/B_WorkItem/A_Projects/C_Code/imx6ul/

按照上面的方法创建出来的共享目录及其链接文件,存在以下的好处:

1、在虚拟机外部映射的是win10系统的根目录,就算对于我这种强迫整理症的患者而言,只要有空随时都会有整理目录和文件的欲望,但是想要去整理根目录却没那么容易。所以,从此不用再担心我某次整理win10系统的目录会导致虚拟机的共享目录映射异常。

2、最后创建的访问通道,是基于/mnt/win10目录下的根目录而临时创建的链接文件,一旦有任何需要随时可以更改,完全不用动到外面的物理机,也不用担心多个物理机之间的冲突,实在是极其便捷!

总结

以上所述是小编给大家介绍的在Virtualbox下为Ubuntu16.04开机自动挂载共享目录的最佳方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • VirtualBox安装Ubuntu Server16.04虚拟机的图文教程

    1.新建虚拟机 VirtualBox点击新建,选择Linux Ubuntu 虚拟硬盘类型选择VHD(虚拟硬盘) 动态分配 选择好保存位置和硬盘大小,创建. 2.安装系统 选择"存储"--"控制器",加载Ubuntu Server光盘镜像 选择好后启动. 选英文 位置信息,选择other--Asia--China 系统语言和键盘设置 选English(US) 设置计算机名 用户名,密码 是否使用弱密码,是 是否加密,否 时区是否正确 磁盘分区,默认就行 网络代理 是否

  • ubuntu 下VirtualBox 如何实现共享设置

    ubuntu 下VirtualBox 实现共享设置: 使用系统VirtualBox,另外又装个Ubuntu  ,想让两个系统实现共享设置,经过上网查资料,得以实现,这里就说下具体步骤: 一.VirtualBox在winxp下虚拟ubuntu 在winxp下虚拟ubuntu,在ubuntu下访问win的共享文件夹时出现如下错误: /sbin/mount.vboxsf: mounting failed with the error: No such device 1,若要使用共享文件夹功能,必须安装

  • Virtualbox安装Lubuntu 18.04 64位的图文教程

    前言 Lubuntu(发音:宽式IPA:/luːˈbuːntuː/)是新的Ubuntu Linux桌面系统计划,其默认桌面环境为LXDE,特别适用于配备老旧的电脑.和Xubuntu.Ubuntu Lite一样,都是属于追求轻巧的Ubuntu分支.其特色除了轻巧快速外,并提供极低的包相依性,将因为包相依造成的操作问题减到最低.另外,与其他分支相比Lubuntu与Ubuntu除了桌面环境和预装软件不同外,其他基本一致.因此,能在配置较低的电脑上体验到Ubuntu的操作,二者的软件安装方式基本一致,L

  • VirtualBox 虚拟机中安装 Ubuntu 12.04(图文教程)

    距离ubuntu最新版发布已经差不多半年了,博主近来对linux系统有了兴趣,奈何资金不足无法购置一台新机来安装ubuntu.所以想到了虚拟机.下面介绍了VirtualBox 虚拟机中安装 Ubuntu 12.04. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • VirtualBox虚拟机安装Ubuntu详细教程(图文)

    最近我初次接触了Linux操作系统,在VirtualBox虚拟机上安装了Ubuntu来学习,顺便把安装过程分享到博客.这篇教程面向超新手. VirtualBox简介 VirtualBox是Oracle旗下的一款开源的,免费的虚拟机软件.也是本教程所用的虚拟机软件. 官方下载地址:https://www.virtualbox.org/wiki/Downloads 根据你正使用的操作系统,选择相应的最新版本进行下载并安装,例如Windows用户就下载VirtualBox x.x.x for Wind

  • 在虚拟机virtualbox中安装ubuntu的图文教程

    距离ubuntu最新版发布已经差不多半年了,博主近来对linux系统有了兴趣,奈何资金不足无法购置一台新机来安装ubuntu.所以想到了虚拟机. 虚拟机的选择 VMwareWorkstation,功能强大,虚拟机的显卡也不错.VMware缺点是很不绿色,会对你的系统有一些影响.而vmare workstation本身有点臃肿,占用系统资源比较多. Virtualbox虚拟机相对比VMWare workstation轻量级一些,运行一般的游戏的话,性能不输于vmware.但是配置起来相对麻烦,而且

  • VirtualBox 共享文件夹设置及开机自动挂载详细教程

    鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了.系统装好了,在日常使用过程中,往往要从VirtualBox的客户机(guest system)中使用主机(host system)里面的文件,那么通过共享文件夹的方式可以达成此目的. 我在这里写了个图文教程,说明设置过程,希望对大家有所帮助.(注:我的主机是Ubuntu Linux 8.04,客户机是Windows XP,VirtualBox版本2.2.4[下载]) 在V

  • 在Virtualbox下为Ubuntu16.04开机自动挂载共享目录的最佳方法

    玩虚拟机的一般都会给虚拟机设置共享目录,便于操作和使用.比如我在64位win10系统下,用Virtualbox安装了Ubuntu 16.04虚拟机,那么我一般都会将win10系统下的一些目录映射到Ubuntu里面去.以前,我都是通过将共享目录的信息直接写入到/etc/fstab文件中来实现自动挂载(关于这一点如何操作,此处不做详解,大家自行百度一下就知道了,很简单).但是,用久了发现几个问题: 第一,我需要挂载到虚拟机的目录位置有好几个(比如有一个临时文件的存放目录tmp,有一个工作项目代码区的

  • Windows系统下安装VirtualBox及安装Ubuntu16.04的详细教程

    1.软件介绍 VirtualBox VirtualBox 是一款免费的开源虚拟机软件,所谓虚拟机软件,就是能够提供各种模拟的硬件环境,并且在其上安装各种操作系统,目前支持Window,Linux,Mac OS X. 其下载地址可以点击这里.点击链接后,因为是要在window下安装,可以参考下面,直接点击红框部分的链接下载widnow版的VirtualBox 下载好了后,直接双击打开,类似下面的图文步骤直接不停点击下一步安装即可 Ubuntu Ubuntu,中文称呼"乌班图",是一个开源

  • linux中mount/umount命令的基本用法及开机自动挂载方法

    本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a 安装在/etc/fstab文件中类出的所有文件系统. -f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统. -n 不把安装记录在/etc/mtab 文件中. -r 讲文件系统安装为只读. -v 详细显示安装信息. -w 将文件系统安装为可写,为命令默认情况. -t <文件系统类型

  • ubuntu16.04安装ssh服务并实现远程访问的方法

    一.查看是否安装了ssh服务 apt-cache policy openssh-client openssh-server ubuntu默认安装了openssh-client,openssh-server需要手动安装 二.安装ssh服务 apt-get install openssh-server 三.查看ssh服务的开启状况 ps -e|grep ssh 如果出现sshd,则ssh服务已开启.如果只有agent,则尚未开启成功 四.开启ssh服务 /etc/init.d/ssh start 五

  • ubuntu16.04升级Python3.5到Python3.7的方法步骤

    ubuntu16.04自带python有两个版本,一个2版本,使用的是python:另一个是3版本,使用的是python3. 简易安装python后得到的3版本的版本号是python3.5. 可以使用下面的命令查看py版本: python3 --version 因为版本内容/接口等的不同,需要将其升级到更高的版本操作如下: 1.安装Python3.7 sudo apt-get install python3.7 2.为了方便使用,建议创建软连接 首先把之前的软连接删除: sudo rm -rf

  • Ubuntu设置开机自动挂载所有格式硬盘分区

    sudo apt-get install ntfs-config ntfs-3g

  • mysql自动定时备份数据库的最佳方法(windows服务器)

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自动有备份呢? 教大家一个最简单的方法. 这个方法是用bat批处理来完成的. 假想环境:MySQL 安装位置:D:\Program Files\MySQL\MySQL Server 5.0\data 如图: 数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪个盘

  • Ubuntu16.04搭建NFS 文件共享服务器的方法

    NFS 即 网络文件系统 (Network File System),是一种 分布式 文件系统协议,该协议允许客户端主机可以像访问本地文件系统一样通过网络访问服务器端文件,即可以将远程服务器文件直接 mount ( 挂载 )到本地的文件目录结构中进行访问. 一.软件安装 服务器端需要安装 nfs-kernel-server 软件包: $ sudo apt-get update $ sudo apt-get install nfs-kernel-server 二.服务器配置 默认情况下,NFS 服

  • Ubuntu16.04 64位下VMware Tools安装配置图文教程

    本文为大家分享了VMware Tools安装配置图文教程,供大家参考,具体内容如下 因为在虚拟机下安装Ubuntu16.04 64位时无法进入全屏模式,采用另外一种方法解决了,但是还是想安装一下VMware Tools,防止以后出现相关问题,好啦,下面进入正题. 1.在虚拟机下会看到安装 VMware Tools,单击安装. 2.在虚拟机设备下出现VMware Tools这一项,点击打开,里面有一个VMwareTools-10.1.6-5214329.tar.gz 3.将这个文件复制到某个目录下

随机推荐