我在使用 VirtualBox 的虚拟机上使用 Ubuntu 14.04。由于我经常需要在 Windows 和 Linux 上进行开发工作,所以我有一个共享的开发目录。问题是,即使在 VirtualBox 管理器中为虚拟机选择了自动挂载,它也不会在启动时自动挂载。
一旦我使用以下命令登录,我就可以完美地安装它:
sudo mount -t vboxsf src /home/patrick/src
这很简单,但对我来说似乎毫无意义。关于如何在启动/登录时自动安装它,有什么想法吗?
答案1
我刚刚在 KVM 中遇到了类似的事情,其中共享文件夹作为 9p 文件系统。
如果你不能使用/etc/fstab
条目,解决方案是编辑客户操作系统/etc/rc.local
并插入您的个人挂载命令(不带sudo
!)在该exit 0
行之前。
该文件通常如下所示:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
mount -t vboxsf src /home/patrick/src
exit 0
确保您以 root 身份编辑该文件(例如使用sudo nano
或gksudo gedit
)。
答案2
@ByteCommander +1 是一个非常干净的解决方案,但当用户想要在启动客户系统时挂载共享文件夹时网络不可用,因此在挂载命令之前添加 sleep 10。“NodeJs”是我的主机共享文件夹,“/var/www/html”是挂载点。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 20
mount -t vboxsf NodeJs /var/www/html
exit 0