44 votes

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

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

J'ai quelques dossiers partagés de 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 (pratiquement en même temps), le montage de fstab a cessé de fonctionner. J'obtiens l'erreur suivante lors du démarrage :

Une erreur s'est produite lors du montage de /home/benme/Documents.
clés : Appuyez sur S pour sauter le montage ou sur M pour une récupération manuelle

En appuyant sur M pour une récupération manuelle puis en essayant de monter manuellement échoue également :

root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: le montage a échoué avec l'erreur : Aucun périphérique de ce type

Mais si je saute le montage lors du démarrage, attends que Unity démarre, puis monte manuellement dans un terminal, tout fonctionne bien :

benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] mot de passe pour benme : 
benme-vb ~ % ls Documents
    # liste de fichiers réels omise

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

Voici la ligne de fstab, juste pour compléter :

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

Y a-t-il quelque chose que je puisse faire à ce sujet du côté Ubuntu ? Ou est-ce que quelqu'un saurait en dire plus à ce sujet du côté Virtualbox ?

J'ai trouvé un ancien rapport sur le bugtracker de Virtualbox avec des symptômes identiques, mais dans ce cas, l'utilisateur avait mis à jour Virtualbox sans mettre à jour ses additions invitées et en résolvant cela, le problème était résolu ; ce n'est pas le cas ici, j'ai définitivement les additions invitées 4.3 installées.

49voto

inglesp Points 1206

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

La solution que j'ai trouvée était de forcer le chargement du module vboxsf tôt, avant le montage des systèmes de fichiers. Il suffit d'ajouter vboxsf sur sa propre ligne dans /etc/modules.

Une autre solution consiste à définir noauto dans /etc/fstab et à monter les lecteurs manuellement dans /etc/rc.local, mais ce n'était pas une bonne solution pour moi car à ce moment-là, Apache avait déjà démarré et n'avait rien trouvé dans /var/www.

23voto

deoren Points 343

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

Mon entrée /etc/fstab:

dev /media/dev vboxsf defaults,_netdev 0 0

5voto

David Points 1

La correction 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 le réparer en chargeant vboxsf directement 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 la seconde met à jour le système de fichiers init. Après un redémarrage, j'ai pu utiliser à nouveau mes montages fstab :)

Attention : Le processus de démarrage risque de se bloquer si un dossier partagé ne peut pas être monté. Testez donc votre configuration avant d'ajouter le module à initramfs. Si votre système se bloque quand même, vous pouvez démarrer en mode de récupération pour résoudre le problème.

4voto

manyjays Points 1

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

Ce que j'ai fini par faire, c'est mettre la commande de montage (qui a fonctionné) dans /etc/rc.local. Un peu de bricolage mais ça a marché.

4voto

Martin Poirier Points 1

Avec le dossier partagé répertorié dans fstab, je trouve que le démarrage se bloquera lorsqu'il essaiera de le monter en utilisant 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 semblait pas suffisante pour moi).

Pour ce faire, assurez-vous d'avoir 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

Ensuite, ajoutez une ligne à /etc/rc.local pour monter le partage après le démarrage :

mount vmshare

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X