Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/04/2006, à 18:19

cep

Écriture sur Ntfs avec Fuse

Écriture sur une partition NTFS en utilisant le driver Fuse. Potentiellement Dangereux sur une partition sensible

ÉDIT 03/03/07 : Ce tuto est périmé. Maintenant il est préférable d'utiliser ntfs-3g.
Faire une recherche sur le wiki pour la procédure à suivre.
cep

Ce topo concerne Dapper 2.6.15-21 à jour.

L'écriture sur partitions NTFS doit être faite en toute connaissance de cause, car elle peut aboutir à la perte de données. Il est conseillé d'utiliser une partition autre que la partition système ou une partition ayant des données importantes.
- - - - - - - - - - - - - - - -

Si la partition sur la quelle vont porter les changements est montée, on la démonte et si elle possède une ligne de configuration dans fstab, on la commente ou on la supprime.

On vérifie que la dernière version des ntfsprogs est installée, ce qui devrait être le cas (main Packages) de même que libfuse2 et libntfs8 :

:~$ sudo apt-get update
:~$ apt-cache policy libfuse2 ntfsprogs libntfs8

On installe fuse-utils :

:~$ sudo apt-get install fuse-utils

On ajoute le module fuse dans /etc/modules:

:~$  sudo sh -c "echo fuse >> /etc/modules"

Pour ne pas avoir à rebooter, on fait prendre en charge le module :

:~$ sudo modprobe fuse

Maintenant on peut monter cette partition (hda3 en ce qui me concerne) :

:~$ sudo ntfsmount /dev/hda3 /mnt/ntfs -o umask=0000

Il faut bien sûr que le point de montage existe.

Pour démonter :

:~$ sudo fusermount -u /mnt/ntfs

Le classique umount /dev/hda3 devrait marcher aussi.

Pour configurer /etc/fstab il devrait y avoir une ligne dans le genre de :

/dev/hd?? /media/point_montage  ntfs-fuse fmask=0111,dmask=0,succeed_chmod,locale=fr_FR.UTF-8  0  0

Il faut adapter locale=xxx à vos locales. Pour cela les vérifier en passant la commande locale dans un terminal.

Pour configurer fstab vous pouvez aussi utiliser le script présenté ici :
http://forum.ubuntu-fr.org/viewtopic.php?id=34630 

Si la partition ne se monte pas en passant la commande sudo mount -a il faudra faire un peu de ménage dans les liens :

sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse

puis sudo mount -a
Voir les explications sur :  https://launchpad.net/distros/ubuntu/+source/linux-ntfs/+bug/29865

Voir pour les options supplémentaires.
man fusermount
less /usr/share/doc/fuse-utils/Filesystems.gz
less /usr/share/doc/fuse-utils/README.gz

Dernière modification par cep (Le 03/03/2007, à 18:15)

Hors ligne

#2 Le 01/05/2006, à 18:51

cep

Re : Écriture sur Ntfs avec Fuse

Alors, quelques remarques après divers petits essais :

- aucun problème pour monter la partition en ligne de commande :

sudo ntfsmount /dev/hda3 /mnt/ntfs -o umask=0000

- pas de problèmes rencontrés sur une utilisation classique de création de fichiers et suppression.

Par contre quelques problèmes rencontrés avec l'utilisation dans /etc/fstab :
- après modification de fstab, quelle que soit la modification, impossible de remonter la partition par un :
sudo mount -a -o remount
Je suis obligé de rebooter la machine systématiquement. Une autre commande ?

Avec cette ligne de configuration dans fstab :

/dev/hda3 /mnt/ntfs  ntfs-fuse fmask=0111,dmask=0,succeed_chmod 0 0

impossible de créer un fichier avec accent ou cédille. C'était juste pour test.

Pour cela, la bonne ligne semble être :

/dev/hda3 /mnt/ntfs  ntfs-fuse fmask=0111,dmask=0,succeed_chmod,locale=fr_FR.UTF-8  0  0

À explorer d'avantage, mais à priori pas de problème rencontré.

Il faut préciser tout de même que je n'ai pas de dual boot avec Mswindows et que cette partition a été créée pour la circonstance. Mais les fichiers circulent sans problème avec un poste sous MsWindows par le réseau.

Détails du mount :

/dev/hda3 /mnt/ntfs fuse rw,nosuid,nodev,user_id=0,group_id=0,default_permissions,allow_other 0 0

:~$ ls -al /mnt/ntfs
...
-rw-rw-rw- 1 root root

D'autres configurations sont permises bien sûr.

Hors ligne

#3 Le 01/05/2006, à 18:56

SaLiGoT

Re : Écriture sur Ntfs avec Fuse

as-tu testé la copie/supression/deplacement avec de gros fichiers tel les videos ou des .iso?

Hors ligne

#4 Le 01/05/2006, à 19:46

cep

Re : Écriture sur Ntfs avec Fuse

Grosse non, vu la taille de la partition smile
J'essayerai 500 Mo demain.

---
Cette ligne pour le ls et non celle mise par erreur plus haut roll
:~$ ls -al /mnt
...
drwxrwxrwx  1 root root 4096 2006-04-28 20:06 ntfs

Hors ligne

#5 Le 02/05/2006, à 09:42

cep

Re : Écriture sur Ntfs avec Fuse

Pour répondre à la demande de SaLiGoT j'ai enregistré une iso de 520 Mo sur la partition (copie avec dd depuis un cdrom), j'ai monté l'iso en loop pour la vérifier puis je l'ai supprimée.
Observations : La création et la consultation du fichier se fait sans problème. Par contre, à la suppression, le fichier n'est plus visible, mais l'espace est toujours marqué comme occupé.
Il faut démonter puis remonter la partition pour que l'espace soit affiché libre.
Il aurait peut-être fallu utiliser ntfsrm ? voir plus bas la liste des utilitaires installés en standard.

Détail des commandes après le dd :

:~$ df -h /dev/hda3
Sys. de fich.            Tail. Occ. Disp. %Occ. Monté sur
/dev/hda3             863M  520M  343M  60% /mnt/ntfs
:~$ ls -lh /mnt/ntfs/test.iso
-rw-rw-rw- 1 root root 520M 2006-05-02 09:18 /mnt/ntfs/test.iso
:~$ rm -v /mnt/ntfs/test.iso
détruit `/mnt/ntfs/test.iso'
:~$ df -h /dev/hda3
Sys. de fich.            Tail. Occ. Disp. %Occ. Monté sur
/dev/hda3             863M  520M  343M  60% /mnt/ntfs
:~$ ls -l /mnt/ntfs/test.iso
ls: /mnt/ntfs/test.iso: Aucun fichier ou répertoire de ce type
:~$ find /mnt/ntfs -name test.iso
:~$ sudo fusermount -u /mnt/ntfs
Password:
:~$ sudo ntfsmount /dev/hda3 /mnt/ntfs -o umask=0000,locale=fr_FR.UTF-8
:~$ df -hT /dev/hda3
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/hda3     fuse    863M  4,5M  859M   1% /mnt/ntfs

Par curiosité, j'ai fait :
:~$ sudo fusermount -u /mnt/ntfs
:~$ sudo ntfsundelete /dev/hda3
Inode    Flags  %age  Date           Size  Filename
---------------------------------------------------------------
16       F..!     0%  1970-01-01         0  <none>
17       F..!     0%  1970-01-01         0  <none>
18       F..!     0%  1970-01-01         0  <none>
19       F..!     0%  1970-01-01         0  <none>
20       F..!     0%  1970-01-01         0  <none>
21       F..!     0%  1970-01-01         0  <none>
22       F..!     0%  1970-01-01         0  <none>
23       F..!     0%  1970-01-01         0  <none>
30       FN..    99%  2006-05-02 519984128  <none>

Files with potentially recoverable content: 1

On voit donc le fichier comme potentiellement récupérable. J'essayerai éventuellement un jour de récuperer un fichier plus petit.
Il faudrait aussi essayer les :
ntfscp: the ‘cp’ (copy) command.
ntfsrm: the ‘rm’ (remove) command.
ntfscat: the ‘cat’ (show contents of file) command.
ntfslabel: rename the volume label.
ntfsls: the ‘ls’ (list directory contents) command.
ntfstruncate: truncate files to a given size.
ntfsmove: the ‘mv’ (move) command.

Utilitaires installés en standard :
/usr/bin/ntfscluster
/usr/bin/ntfscat
/usr/bin/ntfsinfo
/usr/bin/ntfsfix
/usr/bin/ntfsls
/usr/bin/ntfsmount
/usr/sbin/ntfscp
/usr/sbin/mkntfs
/usr/sbin/ntfsclone
/usr/sbin/ntfslabel
/usr/sbin/ntfsresize
/usr/sbin/ntfsundelete
/sbin/mount.ntfs-fuse
/sbin/mkfs.ntfs

Dernière modification par cep (Le 02/05/2006, à 09:43)

Hors ligne

#6 Le 02/05/2006, à 19:03

SaLiGoT

Re : Écriture sur Ntfs avec Fuse

merci ca m'a l'air d'etre plutot stable, à voir avec une utilisation intensive...

Hors ligne

#7 Le 02/05/2006, à 19:09

cep_

Re : Écriture sur Ntfs avec Fuse

Oui.

À priori il ne devrait raisonnablemant pas y avoir plus de risques que d'utiliser des drivers pour écrire sur des partitions linux depuis MsWindows wink

J'ai fait ces tests car j'avais dans mon entourage quelqu'un qui avait besoin de cela. Et je l'ai mis en pratique sur son poste maintenant. Usage essentiellement bureautique.

Cordialement.
cep

#8 Le 12/05/2006, à 21:26

Damz

Re : Écriture sur Ntfs avec Fuse

Bonsoir et merci pour ce tres bon tuto (à quand dans la doc ?) !

Pour ceux qui ont eu l'erreur en modifiant fstab avec ntfs-fuse ("NTFS-FUSE UNKNOWN FILESYSTEM ERROR"), c'est un bug connu de dapper qui se resout de la maniere suivante :

sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse

(merci le forum anglais de Ubuntu !)

Sinon, j'ai une question, comment faire pour que les partitions de type ntfs-fuse s'affiche sur le bureau ? (ça marche pas non plus avec ntfsmount)

edit : je sais comment creer un raccourci, ce que je voulais dire c'est comment faire reconnaitre automatiquement les partitions pour qu elles s'affichent sur le bureau, dans raccourci et dans les differents chemins !

Dernière modification par Damz (Le 12/05/2006, à 21:39)

Hors ligne

#9 Le 13/05/2006, à 17:12

cep_

Re : Écriture sur Ntfs avec Fuse

Bonsoir Damz,

Le bug a été corrigé. Voir :

http://librarian.launchpad.net/1771959/linux-ntfs.patch

http://librarian.launchpad.net/1771959/linux-ntfs.patch

Cordialement.
cep

#10 Le 13/05/2006, à 19:02

Grand Hibou

Re : Écriture sur Ntfs avec Fuse

Je suis pas encore sous dapper (breezy là) mais j'ai testé l'écriture sur mes partitons ntfs avec le dernier knoppix live 5.0.
Sans rien avoir à monter du tout ni activer quoi que ce soit, j'ai pu écrire sur mes partitions windows en toute transparence! (juste un petit fichier texte pour tester)
j'ai cru comprendre que knoppix 5.0 utilise aussi fuse, ce serait donc les mêmes drivers et tout et tout sur knoppix et dapper drake là (si on utilise fuse donc) tongue


"Certains disent qu'en faisant marcher le cd de windows vista à l'envers on entendrait des voix vous commandant d'adorer Satan. Mais c'est rien ça. Quand vous le faites marcher à l'endroit, il vous installe windows vista!"

Hors ligne

#11 Le 14/05/2006, à 01:00

Damz

Re : Écriture sur Ntfs avec Fuse

cep_ a écrit :

Bonsoir Damz,

Le bug a été corrigé. Voir :

http://librarian.launchpad.net/1771959/linux-ntfs.patch

http://librarian.launchpad.net/1771959/linux-ntfs.patch

Cordialement.
cep

Ok tres bien mais c'est bizarre car avant-hier avec une dapper à jour j'avais encore le problème !!

Hors ligne

#12 Le 14/05/2006, à 01:12

NicoA380

Re : Écriture sur Ntfs avec Fuse

ça serait sympa d'avoir un article sur le Wiki du ntfs avec fuse, à côté des pages de FUSE, SshFs, SMB for FUSE et CurlFtpFS cool

Hors ligne

#13 Le 14/05/2006, à 11:08

cep

Re : Écriture sur Ntfs avec Fuse

Comme annoncé plus haut, je vais essayer de récupérer un fichier effacé avec rm sur un système ntfs.
Le test va porter sur le fichier fstab.txt. On vérifie qu'il existe :

:~$ ls -l /mnt/ntfs |grep fstab
-rwxrwxrwx 1 cep cep  5380 2006-05-14 11:31 fstab.txt

On efface le fichier et on vérifie :

:~$ rm /mnt/ntfs/fstab.txt
:~$ ls -l /mnt/ntfs |grep fstab

On démonte la partition et, avec la commande ntfsundelete, on liste les fichiers pouvant être récupérés :

:~$  sudo fusermount -u /mnt/ntfs
:~$ sudo ntfsundelete /dev/hda3
Inode    Flags  %age  Date           Size  Filename
---------------------------------------------------------------
16       F..!     0%  1970-01-01         0  <none>
17       F..!     0%  1970-01-01         0  <none>
18       F..!     0%  1970-01-01         0  <none>
19       F..!     0%  1970-01-01         0  <none>
20       F..!     0%  1970-01-01         0  <none>
21       F..!     0%  1970-01-01         0  <none>
22       F..!     0%  1970-01-01         0  <none>
23       F..!     0%  1970-01-01         0  <none>
27       FN..   100%  2006-05-14      5380  <none>

Files with potentially recoverable content: 1

On peut voir que l'inode 27 peut être récupérée. Je vais donc passer la commande de récupération avec les options -u -d -o  :
-u27 inode à récupérer (-u = --undelete [nums] inode )
-d/home/cep/unde comme répertoire de destination ( --destination dir )
-o fstab.txt le nom que portera le fichier récupéré ( --output file )
/dev/hda3 la partition ayant le système de fichiers ntfs

:~$ mkdir unde
:~$ sudo ntfsundelete -u27 -d/home/cep/unde -o fstab.txt /dev/hda3
Inode    Flags  %age  Date            Size  Filename
---------------------------------------------------------------
27       FN..     0%  2006-05-14      5380  <none>
Undeleted '(null)' successfully.

D'après le message, la récupération a réussi. On vérifie :

:~$ ls -l unde
total 8
-rw------- 1 root root 6144 2006-05-14 11:31 fstab.txt
:~$ sudo chown cep:cep unde/fstab.txt
:~$ ls -l unde
total 8
-rw------- 1 cep cep 6144 2006-05-14 11:31 fstab.txt
:~$ cat unde/fstab.txt

FSTAB(5)               Manuel de l’administrateur Linux               FSTAB(5)

NOM
       fstab - Informations statiques sur les systèmes de fichiers.

SYNOPSIS
       #include <fstab.h>

DESCRIPTION
       Le  fichier fstab contient des informations sur les différents systèmes
... etc. etc.

En effet, le fichier est complet. smile
Il faudrait faire ausi des tests sur des fichiers de taille plus importante, bien sûr, mais à ce niveau le test semble concluant.

Pour plus de détails : man ntfsundelete

Hors ligne

#14 Le 14/05/2006, à 11:20

DEoT

Re : Écriture sur Ntfs avec Fuse

j'ai des infos capital sur mes partoches ntfs sad
je vous laisse tester wink
Moi j'attend un peu roll


"Les jeux vidéos n'affectent pas les enfants : je veux dire si Pac-Man nous avait influencé étant enfant, nous devrions tous courrir en rond dans des pièces sombres, en gobant des pillules magiques tout en écoutant de la musique répétitive."

Hors ligne

#15 Le 19/05/2006, à 21:55

bobinoo

Re : Écriture sur Ntfs avec Fuse

Bonjour,

J'ai tout bien suivi sauf que je n'ai pas d'executable ntfsmount ni fusermount...

bastien@bastien:/etc$ sudo apt-get install fuse-utils
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
fuse-utils est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
bastien@bastien:/etc$ sudo ntfsmount
sudo: ntfsmount: command not found

J'ai pourtant bien chargé les modules, et j'ai même redémarrer mais rien n'y fait...

Une ch'tite idée ?
Merci.

Hors ligne

#16 Le 19/05/2006, à 22:13

bobinoo

Re : Écriture sur Ntfs avec Fuse

Oups, je retire ce que j'ai dit, c'était juste un petit problème de chemin...

Alors maintenant ça fonctionne quand je monte manuellement avec

sudo ntfsmount /dev/hdb4 /home/bastien/windows/ -o umask=0000

mais quand je rajoute une entrée dans le /etc/fstab, la partition ne se monte pas et je n'ai rien dans la log messages.

Ce que j'ai rajouté :

/dev/hdb4       /home/bastien/windows   ntfs-fuse fmask=0111,dmask=0,succeed_chmod,locale=fr_FR.UTF-8  0  0

Merci pour vos conseils si vous avez une idée de ce qui cloche...

Dernière modification par bobinoo (Le 19/05/2006, à 22:13)

Hors ligne

#17 Le 19/05/2006, à 22:37

cep_

Re : Écriture sur Ntfs avec Fuse

Bonsoir,

Quelques vérifications :
:~$ ls -al /sbin/mount.ntfs-fuse
-rwxr-xr-x 2 root root 26552 2005-11-14 21:01 /sbin/mount.ntfs-fuse
:~$ ls -al /usr/bin/ntfsmount
-rwxr-xr-x 2 root root 26552 2005-11-14 21:01 /usr/bin/ntfsmount
:~$ ls -al /sbin/mount.ntfs-fuse
-rwxr-xr-x 2 root root 26552 2005-11-14 21:01 /sbin/mount.ntfs-fuse

Et si ce n'est pas ok :
sudo rm /sbin/mount.ntfs-fuse && sudo ln /usr/bin/ntfsmount /sbin/mount.ntfs-fuse

Puis : sudo mount -a

Voir https://launchpad.net/distros/ubuntu/+source/linux-ntfs/+bug/29865 

Aussi, si tu n'as pas créé de groupe spécial, dans fstab tu peux aussi paramétrer :
/dev/hd?? /point_montage  ntfs-fuse gid=1000,uid=1000,fmask=0111,dmask=0,succeed_chmod,locale=fr_FR.UTF-8 0 0

Cordialement.
cep

#18 Le 20/05/2006, à 09:05

bobinoo

Re : Écriture sur Ntfs avec Fuse

J'ai supprimé toutes les instances de ntfs-fuse comme tu me l'as conseillé et ça marche maintenant smile

Merci bien.

Hors ligne

#19 Le 20/05/2006, à 09:46

FCDI

Re : Écriture sur Ntfs avec Fuse

super ca marche aussi pour moi

meric

Hors ligne

#20 Le 04/06/2006, à 00:19

wam

Re : Écriture sur Ntfs avec Fuse

Si cep_ dit qu'on peut écrire sur du ntfs, c'est que c'est vrai.

J'ai donc essayé également, et ça marche. Par contre, un truc tout bête, j'ai un

Failed to set locale to fr_FR.UTF-8.  Continue anyway

c'est quoi exactement l'intérêt de locale=fr_FR.UTF-8 ?

Dernière modification par wam (Le 04/06/2006, à 00:38)

Hors ligne

#21 Le 04/06/2006, à 00:49

Chompitiarve

Re : Écriture sur Ntfs avec Fuse

Si y a un truc que je ne voyais pas venir dans Dapper, c'était bien le support en écriture du NTFS
Je sais que je vais devoir laborier dur pour en réaliser l'usage, mais scrongneugneu, bluffé, le Chompitiarve
(Ouais, pas dur à bluffer, par ailleurs, mais là c'est quand même un morceau, ça devrait faire un scandale !)

Hors ligne

#22 Le 04/06/2006, à 06:49

cep_

Re : Écriture sur Ntfs avec Fuse

locale=fr_FR.UTF-8  est l'équivalent de nls=utf8 dans le mount classique pour l'affichage des accents et autres joyeusetés.

Il faut passer la commande locale dans un terminal pour avoir la liste des locales disponibles et adapter à sa configuration.

Je l'avais mis pour tests.

Extrait de man ntfsmount
" locale=
              You can set locale with this option. It’s useful  if  locale  enviroment  variables  are  not  set  before  partitions  from  /etc/fstab had been mounted. "

#23 Le 04/06/2006, à 12:02

wam

Re : Écriture sur Ntfs avec Fuse

je n'ai pas cette locale, et pourtant, je peux créer un dossier avec un nom bourré d'accents sur une partition NTFS.
Par contre, je n'ai aucun accent dans mes noms de fichiers (une vieille habitude big_smile ). C'est peut être pour ça que je ne vois pas de différence...

En tout cas, hier, j'ai créé, effacé, déplacé depuis Linux. Certains fichiers étaient impossible à copier sur la partition, d'autres impossibles à effacer. Quand j'ai testé le reboot sous windows, il n'a pas bronché. Donc ça a l'air sécurisé. Je pense qu'il doit renvoyer une erreur dès qu'il y a un risque

Dernière modification par wam (Le 04/06/2006, à 12:06)

Hors ligne

#24 Le 07/06/2006, à 14:57

Compte supprimé

Re : Écriture sur Ntfs avec Fuse

Moi personnellement, j'ai d'autres problèmes avec Fuse.
La création de fichier puis leur suppression marche impeccable, par contre, les fichiers déjà existants sur la partition à l'origine sont déjà plus récalcitrants.
En l'occurrence, un truc tout bête comme :

bebert@laptop:/windows/Documents and Settings/Bebert/Guillaume/Bureau$ rename mplayerc.exe MediaPlayerClassic.exe
Bareword "mplayerc" not allowed while "strict subs" in use at (eval 1) line 1.
Bareword "exe" not allowed while "strict subs" in use at (eval 1) line 1.
bebert@laptop:/windows/Documents and Settings/Bebert/Bureau$

ne fonctionne donc pas. Enfin, j'avoue que je n'ai pas essayé les autres commandes fournies par les ntfstools, car elles ne semblent pas être dans la version "officielle" Ubuntu du paquet.

bebert@laptop:/usr/bin$ ntfs
ntfscat       ntfscp        ntfslabel     ntfsresize
ntfsclone     ntfsfix       ntfsls        ntfsundelete
ntfscluster   ntfsinfo      ntfsmount
bebert@laptop:/usr/bin$ ntfs

Je me teste donc ça demain smile

Dernière modification par Bibi218 (Le 07/06/2006, à 15:00)

#25 Le 07/06/2006, à 16:00

cep_

Re : Écriture sur Ntfs avec Fuse

rename utilisé ainsi te donnera le même résultat sur de l'ext3 ou autre.


Si tu veux seulement changer le nom : mv  player.exe  plapla.exe