我在 VBox(Win 10 作为主机)上有一个装有 Ubuntu Server 17.04(Guest)的虚拟机。我已设置共享文件夹并尝试自动挂载它。现在,当我手动运行命令时:
sudo mount -t vboxsf src /media/src
一切正常,我已安装文件夹,所有文件都可见/可编辑。所以我输入了此命令/etc/rc.local
并重新启动了机器。但文件夹没有显示...我已根据以下设置了服务这些指令仍然没有任何反应。我检查了服务状态systemctl status rc-local.service
并得到以下结果:
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sun 2017-09-10 18:45:10 CEST; 14min ago
Process: 1185 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
Memory: 0B
CPU: 0
CGroup: /system.slice/rc-local.service
Sep 10 18:45:08 ubuntu systemd[1]: Starting /etc/rc.local Compatibility...
Sep 10 18:45:10 ubuntu sudo[1192]: root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/mount -t vboxsf src /media/src
Sep 10 18:45:10 ubuntu sudo[1192]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 10 18:45:10 ubuntu systemd[1]: Started /etc/rc.local Compatibility.
看起来一切都很好。更有趣的是,我添加了简单的touch
指令来测试 rc/local 是否真正运行,因此现在文件如下:
#!/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.
touch /home/moby/dupa.zbita.kurwa.jego.mac
sudo mount -t vboxsf src /media/src
exit 0
现在,文件正在创建,因此文件可以运行,但文件夹却没有像我预期的那样挂载。我以为我在 mount 命令中输入了错误,但当我手动运行它时/etc/rc.local
(显然它是可执行的),文件夹显示正常。
我该怎么做才能让它工作?当然,我可以启用 mount 命令,使其无需我的用户密码即可运行,并将该命令添加到 ¬/.bashrc 文件中以使其现在工作(或者只是手动运行 mount),但我想知道出了什么问题以及如何修复它...
[编辑] 在评论中询问:
答案1
使用 Virtualbox 的好处之一是能够添加guest-additions
到主机,从而实现主机和客户操作系统之间的无缝交互。
要进行此项设置,请使用官方 repo 通过 Virtualbox 安装的命令行添加客户机添加项,或者如果使用.deb
文件进行安装,则从 oracle 站点添加。
现在要设置文件夹共享,我们需要:
添加前面提到的客人添加项
从以下位置添加所需的文件夹:
选择选项:
Auto-Mount
和Make -Permanent
在客户 Ubuntu 操作系统中将您的用户添加到组
vboxsf
:sudo usermod -aG vboxsf $USER
重新启动 Ubuntu,以便新添加的组被接受
sf_********
请注意,惯例是用“sf_”命名文件夹,因此请在文件夹中查找名为的文件/media
。例如:/media/sf_vbox_share
您不需要手动挂载该共享文件夹,这就是它的Virtualbox Guest Additions
用途。