最近在 Windows 下的 VirtualBox 中安装了64位的 Debian-8.4.0。为了更方便地与物理机“互通有无”,当然要安装增强功能并设置共享文件夹。
在虚拟机窗口的菜单中选择“设备 – 安装增强功能…”之后,打开文件管理器,在左侧可以看到 VBOXADDITIONS_5.0.18_106667,点击它,就能显示出增强功能的安装文件。这些文件的路径其实为 /media/cdrom0。打开终端,cd /media/cdrom0,运行 sh VBoxLinuxAdditions.run,可是安装失败。后来才知道 Ubuntu 和 CentOS 中可以直接这样安装,可是在 Debian 中,需要先安装一些组件,于是:
apt-get update
apt-get install build-essential linux-headers-$(uname -r)
cd /media/cdrom0
sh VBoxLinuxAdditions.run
一会儿之后,就安装成功了。接下来,设置共享文件夹。在虚拟机的“设置”中,设置共享文件夹,如下图:
然后参考这里,尝试通过以下两条命令来挂载到指定目录(/mnt/shared),毕竟以前在 Ubuntu 就是这样挂载的,可是不成功。
sudo mkdir /mnt/shared
sudo mount -t vboxsf share /mnt/shared
既然上面选择的“自动挂载”。那么,挂载到哪儿去了呢?注意到,在文件管理器左侧窗口多了一个 sf_share。没错,它就是挂载的共享目录(“sf_”+共享目录的名称),其实际路径为 /media/sf_share(可以通过命令 mount | grep vbox 查看,参考这里)。可是尝试进入该目录的时候,总是提示“无法显示文件夹内容,您没有查看“sf_share”的内容所需的权限。”
后来,看到了这篇文章(另见这里),作者参考的是国外某论坛的一篇帖子。虽然此文是在 Ubuntu 操作的,但是经本人验证,对于 Debian Jessie 同样适用。
解决方法:将当前用户(假设为 newuser)添加到 vboxsf 用户组就是了,即
sudo gpasswd -a newuser vboxsf
或者 sudo adduser newuser vboxsf
注销当前用户或重启系统方可生效。
上面两条命令在 Debian 中都有效,但是后来发现,在 CentOS 中,只能用上面那条,而下面那条(在 CentOS 中应为 useradd -G vboxsf newuser )会提示用户已存在。
欢迎分享或转载,转载请注明出处。
本文固定链接:https://www.oixxu.com/virtualbox-debian-windows-host-share-folder