Comment copier un fichier de plus de 4 Go sur une clé USB?

53

J'essaie de copier un fichier de 6 Go sur une clé USB, mais ce ne sera pas le cas.

VJ Ranga
la source
23
Le lecteur USB est-il formaté avec FAT32? Ce système de fichiers ne prend pas en charge les fichiers de plus de 4 Go. Vous devez alors le formater différemment, par exemple en NTFS. Veillez à ce que le formatage supprime toutes les données du lecteur.
Byte Commander
14
Pouvez-vous s'il vous plaît mettre plus de détails dans la question sur le "ça ne va pas copier"? Quelles commandes as-tu essayées? Quel message d'erreur recevez-vous? (Ce sont très utiles dans le cas où quelqu'un a le même problème à l'avenir et cherche une réponse ...)
psmears
2
google for "ne peut pas copier des fichiers de plus de 4 Go" et vous obtiendrez des tonnes de réponses sur stackexchange
phuclv
5
Il pourrait également être utile d’inclure la taille de la clé USB
George Tian
3
@Nukeface Pouvez-vous inclure une réponse avec des instructions sur la façon de procéder? Laisser une demi-réponse sous forme de commentaire peut souvent causer plus de tort que de bien. Merci.
Eliah Kagan

Réponses:

109

Cela est dû à la limitation FAT32. Les fichiers de plus de 4 Go ne peuvent pas être stockés sur un volume FAT32. Formater le lecteur flash en tant que exFAT ou NTFS résoudra ce problème.

AVERTISSEMENT: sauvegardez vos données. Le formatage supprimera toutes les données de votre appareil.

Russo
la source
20
BTW, le formatage du lecteur flash comme ext3est également une option
Basile Starynkevitch
18
@BasileStarynkevitch oui, mais ce n'est pas très utilisable sur certains systèmes d'exploitation propriétaires;)
Ruslan
11
@Ruslan: Je seconde ceci. Utiliser ext3 / 4 sous Windows était plus pénible que d'utiliser exFat et NTFS sous Linux.
JIV
13
Même s'il s'agit d'une création Microsoft, il y a beaucoup à dire pour exFAT. Comme d'autres l'ont noté, il est géré par les trois systèmes d'exploitation de bureau. Par conséquent, vous aurez tendance à optimiser votre interopérabilité. En outre, il a été conçu pour être utilisé sur de grands lecteurs flash. Citation: en.wikipedia.org/wiki/ExFAT En particulier, comme il peut marquer un fichier comme étant contigu et ainsi éviter de toucher au FAT, il fonctionne extrêmement efficacement dans le cas d'utilisation d'un PO: gérer un fichier très volumineux.
dgnuff
8
@dgnuff vous voulez dire, les trois principaux systèmes d'exploitation de bureau :)
dn3s
91

Si vous ne souhaitez pas reformater votre clé USB ou si vous souhaitez qu'il soit au format FAT32, vous pouvez simplement diviser votre gros fichier en plusieurs parties. La plupart des gestionnaires d'archives sont livrés avec l'option split et pour la ligne de commande split, par exemple pour votre cas:

split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.

Voir man splitpour la documentation complète. Cela créera les fichiers suivants:

4,0G output.file.aa
1,6G output.file.ab

La taille du fichier de output.file.aacorrespond exactement à la taille maximale du fichier de votre disque formaté FAT32 USB, ce qui est 4 gibibyte (GIB, qui est pas la même chose que Gigabyte GB) moins 1 octet .
Merci à Gilles pour cet important ajout.


Avant de pouvoir accéder à nouveau au fichier, vous devez d'abord fusionner ses parties. Sur les systèmes Linux, vous pouvez le faire avec:

cat output.file.* > input.file

Si vous craignez que cela ne trie les fichiers mal lus , les extensions génériques sont-elles garanties?
La commande correspondante sur les systèmes Windows est:

copy /b output.file.aa+output.file.ab input.file

Outre de nombreux autres utilitaires GNU utiles, vous splitpouvez également installer Windows, voir Utilitaires GNU pour Win32 .

dessert
la source
2
Je parie que la moitié des votes positifs que je reçois ici sont simplement à cause de GiB vs. GB. ;)
dessert
2
J'aurais voté pour splitmême sans la distinction entre GiB et GB. Mais je vais envoyer un avocat pour ça ...
Zeiss Ikon
1
@dessert Je pense que cela ne vous rapportera que 7,4% de plus de votes positifs.
Eliah Kagan
1
J'ai voté à la hausse, car reformater le lecteur juste pour pouvoir déplacer un fichier volumineux est une réponse horrible lorsqu'il splitexiste précisément à cette fin et n'est pas nécessaire pour le destinataire. FAT32 est la lingua franca des clés USB pour une raison.
Monty Harder
Je pense que -b 4095Mserait beaucoup plus simple et réaliser la même chose que la bccommande. En Bash on pourrait aussi utiliser l' arithmétique shell: $(((4<<30)-1)).
David Foerster
39

Problème: FAT32 a une limite de 4 Go pour la taille du fichier.

Différents scénarios et systèmes de fichiers sont examinés à la recherche de solutions de rechange tenant compte des

  • le problème de la taille du fichier
  • quels systèmes d'exploitation doivent lire / écrire le lecteur USB

Linux uniquement

Si vous avez l'intention d'utiliser le lecteur uniquement avec Ubuntu (et d'autres distributions Linux), il est conseillé d'utiliser un système de fichiers Linux , par exemple ext4 . De cette façon, vous obtiendrez peut-être une vitesse de lecture / écriture plus élevée (en fonction du processus constituant le goulot d'étranglement) et vous obtiendrez une plus grande flexibilité en ce qui concerne la propriété et les autorisations.

  • Vous pouvez utiliser le programme graphique gpartedpour créer le système de fichiers ext4 .

Compatibilité totale avec Linux, Windows et MacOS

Windows a des problèmes avec les systèmes de fichiers Linux, et je pense que MacOS a des problèmes avec les systèmes de fichiers Linux et NTFS . Donc, si vous voulez une "compatibilité totale" en lecture et en écriture, il ne reste que FAT32 , UDF et exFAT .

  • FAT32 a une limite de 4GiB (gibibyte, base 2) pour la taille de fichier.

    • Peut être créé dans les trois systèmes d'exploitation.
    • Maintenir (réparer) sous Windows, si vous avez accès à Windows.
    • Peut être maintenu dans Ubuntu avec dosfsck, fourni avec le paquet dosfstools,

      sudo apt-get install dosfstools
      
      sudo dosfsck -a /dev/sdxn  # least destructive option
      sudo dosfsck -r /dev/sdxn  # more powerful option
      

      où x est la lettre du lecteur et n le numéro de la partition, par exemple /dev/sdb1pour la première partition du lecteur b.

  • UDF manque probablement d'outils pour réparer le système de fichiers,

    • FOSS
    • Peut-être est-il possible de trouver des outils de réparation dans Windows via ce lien: Outils fsck pour UDF , et certains outils sont disponibles en tant que code source
    • Peut être créé dans Ubuntu
    • Compatible avec les liens de style linux.
    • Compatible avec les autorisations de style linux. Vous pouvez créer et modifier les autorisations de fichiers individuels (ce qui n'est pas possible avec FAT et NTFS).
    • Aucune mise en forme ne sera demandée à une partition UDF par Windows 10 (le système de fichiers linux ext4 est affecté et peut être détruit par erreur).
    • Comment créer et utiliser UDF: Utiliser l'UDF comme successeur de FAT pour clés USB

      Donc, pour l'utiliser, supposons que votre clé USB est /dev/sdx:

      1. Installer le paquet udftools

        sudo apt-get install udftools
        
      2. Créer une table de partition et une partition avec gpartedougnome-disks

      3. Essuyez le premier mibibyte de la partition cible avec le risqué dd(vérifiez la ligne de commande!)

        sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
        
      4. Run mkudffs,

        sudo mkudffs -b 512 --media-type=hd --lvid=my-label /dev/sdx1
        

      Effacez le premier mibibyte de la partition pour effacer les informations précédentes du système de fichiers (ou d'autres données restantes), afin d'éviter que votre clé USB ne soit détectée comme une FAT après son formatage au format UDF.

      Cela -b 512consiste à forcer une taille de bloc du système de fichiers égale à la taille de bloc physique de la clé USB, comme requis par la spécification UDF. Adaptez-le si vous avez la chance d'avoir une clé USB avec une taille de bloc plus appropriée.

      Après cela, votre clé USB sera utilisable en lecture et en écriture avec GNU / Linux et les autres systèmes d'exploitation libres bien sûr, mais aussi avec les versions actuelles de Windows (en lecture seule avec la version obsolète XP) et avec MacOS.

  • exFAT est une autre option. Il est nouveau comparé à FAT32 et UDF et prétend bien fonctionner

    • nativement avec Windows
    • avec MacOS
    • avec Linux

En savoir plus sur exFAT

J'ai commencé à tester exFAT sous Ubuntu. J'ai l'intention de modifier cette réponse quand j'aurai plus d'expérience de l'utiliser. Commençons par les liens suivants ,

et cette ligne de commande pour installer le support [lecture / écriture] pour exFAT dans Ubuntu

sudo apt-get install exfat-utils exfat-fuse
  • Peut être créé sous Windows, MacOS et Linux avec la ligne de commande suivante

    sudo mkfs.exfat -n YOUR-LABEL /dev/sdxi
    

    xest la lettre du lecteur et ile numéro de la partition, par exemple /dev/sdb1.

  • Peut être maintenu dans Windows.

Mes premiers résultats de test :

  • La création du système de fichiers exFAT a bien fonctionné sous Ubuntu (16.04 LTS (64 bits), système installé avec la série de noyaux Xenial (version 4.4.0-93-générique), à ​​jour).
  • L’écriture et la lecture d’un fichier de plus de 4 Gio ont réussi. Ubuntu et exFAT ont coopéré correctement et rapidement (j'ai vérifié md5sumet le débit était limité par le système USB).
  • Ubuntu et Windows pouvaient lire ce qui avait été créé dans l’autre système d’exploitation. (Je n'ai pas de MacOS à tester et je dois me fier aux rapports d'autres personnes.)

les fenêtres

Donc, si vous voulez un accès complet en lecture / écriture à partir d’Ubuntu et de Windows, je vous suggérerais d’utiliser NTFS , qui est journalisé, très débogué et poli comme système de fichiers [propriétaire] pour Windows. (Il est également possible d'utiliser exFAT .)

  • Dans Ubuntu, vous pouvez utiliser le programme graphique gpartedpour créer un système de fichiers NTFS.
  • Sous Windows, il est facile de créer des systèmes de fichiers NTFS et exFAT (ils sont natifs).

MacOS

Sous MacOS, il est possible d'utiliser FAT32 , UDF et exFAT .

Vous pouvez également utiliser ext4 avec une solution de contournement, Ubuntu Server avec un serveur SSH sur une machine virtuelle . (Je pense que la même solution de contournement fonctionnerait également avec Windows.) Cela peut être utile si vous souhaitez accéder à de nombreux fichiers via le lecteur et son système de fichiers, mais probablement pas avec une petite clé USB2.

Voir ce lien,

Utiliser ext4 sur OS X Yosemite, une méthode longue mais sûre

sudodus
la source
3
AFAIR Windows XP ne peut pas écrire sur les volumes UDF. Ce n’est plus un problème de nos jours, mais il faut quand même le signaler, juste au cas où.
gronostaj
2
macOS monte tout par défaut en NTFS en lecture seule par défaut (je présume que Apple ne croit pas que le support en écriture NTFS est suffisamment fiable.)
gsnedders
1
@gsnedders Je suppose qu'ils ne croient tout simplement pas en Windows.
wizzwizz4
2
@sudodus Personnellement, je n'ai eu aucun problème avec tout, de la gestion lourde de partitions NTFS à la manipulation des flux depuis Debian, mais j'apprécie d'être en sécurité avec les données. De plus, j'ai une sauvegarde , donc peu importe si je perds de vieilles données (je peux simplement les copier à partir de la sauvegarde).
Wizzwizz4
2
Remarque: vous pouvez utiliser exfat sur MacOS sans problème (il peut même formater le disque en exfat). exfat devient également la valeur par défaut pour les disques flash / cartes mémoire plus grands.
SztupY
11

Ayant eu un problème similaire et ne souhaitant pas reformater la clé USB, je viens d'utiliser un archiveur. Plus ou moins toutes les interfaces graphiques modernes (telles que File Roller, 7Zip, etc.) ou CLI permettent de scinder le fichier archive. Définissez la limite de division en dessous de la limite FAT (légèrement supérieure à 4 Go). Pour la vitesse, vous pouvez choisir un taux de compression faible, voire "stocker", c’est-à-dire ne pas compresser du tout, voila!

Oleg Lobachev
la source
5

Si vous avez accès à une machine Windows, vous pouvez convertir votre système de fichiers à clé USB sans formater. Vous devez utiliser la ligne de commande Windows comme suit: appuyez sur Win + R, tapez cmd-> OK, dans la commande de saisie de la fenêtre ouverte convert X: /FS:ntfsX:est la lettre de votre clé USB montée. En moins d'une minute, c'est prêt. Prendre plaisir.

M. Dm.
la source
2
Cette méthode peut être utile :-) Mais la conversion d'un système de fichiers peut être risquée, je vous recommande donc de sauvegarder tout ce qui est important sur la clé USB avant de procéder à la conversion. Au fait, avez-vous utilisé cette méthode? Conserve-t-il les fichiers? Est-ce que ça marche aussi vers / depuis exfat?
sudodus
1
J'ai utilisé cette méthode plusieurs fois, tous les fichiers étaient lisibles après cette procédure. Cet utilitaire ne fonctionne que pour convertir en NTFS, et non l'inverse.
M. Dm.
2

Le reformatage ou l'utilisation de la scission sont d'excellentes options. Vous pouvez également utiliser une compression zip pour compresser le fichier. Sachez simplement que certains fichiers sont déjà compressés. (Vous risquez également de perdre la propriété du fichier, les horodatages, etc.)

Jebidieah Cornell
la source