web-dev-qa-db-fra.com

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

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

49
VJ Ranga

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.

103
Russo

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, il existe splitname__, par exemple. pour votre cas:

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

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

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

La taille du fichier output.file.aa correspond exactement à la taille maximale du fichier de votre clé USB au format FAT32, ce qui correspond à 4 gibibyte (gio, c'est pas identique au gigaoctet Go) 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 ceci ne trie les fichiers de manière incorrecte, lisez Dans Bash, les extensions génériques sont-elles garanties en ordre?
Sur les systèmes Windows, la commande correspondante est la suivante:

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

Outre de nombreux autres utilitaires GNU utiles, splitpeut également être installé sous Windows, voir tilitaires GNU pour Win32 .

90
dessert

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 taille de 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 bénéficierez d'une plus grande flexibilité en ce qui concerne la propriété et les autorisations.

  • Vous pouvez utiliser le programme GUI 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 avec les systèmes de fichiers linux et NTFS. Donc, si vous voulez une "compatibilité totale" en lecture et en écriture, utilisez uniquement FAT32 , UDF et exFAT restent.

  • FAT32 a une limite de 4GiB (gibioctets, base 2) pour le fichier Taille.

    • 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 paquetage 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
    • Peut-être qu'il est possible de trouver des outils de réparation dans Windows via ce lien: fsck tools for 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: tiliser l'UDF comme successeur de FAT pour clés USB

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

      1. Installez le paquet 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 mibibyte de la partition cible avec le risque 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 en tant que FAT après son formatage au format UDF.

      -b 512 permet de 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. C'est nouveau comparé à 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 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] de 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 est la lettre du lecteur et i le 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 (4.4.0-93-generic), à jour).
  • L'écriture et la lecture d'un fichier supérieur à 4 GiB 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 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 conseillerais d’utiliser NTFS, qui est journalisé et 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 d'interface 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 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,

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

38
sudodus

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, le tour est joué!

11
Oleg Lobachev

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 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. Prendre plaisir.

5
M. Dm.

Le reformatage ou l’utilisation de la scission sont d’excellentes options. Vous pouvez également utiliser 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.)

2
Jebidieah Cornell