Monter des clefs/disques USB en ExFAT sur NetBSD

Introduction

Là, c'est un peu plus délicat, surtout lorsque les périphériques USB ont plusieurs partitions.
Nous allons prendre l'exemple le plus casse-bonbon qui soit : une clef USB Ventoy !
Evidemment, on veut monter la partition qui contient les .iso... et qui est donc en ExFAT

D'abord, on se met en root tout du long :

su -

1) Installer le nécessaire

pkgin -y in fuse fuse-ntfs fuse-exfat fuse-ext2 fuse-httpfs fuse-sshfs ntfsprogs

(Il y a plus que de raison.. mais autant installer toute la série, vous en aurez sûrement besoin à un moment ou un autre)


2) Brancher le périphérique USB puis repérez-le

dmesg | tail -n 10

Il apparaîtra sous sdX où X est un chiffre, mais cette fois, il ne sera pas associé à un volume logique de type dkY (où Y est un chiffre également).

Etant donné qu'il s'agît d'un périphérique ExFAT, aucune géométrie ne se fabriquera automatiquement.
Il est donc fort probable que vous voyez 'Fabricating geometry' s'afficher... indéfiniment.

Exemple de résultat :

[ 2707.537422] sd0 at scsibus0 target 0 lun 0: disk removable
[ 2707.537422] sd0: fabricating a geometry
[ 2707.537422] sd0: 231 GB, 236650 cyl, 64 head, 32 sec, 512 bytes/sect x 484659200 sectors
[ 2707.537422] sd0: fabricating a geometry
SERVEUR#

Prenons donc sd0 pour exemple de ma clef Ventoy.


2bis) Vérifier les partitions présentes sur le périphérique USB

disklabel sd0

Voici ce qu'affiche la commande :

SERVEUR# disklabel sd0
# /dev/rsd0:
type: SCSI
disk: USB Flash Drive
label: fictitious
flags: removable
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 236650
total sectors: 484659200
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

6 partitions:
# size offset fstype [fsize bsize cpg/sgs]
 d: 484659200 0 unused 0 0 # (Cyl. 0 - 236649)
 e: 484591616 2048 NTFS # (Cyl. 1 - 236617)
 f: 65536 484593664 unknown # (Cyl. 236618 - 236649)
disklabel: boot block size 0
disklabel: super block size 0
SERVEUR#

Comme vous le constatez, il y a un problème avec la reconnaissance d'ExFAT... (qui est pris pour du NTFS).
MAIS ! Nous avons une information fondamentale : la lettre de la partition !
En effet, le 'e' est l'information cruciale qui va nous permettre de monter la partition.

Nous pouvons donc à présent passer au montage !


3) Créer un point de montage

mkdir -p /media/sd0e

4) Monter la partition sur /media/sd0e

env PERFUSE_BUFSIZE=135168 /usr/pkg/sbin/mount.exfat /dev/sd0e /media/sd0e

(On est obligé d'utiliser cette petite triche car sinon la copie des gros fichiers va poser beaucoup de problèmes !)

Voilà, la partition en ExFAT est montée.
Je vous suggère d'effectuer vos copies via root et via le shell, parce que j'ai rencontré pas mal de soucis avec mon utilisateur marcel et les explorateurs de fichiers type thunar. La partition saute souvent...


Comment distinguer NTFS et ExFAT ?

Toute la question est de savoir comment faire la distinction entre NTFS et ExFAT, vu qu'on ne la voit pas dans les commandes tapées (ni avec disklabel, ni avec fdisk)... eh bien à ma connaissance, on ne peut pas ! :-D

Il faudra essayer de monter en NTFS, et si ça ne fonctionne pas, supposer que c'est du ExFAT et monter en ExFAT comme ci-dessus !



↑ Haut de page