如何解决Ubuntu 12.04(64位)系统在virtualbox环境下无法开机自动挂载共享目录的问题
玩虚拟机玩了好几年了,主机装windows,然后安装virtualbox,在它里面再安装linux的系统。之前一直都是用的Ubuntu 11.04(32位)的系统,这次应项目要求,换成了ubuntu 12.04(64位)的系统。换完之后,其他的都OK,但是出现了一个问题,就是主机的共享目录,在虚拟机中无法自动挂载了。具体来说就是,在virtualbox中设置好了共享目录,在ubuntu中安装了增强
玩虚拟机玩了好几年了,主机装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
至此,成功解决该问题!
搞定!收工!
更多推荐
所有评论(0)