Ajouter la prise en charge du systÚme de fichiers exFAT sur Linux et plus précisément sur Raspberry Pi OS
, cependant ce billet devrait ĂȘtre valide pour toute machine Linux dĂ©rivĂ©e de Debian.
exFAT
(Extended File Allocation Table) est un format de systĂšme de fichiers propriĂ©taire dĂ©veloppĂ© par Microsoft, conçu pour ĂȘtre optimal pour les mĂ©moires flash telles que les clĂ©s USB et les cartes SD.
Ce format est protĂ©gĂ© par un brevet appartenant Ă Microsoft. Du fait de ce brevet, il ne peut pas devenir une partie officielle de Linux. Notez que Samsung a publiĂ© une implĂ©mentation directement dans noyau Linux. En raison de cette limitation lĂ©gale, lâimplĂ©mentation de la prise en charge du systĂšme de fichiers exFAT
doit se faire dâune autre maniĂšre.
FUSE
(Filesystem in Userspace) est une interface logicielle pour les systĂšmes dâexploitation Unix qui permet aux utilisateurs sans privilĂšges de crĂ©er leurs propres systĂšmes de fichiers sans modifier le code du noyau. Ceci est rĂ©alisĂ© en exĂ©cutant le code du systĂšme de fichiers dans lâespace utilisateur tandis que le module FUSE ne fournit quâun « pont » vers les interfaces rĂ©elles du noyau.
Et trĂšs naturellement FUSE
permet dâajouter le support du format exFAT
sans avoir Ă recompiler le noyau.
Installation
Avant de commencer Ă ajouter la prise en charge de exFAT
Ă votre machine, assurez-vous dâavoir un systĂšme dâexploitation parfaitement Ă jour.
sudo apt-get update && sudo apt-get upgrade
Les deux paquets nécessaires sont exfat-fuse
et exfat-utils
. Ces deux packages fonctionnent ensemble pour permettre au systĂšme dâexploitation de communiquer avec des disques durs au format exFAT
.
-
Exfat-fuse
fonctionne comme un module du logiciel FUSE qui permet au systĂšme dâexploitation de monter et dâinterprĂ©ter des lecteursexFAT
sans nécessiter de privilÚges supplémentaires. -
Exfat-utils
fournit tous les utilitaires dont vous avez besoin pour pouvoir gérer le formatexFAT
, y compris la possibilité de formater les disques sur vos appareils Linux.
Pour installer ces deux paquets, utiliser la commande suivante :
sudo apt install -y exfat-fuse exfat-utils
Montagne manuel dâun lecteur exFAT
(optionnel)
Raspberry Pi OS
et Raspbian
devraient détecter et monter automatiquement vos lecteurs exFAT
aprĂšs lâinstallation des deux packages prĂ©cĂ©dents. Cependant, il se peut que vous souhaitiez les monter manuellement.
Le montage dâun lecteur exFAT
ne se fait pas exactement de la mĂȘme maniĂšre que vous monteriez une autre partition.
Il faut utiliser lâargument -t exfat
pour indiquer Ă la commande mount
de reconnaĂźtre le systĂšme de fichiers exFAT
.
Pour commencer, vous besoin dâun dossier dans lequel vous monterez les disques souhaitĂ©s. Ici, nous utiliserons /media/exfat
, câest une convention.
CrĂ©ez ce nouveau dossier depuis ce terminal, Ă lâaide de :
sudo mkdir /media/exfat
La seconde partie consiste à monter le lecteur dans ce répertoire. Il vous faut au préalable trouver trouvé ou se trouve le périphérique.
Imaginons que lâappareil soit disponible sous /dev/sdb1
, dans ce cas la commande de montage sera :
sudo mount -t exfat /dev/sdb1 /media/exfat
LâaccĂšs de la partition prĂ©sente sur lâappareil se fait en utilisant lâemplacement : /media/exfat
.
Dans notre exemple :
/dev/sdb1
est le chemin dâaccĂšs au pĂ©riphĂ©rique (chemin rĂ©servĂ© au systĂšme),/media/exfat
est le chemin dâaccĂšs Ă la partition, utilisable par nâimporte quel programme.
Pour trouver le chemin dâaccĂšs au pĂ©riphĂ©rique, vous pouvez utiliser, si la partition est dĂ©jĂ montĂ©e :
df -h
Si ce nâest pas le cas, vous devrez utiliser la commande :
sudo blkid
Mais vous pouvez Ă©galement utiliser lsblk
:
Tous simplement, depuis un terminal, en utilisant :
lsblk
Par exemple, sur un Raspberry vous obtiendrez ceci avant de mettre votre clé USB :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk0 179:0 0 29.7G 0 disk
ââmmcblk0p1 179:1 0 256M 0 part /boot
ââmmcblk0p2 179:2 0 29.5G 0 part /
Et cela aprÚs que la clé USB soit insérée :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 58.6G 0 disk
ââsda1 8:1 1 58.6G 0 part
mmcblk0 179:0 0 29.7G 0 disk
ââmmcblk0p1 179:1 0 256M 0 part /boot
ââmmcblk0p2 179:2 0 29.5G 0 part /
Dans ce cas, le chemin vers la clĂ© USB est â/dev/sdaâ et vers la partition brute â/dev/sda1â. Câest cette seconde valeur que vous devez utiliser pour monter votre clĂ©.
La valeur que vous rechercher ĂȘtre probablement donnĂ©e par :
lsblk --all --json | jq -r '.blockdevices[] | select(.type=="disk") | .children // empty | .[] | select(.mountpoint==null) | "/dev/" + .name'
Montage automatique dâun lecteur exFAT
(trĂšs optionnel)
ATTENTIONÂ : Assurez-vous de sauvegarder le fichier /etc/fstab
, car une erreur peut vous empĂȘcher de redĂ©marrer votre machine. Sur un Raspberry Pi utilisant une SD, vous pourrez utiliser une autre machine pour restaurer le fichier.
Si vous souhaitez que le lecteur soit automatiquement monté au démarrage, vous devez modifier le fichier /etc/fstab
.
Avant, vous devrez rĂ©cupĂ©rer l'UUID du pĂ©riphĂ©rique, cela se fait Ă lâaide de la commande :
sudo blkid
Pour éditer le fichier, utiliser la commande suivante :
sudo nano /etc/fstab
Imaginons lâUUID soit DEAD-F00D
, il faut ajouter la ligne suivante :
UUID=DEAD-F00D /media/exfat exfat defaults,auto,umask=000,users,rw 0 0
Les paramĂštres sont Ă adapter en fonction de vos besoins.
Formatage dâun disque en exFAT (trĂšs optionnel)
Si vous souhaitez formater votre lecteur au format exFAT
, vous pouvez le faire en utilisant un logiciel fourni dans le package exfat-utils
.
Ce logiciel sâappelle mkfs.exfat
, pour lâutiliser, vous devez spĂ©cifier un emplacement du lecteur(pĂ©riphĂ©rique) et cela se fait comme suit :
mkfs.exfat /dev/sdb1
Une fois cette commande terminée, votre lecteur sera désormais formaté exFAT
.
ATTENTION : Gardez Ă lâesprit que le formatage dâun disque effacera tout ce quâil contient. Ne vous trompez pas de chemin ! â Pensez Ă vĂ©rifier en utilisant lsblk
.
Références
- Page Wikipédia de FUSE,
- Raspberry Pi exFAT: Adding Support for exFAT File System,
- Raspberry Pi Mount a USB Drive Tutorial.
኿