玩虚拟机玩了好几年了,主机装windows,然后安装virtualbox,在它里面再安装linux的系统。之前一直都是用的Ubuntu 11.04(32位)的系统,这次应项目要求,换成了ubuntu 12.04(64位)的系统。换完之后,其他的都OK,但是出现了一个问题,就是主机的共享目录,在虚拟机中无法自动挂载了。

具体来说就是,在virtualbox中设置好了共享目录,在ubuntu中安装了增强功能,同时按照之前网上通用的做法,在/etc/fstab文件中增加如下代码:

share_esd /mnt/share/dir_esd vboxsf rw,auto 0 0
share_tmp /mnt/share/dir_tmp vboxsf rw,auto 0 0

便算是完成了所有准备工作。此时,按理说,ubuntu系统自动启动之后,便应该要能够自动挂载好上述2个目录了。之前使用了这么多年的ubuntu 11.04的系统,都是这么设置的,从来没出过问题。

可是,奇怪的事情发生了。重启之后,ubuntu系统是顺利启动了,并未报出目录异常的错误。但是,共享目录偏偏却没能挂载成功!

而奇怪的是,这个时候,如果手动去输入挂载的命令,这2个目录却都能够挂载成功。这就表示目录和命令都是没问题的,应该是开机自动挂载的过程出现了问题。

经过反复的分析,终于找到了答案。因为ubuntu 12.04的系统,在系统启动顺序上发生了一些调整。系统调用fstab文件的时候,virtualbox的共享目录的模块还没有加载,所以fstab文件中的加载命令就会失败

对此,最终的解决方案如下:

在文件 /etc/rc.local 中(用root用户)追加如下命令:

sudo vi /etc/rc.local
mount -t vboxsf share_esd /mnt/share/dir_esd
mount -t vboxsf share_tmp /mnt/share/dir_tmp

至此,成功解决该问题!

搞定!收工!

Logo

更多推荐