我正在尝试将不在用户文件夹中的操作系统文件夹(Windows 8)自动挂载到 boot2docker 的初始化脚本中,但遇到了上述错误。
当我手动运行它时,安装工作正常:
sudo mount -t vboxsf mydirectory /mapped/mydirectory
但是当重新启动 boot2docker 时它会忘记,所以我尝试将其自动挂载到操作系统中已创建的文件夹中。
按照说明,我尝试通过脚本中的上述命令自动安装它,
/var/lib/boot2docker/bootlocal.sh
其执行情况如 boot2docker 启动脚本所示:
-------------- ran /var/lib/boot2docker/bootlocal.sh
Finished boot2docker init script.
在日志中
/var/log/bootlocal.log
我看到以下错误:
mount.vboxsf: mounting failed with the error: No such file or directory
根据我使用的文档的建议:
我曾尝试添加
sudo modprobe vboxsf
按照建议https://forums.virtualbox.org/viewtopic.php?t=5851 但无济于事-出现相同的错误。
更新: 我找到了问题所在。尽管这些文件夹存在于文件系统中,但出于某种原因,它们在登录后才可访问,因此在
/var/lib/boot2docker/bootlocal.sh
喜欢
echo "starting mounting"
sudo modprobe vboxsf
sudo mkdir /mapped
sudo mkdir /mapped/AAA
sudo mkdir /mapped/BBB
sudo mkdir /mapped/CCC
sudo mount -t vboxsf AAA /mapped/AAA
sudo mount -t vboxsf BBB /mapped/BBB
sudo mount -t vboxsf CCC /mapped/CCC
echo " done mounting"
成功了,而且重启后依然有效。太棒了!