Le montage du dossier partagé Virtualbox à partir de fstab échoue; fonctionne une fois le démarrage terminé

38

J'ai Ubuntu 13.10 installé dans Virtualbox 4.3. La machine hôte est Windows.

J'ai deux dossiers partagés Virtualbox montés par / etc / fstab. Jusqu'à récemment, cette configuration fonctionnait très bien, mais après la mise à niveau depuis Ubuntu 13.04 et Virtualbox 4.2 (essentiellement au même moment), le montage de fstab a cessé de fonctionner. Je reçois l'erreur suivante au démarrage:

An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery

Si vous appuyez sur M pour une récupération manuelle, puis tentez de monter manuellement, cela échoue également:

[email protected]:~# cd /home/benme
[email protected]:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device

Mais si, au lieu de cela, je ne sais pas comment s’installer au démarrage, attendez que Unity démarre, puis montez manuellement dans un shell, tout fonctionne correctement:

benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme: 
benme-vb ~ % ls Documents
    # actual file list omitted

Notez que lorsque je monte manuellement, je laisse monter toutes les options de / etc / fstab, et ça marche. Cela me suggère qu'il s'agit d'une sorte de problème de synchronisation, où Virtualbox n'est pas "prêt" à fournir les montages de fichiers partagés au moment où les montages / etc / fstab sont exécutés au démarrage.

Voici la ligne fstab, juste pour être complet:

Documents       /home/benme/Documents   vboxsf  uid=benme,gid=benme,dmode=774,fmode=664     0   0

Y a-t-il quelque chose que je peux faire à ce propos du côté d'Ubuntu? Ou est-ce que quelqu'un en sait plus à ce sujet sous l'angle de Virtualbox?

J'ai trouvé un ancien rapport sur le traqueur de bogues de Virtualbox avec des symptômes identiques, mais dans ce cas, l'utilisateur avait mis à jour Virtualbox sans mettre à jour les ajouts de ses invités et résolu le problème; Cela ne se produit pas ici, j'ai définitivement les 4.3 ajouts d'invités installés.

    
posée Ben 25.10.2013 - 02:07
la source

8 réponses

45

J'ai également rencontré ce problème. J'ai monté /var/www en utilisant la fonctionnalité de dossiers partagés VBox, donc c'était assez ennuyeux.

La solution que j'ai trouvée consistait à forcer le chargement du module vboxsf avant le montage des systèmes de fichiers. Ajoutez simplement vboxsf sur une ligne propre dans /etc/modules .

Une autre solution consiste à définir noauto dans /etc/fstab et à monter manuellement les lecteurs dans /etc/rc.local , mais ce n’était pas une si bonne solution car Apache avait déjà démarré et était incapable de trouver quelque chose dans /var/www .

    
réponse donnée Richard Turner 25.10.2013 - 18:04
la source
19

En plus de la suggestion de Richard Turner d'ajouter vboxsf sur une ligne propre à /etc/modules , je suggère d'ajouter l'option _netdev mount à /etc/fstab . J'ai testé sur Ubuntu 12.04 LTS et cela semble ajouter juste le bon délai pour que le montage réussisse.

Mon /etc/fstab entry:

dev /media/dev vboxsf defaults,_netdev 0 0

    
réponse donnée deoren 19.10.2014 - 23:38
la source
5
Le correctif de Richard a cessé de fonctionner pour moi après la dernière mise à jour (VirtualBox 4.3.18, Ubuntu 14.04). Heureusement, j'ai pu résoudre ce problème en chargeant vboxsf correctement avec le noyau:

# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u

La première commande ajoute un paramètre pour charger le module dans le noyau et le second met à jour le système de fichiers init. Après un redémarrage, j'ai pu utiliser mes montages fstab à nouveau:)

Avertissement: le processus de démarrage peut s’arrêter si un dossier partagé ne peut pas être monté. Alors testez votre configuration avant d'ajouter le module à initramfs. Si votre système se bloque malgré tout, vous pouvez démarrer en mode de récupération pour résoudre le problème.

    
réponse donnée Torben 20.10.2014 - 23:03
la source
4

Je voulais juste dire que forcer le chargement du module vboxsf au début m'a aidé (comme dans la réponse de Richard Turner), mais la ligne fstab ne fonctionnait toujours pas pour moi.

J'ai fini par placer la commande mount (qui fonctionnait) dans /etc/rc.local . Un peu un hack mais ça a fonctionné.

    
réponse donnée ezuk 19.05.2014 - 17:44
la source
4

Avec le dossier partagé répertorié dans fstab, je constate que le démarrage s’arrêtera lorsqu’il essaiera de le monter avec VirtualBox 5 et Ubuntu 14.04. La solution semble être de retarder le montage jusqu'à ce que le service GuestAddition soit disponible (la solution /etc/modules de Richard Turner ne me semblait pas suffisante).

Pour ce faire, vérifiez que vous avez noauto comme options pour le dossier partagé dans /etc/fstab . Par exemple pour un dossier partagé appelé vmshare :

vmshare    /home/user/share    vboxsf    defaults,noauto    0    0

Ajoutez ensuite une ligne à /etc/rc.local pour monter le partage après le démarrage:

mount vmshare
    
réponse donnée Kevin Sadler 01.10.2015 - 12:52
la source
2

J'ai eu le même problème et je travaillais sur les solutions suggérées, mais sans succès. La solution de Torben a gelé la botte, alors elle a dû la défaire. Alors j'ai pensé que je devrais dépanner /etc/fstab en utilisant sudo mount -a . La syntaxe de mon entrée semblait parfaite, mais elle a toujours échoué. J'ai également pu monter manuellement le système de fichiers en utilisant la commande mount dans la fenêtre du terminal.

J'ai trouvé que j'avais des espaces entre les deux premiers paramètres (périphérique et point de montage). Je les ai remplacés par un onglet et ça marche. Vraiment? !!!!

    
réponse donnée svenyonson 03.02.2015 - 01:02
la source
2

Il semblerait que vboxsf ne dispose pas de l’alias fs-vboxsf (qui est chargé automatiquement par les modules du noyau lors du premier montage de ce type de système de fichiers). Ajouter un alias dans /etc/modprobe.d : p>

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf
    
réponse donnée hyperair 17.01.2017 - 09:25
la source
1

Je crois que j'ai trouvé la bonne façon de traiter cela dans Wiki Arch . Utilisez l'option comment=systemd.automount .

L'option ci-dessus va dans le fichier /etc/fstab avec les autres options. Par exemple:

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0
    
réponse donnée ultracrepidarian 17.11.2014 - 23:21
la source

Lire d'autres questions sur les étiquettes