Accès à un disque dur externe en USB

Bonjour à tous,

Je créer un nouveau sujet car je n’ai pas trouvé de solution ailleurs.

En effet, j’ai un disque dur externe usb nommé “My Passport” que ma machine voit dans le gestionnaire de fichiers lorsque je le branche. Il est monté à priori correctement. Pas de problème de ce coté là.

En revanche, il tourne dans le vide quand je lui demande d’afficher le contenu du disque. Ça ne fait pas planté le système mais je n’ai plus accès aux fichiers stockés dessus.

Pour info, avec fdisk -l, j’obtiens ceci :

Disk /dev/sdg: 931,5 GiB, 1000170586112 bytes, 1953458176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00023f15

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdg1        2048 1953458175 1953456128 931,5G  7 HPFS/NTFS/exFAT"

Avec un message pareil, ça devrait fonctionner pourtant non ? La seule hypothèse qui me vient ce serait que la table d’allocation des fichiers a crashé. Les fichiers sont toujours là mais il n’arriverait plus à les trouver. J’envisage de faire un “chkdsk /f” sous Windows mais bon ça craint un peu pour un libriste…

Voilà tout ce que je peux en dire pour l’instant.

Merci d’avance,

Khajib

Juste une question bête: ton système a bien chargé les modules pour lire ce type de système de fichiers ? (avec le disque branché, tu peux faire un lsmod | grep -e fat -e ntfs ?)

Quand je le fais, ça donne ceci :

 lsmod | grep -e fat -e ntfs
vfat                   17135  1 
fat                    61986  1 vfat

C’est grave docteur ? :slight_smile:

Il me semble que c’est ntfs-3g qui permet le support pour ce type de système de fichiers. Si tu n’as pas ce paquet installé sur ton système, il faudrait l’installer.

Mais ce serait bien de connaître le système de fichiers précis de /dev/sdg1, plutôt que HPFS/NTFS/exFAT (si tu as parted, essaie parted /dev/sgd print all)

Voilà le résultat

Model: WD My Passport 0748 (scsi)
Disk /dev/sdg: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1000GB  1000GB  primary  ntfs

Il semblerait que ce soit du ntfs ordinaire ?

Même disque avec le même résultat pour parted.
Pour accéder aux fichiers ntfs il faut bien le pilote ntfs-3g

Ben j’ai vérifié depuis le terminal. J’ai le paquet ntfs-3g mis à jour en question ainsi que toutes les dépendances.

Ah j’ai oublié de mentionner au début que je travaille sous la Debian Jessie. Au cas où ça pourrait être important.

Autrement je vois pas trop quoi faire. Je vais continuer mes recherches sur Internet.

tu as essayer le paquet ntfs-config ?

Je suis aussi sous Jessie et n’ai pas le problème.
Deux pistes :

  • un truc bizare dans /etc/fstab ?
  • une configuration tordue dans le disque lui-même ? genre accès protégé. J’ai rencontré des configurations merdiques sur un MyPassport qui me montait systématiquement un cd bidon en plus du disque. Je ne m’en suis tiré qu’en modifiant la bête sous Vista que je possédais encore à l’époque.

Tu m’intrigues avec ton « truc bizare dans /etc/fstab », c’est quoi, tu peux nous montrer ?

C’est juste une piste, dont je ne suis pas sûr : y aurait-il défini dans /etc/fstab un montage statique par défaut de /dev/sdg qui ne serait pas correct et bloquerait le montage dynamique réalisé par fuse ?

Concernant ntfs-config, j’ai déjà la version la plus récente possible.
Pour ce qui est de /etc/fstab, voici ce que contient le mien :

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=953bce8d-7680-4d76-b231-28a92eb4b4e6 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=D06E-3BCF  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/sda3 during installation
UUID=0dce04b1-7381-44ab-884b-9782e02570de /home           ext4    defaults        0       2
# swap was on /dev/sda4 during installation
UUID=9f4d863f-3418-4fc8-b4a3-de5172971a53 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

Je n’y vois pas la trace de /dev/sdg. Est-ce normal ?

Voilà ce qui se passe lorsque

khajib@Ordi-Khajib:~$ sudo mount /dev/sdg
mount: can't find /dev/sdg in /etc/fstab

C’est cohérent avec mon précédent ?

Oui c’est cohérent, ton fichier fstab ne mentionne aucune partition /dev/sdg à monter. Dans ton fichier, les partitions à monter sont référencées par leur identifiant UUID, ce qui est bonne chose, comme le rappelle le commentaire dans le fichier (les noms de devices ne sont pas persistents, et leur ordre de détection peut changer, surtout si les disques sont physiquement déplacés).

Ton disque dur externe en question n’est pas dans le fstab, ce qui est normal dans le cas d’un disque externe.

Avec le disque branché, il faudrait que tu fasses un sudo blkid pour trouver l’UUID de ton disque. Tu peux aussi afficher le fichier /etc/mtab quand le disque est monté, ça devrait nous donner les options de montage utilisées.

Résultat pour blkid (y a sdg1 c’est plutôt positif non ?) :

khajib@Ordi-Khajib:~$ sudo blkid
[sudo] password for khajib: 
/dev/sdb1: LABEL="Data" UUID="90915117-9748-4644-8508-55b6d0170fe0" TYPE="ext4" PARTUUID="6643439b-52d5-4ec1-86b5-7f1a09633506"
/dev/sda1: LABEL="EFI" UUID="D06E-3BCF" TYPE="vfat" PARTUUID="0ead02c4-d297-48b7-9b67-fad78ea27627"
/dev/sda2: LABEL="System" UUID="953bce8d-7680-4d76-b231-28a92eb4b4e6" TYPE="ext4" PARTUUID="32a5cd3d-89db-40be-9e24-c8b4c71f07b2"
/dev/sda3: LABEL="Data" UUID="0dce04b1-7381-44ab-884b-9782e02570de" TYPE="ext4" PARTUUID="542132da-898e-4f8a-8df7-da7763d1481d"
/dev/sda4: UUID="9f4d863f-3418-4fc8-b4a3-de5172971a53" TYPE="swap" PARTUUID="9b37c779-492f-41d1-8054-984e1ca0b339"
/dev/sdg1: LABEL="My Passport" UUID="4E1AEA7B1AEA6007" TYPE="ntfs" PARTUUID="00023f15-01"

Et pour /etc/mtab

rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=490732,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=789580k,mode=755 0 0
/dev/sda2 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
tmpfs /etc/machine-id tmpfs ro,relatime,size=789580k,mode=755 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 0
/dev/sda3 /home ext4 rw,relatime,data=ordered 0 0
tmpfs /run/user/108 tmpfs rw,nosuid,nodev,relatime,size=394792k,mode=700,uid=108,gid=116 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=394792k,mode=700,uid=1000,gid=1000 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
/dev/sdb1 /media/khajib/Data ext4 rw,nosuid,nodev,relatime,data=ordered 0 0

Désolé pour celui-là. Il est un peu gros.

Donc, si je ne me trompe pas, ton disque amovible ne se monte pas.
Chez moi les deux commandes fournissent (le disque est en /dev/sdb) :

blkid


/dev/sdb1: LABEL=“My Passport” UUID=“325220A852207331” TYPE=“ntfs” PARTUUID=“00021968-01”

et :
# cat /etc/mtab |grep sdb
/dev/sdb1 /media/jacques/My\040Passport fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0

quand tu viens de brancher le disque, la commande dmesg indique-t-elle des erreurs ? Il doit y avoir un problème du côté de fuse.

Oui effectivement il est balèze ce fichier, c’est là qu’on se rend compte qu’il y a un paquet de systèmes de fichiers virtuels qui sont montés.

Bon je ne suis pas sûr de trouver ton disque dans le mtab (est-ce que c’est le montage fuse ?)

Peux-tu envoyer:
sudo umount -v /dev/sdg1 sudo mkdir -p /mnt/test sudo mount -v -t ntfs -o uid=1000 -U 4E1AEA7B1AEA6007 /mnt/test
(la première commande est pour démonter la partition du disque dur, la 2e pour créer un point de montage vide, et la 3e pour monter la partition sur ce point de montage)

EDIT: je me demande si le problème exposé dans le premier post ne serait pas dû à une question de droits: d’après man mount section ‘mount options for ntfs’ au paragraphe uid: “By default, the files are owned by root and not readable by somebody else.”

Oui, le pilote ntfs historique ne permet pas l’écriture des fichiers ntfs. C’est justement le rôle de ntfs-3g de permettre un accès complet aux partitions ntfs via fuse (file system in user space), y compris pour les utilisateurs ordinaires.

@Sputnik93 : Je te l’envoie :slight_smile:

khajib@Ordi-Khajib:~$ sudo umount -v /dev/sdg1
[sudo] password for khajib: 
umount: /dev/sdg1: not mounted
khajib@Ordi-Khajib:~$ sudo mkdir -p /mnt/test
khajib@Ordi-Khajib:~$ sudo mount -v -t ntfs -o uid=1000 -U 4E1AEA7B1AEA6007 /mnt/test
khajib@Ordi-Khajib:~$ sudo mount /dev/sdg1
[sudo] password for khajib: 
mount: /dev/sdg1 is already mounted or /mnt/test busy
       /dev/sdg1 is already mounted on /mnt/test

Pour autant, MyPassport n’apparaît pas dans le gestionnaire de fichier…

Si le montage est correct il apparait dans /mnt/test comme un répertoire ordinaire (mais pas vide !!)