通过 rc.local 映射 Ubuntu 服务器客户机上的共享文件夹

通过 rc.local 映射 Ubuntu 服务器客户机上的共享文件夹

我在 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),但我想知道出了什么问题以及如何修复它...

[编辑] 屏幕 [2]在评论中询问:

答案1

使用 Virtualbox 的好处之一是能够添加guest-additions到主机,从而实现主机和客户操作系统之间的无缝交互。

要进行此项设置,请使用官方 repo 通过 Virtualbox 安装的命令行添加客户机添加项,或者如果使用.deb文件进行安装,则从 oracle 站点添加。

现在要设置文件夹共享,我们需要:

  1. 添加前面提到的客人添加项

  2. 从以下位置添加所需的文件夹:

    • 相关客户操作系统的 VirtualBox 设置菜单,或

      在此处输入图片描述

    • 从菜单devices从启动VM

      在此处输入图片描述

      在此处输入图片描述

  3. 选择选项:

    • Auto-MountMake -Permanent
  4. 在客户 Ubuntu 操作系统中将您的用户添加到组vboxsf

    sudo usermod -aG vboxsf $USER
    
  5. 重新启动 Ubuntu,以便新添加的组被接受

  6. sf_********请注意,惯例是用“sf_”命名文件夹,因此请在文件夹中查找名为的文件/media。例如:/media/sf_vbox_share

您不需要手动挂载该共享文件夹,这就是它的Virtualbox Guest Additions用途。

相关内容