Apparemment, la réponse est la suivante: https://superuser.com/questions/251537/mount-specific-ntfs-directory-on-linux mais cela ne fonctionne pas comme prévu.
J'ai un système à double démarrage avec Windows 7 et Ubuntu 13.04 (mis à niveau à partir de la version 12.10) et je souhaite accéder à mes dossiers personnels Windows 7 à la fois en lecture et en écriture. J'ai suivi les instructions en fonction du lien donné et mon fichier /etc/fstab
ressemble à ceci:
/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/ /home/myuser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
Cela fonctionne presque comme prévu. Ma partition Windows est sur /media/windows/
avec des autorisations en lecture seule et mon dossier personnel Windows est dans ~/Windows
. Toutefois, ce dossier personnel est également en lecture seule.
Remarque Je configure ceci dans un environnement multisession. J'ai donc besoin que cela fonctionne pour ma session et pour les sessions d'autres utilisateurs. J'ai besoin que chaque utilisateur puisse accéder et pouvoir écrire et lire ses dossiers Windows à partir de Linux.
La question superutilisateur liée ci-dessus concerne le montage de la partition et du sous-répertoire en mode en lecture seule . Il suffit que le sous-répertoire (dossier personnel) soit en lecture-écriture.
Commencez par vérifier que votre système peut monter ntfs partition en mode lecture-écriture.
mount -t ntfs-3g -o rw /dev/sda1 /media/windows
Maintenant, testez si le fs monté est accessible en écriture. Sinon, arrêtez-vous ici et posez une autre question sur ce site.
Le problème est que le sous-répertoire d'une partition montée RO ne peut pas être en RW. La solution est donc de monter la partition Windows en RW dans un endroit caché et inaccessible. Montons-le donc sur /root/win inaccessible par les utilisateurs non root (sans Sudo
)
En tant que root utilisateur, procédez comme suit.
Pas
1. Monter la partition Windows en RW
mount -t ntfs-3g -o rw /dev/sda1 /root/win
2. Liez-le
mount --bind /root/win/Users/MyUser/ /home/myuser/Windows
3. Lier une instance en lecture seule de la partition Windows
mount --bind /root/win /media/windows
mount -o remount,ro /media/windows
Maintenant tout devrait bien se passer. De plus, vous pouvez démonter la partition Windows mais je vous préviens que dans certains systèmes, la partition liée (@home) sera inaccessible. Le code est umount /root/win
Sinon, vous pouvez monter la partition Windows en RW à l’adresse /media/windows (au lieu de/root/win) et la lier immédiatement au même point de montage. (/ media/windows) afin que personne (même racine) ne puisse écrire sur la partition (mais sur le dossier de l'utilisateur).
Je doute que la réponse liée au super-utilisateur soit fonctionnelle. (Bien que je ne puisse pas l'essayer.) De man mount
:
Notez que les options de montage du système de fichiers resteront les mêmes que celles du point de montage d'origine et ne peuvent pas être modifiées en passant l'option -o avec --bind/- rbind. Les options de montage peuvent être modifiées par une commande séparée de remontage, par exemple:
mount --bind olddir newdir
mount -o remount,ro newdir
Je doute également qu'il soit possible de --rbind
une partie d'un système de fichiers avec un pilote de système de fichiers différent (ntfs vs ntfs-3g).
Lorsque vous rbind
, la commande mount ignore toutes les options, ainsi rien ne deviendra en lecture-écriture. Et comme le pilote ntfs du noyau ne prend pas en charge les écritures, l’option rw
ne l’aidera pas non plus. Utilisez le pilote ntfs-3g.
En gros, voici ce que vous devriez faire (dans un terminal):
mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/ /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows
(Je pense que --rbind
est également inutile, --bind
devrait suffire.)
Et en ce qui concerne le commentaire sous la question: Bien sûr, vous n'avez pas besoin de redémarrer le système pour effectuer des tests, utilisez simplement la commande mount
comme je l'ai fait ci-dessus. (Et démontez-le avec la commande umount
.)
Après avoir confirmé que cela fonctionne comme prévu, il vous suffit de modifier le montage et d'ajouter les options souhaitées: uid, gid, umask, etc.
Voyez si cela aide ...
Si sda1
est déjà monté sur /media/windows
, vous pouvez le démonter avec:
Sudo umount /media/windows
Créez ensuite le répertoire windows
in /media/
:
Sudo mkdir /media/windows
Editez le /etc/fstab
comme ci-dessous:
/dev/sda1 /media/windows ntfs-3g rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0
/media/windows/Users/MyUser/ /home/myuser/Windows ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0
(Note: changer uid et gid valeurs comme pour l'utilisateur. Pour obtenir l'ID utilisateur et le gid d'un utilisateur, vous pouvez utiliser la commande id -u username
et id -g username
respectivement.
Maintenant, vous pouvez les monter avec la commande:
Sudo mount -a
Maintenant, allez dans les répertoires reliés et voyez si vous pouvez éditer le fichier. Et vous devriez avoir fini.
Faites tous vos tests avant d’éditer votre fichier de configuration fstab.
Eh bien, vous savez probablement que le système de fichiers ntfs est automatiquement monté en lecture seule si filessystem est signalé comme étant sale. Ce que vous devez faire d’abord avant d’essayer une des réponses est de monter le disque dans Windows et d’exécuter chkdsk avant de tenter de le remonter.
De plus, si le montage dans rw échoue toujours, vous devriez essayer de monter avec différentes options de type de montage telles que Sudo mount -t ntfs
ou Sudo mount -t ntfs-3g
ne fois que fs est monté dans rw, vous pouvez effectuer les opérations suivantes:
mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/
mount -o remount,ro /home/SHAREDDIRECTORY/
ou
Sudo gksu nautilus
ou Sudo gksu dolphin
pour ouvrir un explorateur avec des droits su
Pourquoi ne pas essayer de le monter avec les attributs read et write: rw
?
/ dev/sda1/media/windows ntfs rw, umask = 0222, par défaut 0 0
Je ne suis pas tout à fait sûr cependant, pouvez-vous essayer ceci s'il vous plaît. Une fois le lecteur monté, exécutez la commande suivante sur le terminal.
Sudo gksu nautilus
entrez votre mot de passe administratif et dans la fenêtre graphique qui s’ouvre, vous devriez pouvoir cliquer sur le lecteur et modifier les autorisations de lecture/écriture.
Laissez-moi savoir si cela fonctionne. Une aide est disponible pour l’utilisation de Nautilus avec une interface graphique avec les privilèges root.
Je recommanderais d'utiliser Sudo chmod.666 ~/Windows
Le moyen le plus simple de monter Windows en lecture-écriture consiste simplement à le redémarrer ou à le fermer complètement. La partition NTFS est en veille prolongée lorsque "fermeture rapide" est utilisé. Ce principe est couvert plus en détail à ce lien.