I've got Ubuntu 13.10 installed in Virtualbox 4.3. The host machine is Windows.
I have a couple of Virtualbox shared folders being mounted by /etc/fstab. Until recently this setup worked just fine, but after upgrading from Ubuntu 13.04 and Virtualbox 4.2 (at essentially the same time) the fstab mounting stopped working. I get the following error during boot:
An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery
Pressing M for manual recovery and then trying to mount manually also fails:
root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device
But if I instead skip mounting during boot, wait for Unity to start and then mount manually in a shell, everything works fine:
benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme:
benme-vb ~ % ls Documents
# actual file list omitted
Note that when I mount manually I'm letting mount take all the options from /etc/fstab, and it works. This suggests to me that it's some sort of timing issue, where Virtualbox isn't "ready" to provide the shared file mounts at the point /etc/fstab mounts are run during bootup.
Here's the fstab line, just for completeness:
Documents /home/benme/Documents vboxsf uid=benme,gid=benme,dmode=774,fmode=664 0 0
Is there something I can do about this from the Ubuntu side? Or does anyone happen to know more about this from the Virtualbox angle?
I've found an old report on the Virtualbox bug-tracker with identical symptoms, but in that case the user had updated Virtualbox without updating their guest additions and resolving that fixed the problem; this isn't happening here, I've definitely got the 4.3 guest additions installed.
Best Answer
I ran afoul of this problem too. I mount
/var/www
using VBox shared folders functionality, so this was quite annoying.The solution I found was to force the
vboxsf
module to be loaded early, before the mounting of file systems. Just addvboxsf
on a line of its own in/etc/modules
.Another solution is to set noauto in
/etc/fstab
and manually mount drives in/etc/rc.local
, but this wasn't such a good solution for me because by that time Apache has already started and been unable to find anything in/var/www
.