Comment copier un fichier de plus de 4 Go sur un lecteur flash USB?

42

J'essaie de copier un fichier de 6 Go sur un lecteur flash USB mais il ne sera pas copié.

    
posée VJ Ranga 04.09.2017 - 17:31
la source

6 réponses

97

Ceci 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 exFAT ou NTFS résoudra ce problème.

ATTENTION: Sauvegardez vos données. Le formatage supprimera toutes les données de votre appareil.

    
réponse donnée Russo 04.09.2017 - 17:36
la source
84

Si vous ne souhaitez pas reformater votre clé USB ou en avoir besoin, vous pouvez simplement diviser votre gros fichier en plusieurs parties. La plupart des gestionnaires d'archives sont fournis avec l'option split et pour la ligne de commande, il y a split , par ex. pour votre cas:

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

Consultez la man split pour obtenir la documentation complète. Cela va créer les fichiers suivants:

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

La taille de fichier de output.file.aa correspond exactement à la taille de fichier maximale de votre lecteur USB au format FAT32, qui est 4 Gibibyte (GiB, qui n'est pas identique à Gigabyte GB) moins 1 octet .
Merci à Gilles pour cet ajout important.

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 avez peur que cela puisse trier correctement les fichiers, lisez Dans Bash, les extensions génériques sont-elles garanties?
La commande correspondante sur les systèmes Windows est la suivante:

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

Avec de nombreux autres utilitaires GNU utiles, split peut également être installé sous Windows. Consultez les utilitaires GNU pour Win32 .

    
réponse donnée dessert 04.09.2017 - 19:11
la source
35

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 d'alternatives prenant en compte

  • le problème de taille de fichier
  • les systèmes d'exploitation qui 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 une vitesse de lecture / écriture supérieure (selon le processus qui constitue le goulot d’étranglement), et vous bénéficierez d’une plus grande flexibilité en ce qui concerne la propriété et les autorisations.

  • Vous pouvez utiliser le programme graphique gparted pour 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 à la fois avec les systèmes de fichiers Linux et NTFS . Donc, si vous voulez une compatibilité totale pour la lecture et l'écriture, seuls FAT32 , UDF et exFAT restent.

  • FAT32 a une limite de 4 Go (gibibyte, base 2) pour la taille du 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 package 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/sdb1 pour la première partition du lecteur b.

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

    • FOSS
    • Il est peut-être possible de trouver des outils de réparation sous 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).
    • Une partition UDF ne sera pas invitée à être formatée par Windows 10 (alors que le système de fichiers linux ext4 est affecté et peut être détruit par erreur).
    • Comment créer et utiliser UDF: Utiliser UDF comme successeur de FAT pour les clés USB

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

      1. Installez le package udftools

        sudo apt-get install udftools
        
      2. Créez une table de partition et une partition avec gparted ou gnome-disks

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

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

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

      Essuyez le premier mibibte 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 soit détectée en tant que FAT après son formatage avec UDF.

      Le -b 512 consiste à forcer une taille de bloc de 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 pour la lecture et l’écriture avec GNU / Linux et les autres systèmes d’exploitation gratuits bien sûr, mais aussi avec les versions actuelles de Windows (lecture seule avec la version obsolète XP) et avec MacOS.

  • exFAT est une autre option. Il est nouveau par rapport à FAT32 et UDF et prétend fonctionner correctement

    • nativement avec Windows
    • avec MacOS
    • avec Linux

En savoir plus sur exFAT

J'ai commencé à tester exFAT dans Ubuntu. J'ai l'intention d'éditer cette réponse lorsque j'aurai plus d'expérience. Commençons par les liens ,

suivants:
  • en.wikipedia.org/wiki/ExFAT

    ExFAT est un système de fichiers propriétaire de Microsoft optimisé pour

      

    systèmes embarqués parce qu’ils sont légers et conviennent mieux aux   solutions à faible mémoire et faible consommation d’énergie, et peuvent être   implémenté dans le firmware.

  • Comment obtenir un lecteur formaté avec exfat fonctionnement (dans Ubuntu)

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

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

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

    x correspond à la lettre du lecteur et i au numéro de la partition, par exemple /dev/sdb1 .

  • Peut être maintenu sous Windows.

Mes premiers résultats de test :

  • La création du système de fichiers exFAT a bien fonctionné dans Ubuntu (16.04 LTS (64 bits), système installé avec les séries de noyaux Xenial (4.4.0-93-generic), à jour).
  • L'écriture et la lecture d'un fichier de plus de 4 Gio / s ont abouti. Ubuntu et exFAT ont coopéré correctement et rapidement (j'ai vérifié avec md5sum et la vitesse était limitée par le système USB).
  • Ubuntu et Windows peuvent lire ce qui a été créé dans l’autre système d’exploitation. (Je n'ai pas de MacOS pour tester et je dois me fier aux rapports d'autres personnes.)

Windows

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

  • Dans Ubuntu, vous pouvez utiliser le programme graphique gparted pour 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 avez l’intention d’accéder à beaucoup de 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, le moyen long mais sûr

    
réponse donnée sudodus 04.09.2017 - 19:01
la source
11

Ayant eu un problème similaire et ne voulant 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 les interfaces de ligne de commande permettent de fractionner le fichier d'archive. Définissez la limite de division en dessous de la limite FAT (un peu 4 Go), pour la vitesse, vous pouvez choisir un faible taux de compression, même "store", c'est-à-dire ne pas compresser du tout, un voila!

    
réponse donnée Oleg Lobachev 04.09.2017 - 19:30
la source
5

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

    
réponse donnée M. Dm. 05.09.2017 - 09:11
la source
2

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

    
réponse donnée Jebidieah Cornell 06.09.2017 - 20:50
la source

Lire d'autres questions sur les étiquettes