Wie kopiere ich eine Datei, die größer als 4 GB ist, auf ein USB-Flash-Laufwerk?

53

Ich versuche, eine 6-GB-Datei auf ein USB-Flash-Laufwerk zu kopieren, aber sie wird nicht kopiert.

VJ Ranga
quelle
23
Ist das USB-Laufwerk mit FAT32 formatiert? Dieses Dateisystem unterstützt keine Dateien, die größer als 4 GB sind. Sie müssen es dann anders formatieren, zB als NTFS. Beachten Sie, dass beim Formatieren alle Daten auf dem Laufwerk gelöscht werden.
Byte Commander
14
Können Sie bitte die Frage "es wird nicht kopiert" näher erläutern? Welche Befehle hast du ausprobiert? Welche Fehlermeldung erhalten Sie? (Diese sind sehr hilfreich, falls jemand in Zukunft dasselbe Problem hat und nach einer Antwort sucht ...)
psmears
2
google for "kann keine dateien kopieren, die größer als 4 gb sind" und sie erhalten tonnenweise antworten auf stackexchange
phuclv
5
Auch könnte hilfreich sein, um die Größe des USB
George Tian
3
@Nukeface Kannst du eine Antwort mit Anweisungen dazu beifügen? Das Hinterlassen einer halben Antwort als Kommentar kann oft mehr schaden als nützen. Vielen Dank.
Eliah Kagan

Antworten:

108

Dies liegt an der FAT32-Einschränkung. Dateien, die größer als 4 GB sind, können nicht auf einem FAT32-Volume gespeichert werden. Durch Formatieren des Flash-Laufwerks als exFAT oder NTFS wird dieses Problem behoben.

WARNUNG: Sichern Sie Ihre Daten. Durch das Formatieren werden alle Daten auf Ihrem Gerät gelöscht.

Russo
quelle
20
Übrigens, das Formatieren des Flash-Laufwerks ext3ist auch eine Option
Basile Starynkevitch
18
@ BasileStarynkevitch ja, aber es ist nicht sehr brauchbar auf einigen proprietären Betriebssystemen;)
Ruslan
11
@ Ruslan: Ich stimme dem zu. Die Verwendung von ext3 / 4 unter Windows war schmerzhafter als die Verwendung von exFat und NTFS unter Linux.
JIV
13
Auch wenn es sich um eine Microsoft-Kreation handelt, gibt es für exFAT eine Menge zu sagen. Wie andere angemerkt haben, wird es von allen drei Desktop-Betriebssystemen gehandhabt, daher werden Sie dazu neigen, Ihre Interoperabilität zu maximieren. Darüber hinaus wurde es für den Einsatz auf großen Flash-Laufwerken konzipiert. Zitat: en.wikipedia.org/wiki/ExFAT Insbesondere, weil es eine Datei als zusammenhängend markieren und dadurch vermeiden kann, die FAT berühren zu müssen, arbeitet es im Anwendungsfall des OPs äußerst effizient: Umgang mit einer sehr großen Datei.
Dgnuff
8
@ dgnuff du meinst, alle drei großen Desktop-Betriebssysteme :)
dn3s
91

Wenn Sie Ihr USB-Laufwerk nicht neu formatieren möchten oder FAT32 benötigen, können Sie Ihre große Datei einfach in Teile aufteilen . Die meisten Archivmanager verfügen über die Option split, und für die Befehlszeile gibt es splitbeispielsweise für Ihren Fall Folgendes:

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

Siehe man splitfür die vollständige Dokumentation. Dadurch werden die folgenden Dateien erstellt:

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

Die Dateigröße output.file.aaentspricht genau der maximalen Dateigröße Ihres FAT32-formatierten USB-Laufwerks, dh 4 Gibibyte (GiB, das entspricht nicht Gigabyte GB) minus 1 Byte .
Vielen Dank an Gilles für diese wichtige Ergänzung.


Bevor Sie auf die Datei zugreifen können wieder müssen Sie verschmelzen ihre Teile zuerst. Auf Linux-Systemen können Sie dies tun mit:

cat output.file.* > input.file

Wenn Sie befürchten, dass dadurch die falsch in Bash gelesenen Dateien sortiert werden könnten , sind Platzhaltererweiterungen garantiert in Ordnung?
Der entsprechende Befehl auf Windows-Systemen lautet:

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

Unter splitWindows können neben vielen anderen nützlichen GNU-Dienstprogrammen auch GNU-Dienstprogramme für Win32 installiert werden .

Dessert
quelle
2
Ich wette, die Hälfte der Stimmen, die ich hier bekomme, sind nur wegen GiB gegen GB. ;)
Dessert
2
Ich hätte splitsogar ohne die Unterscheidung zwischen GiB und GB dafür gestimmt . Aber ich werde einen Attaboy dafür schicken ...
Zeiss Ikon
1
@dessert Ich würde davon ausgehen, dass du nur ca. 7,4% mehr Upvotes bekommst.
Eliah Kagan
1
Ich habe aufgestimmt, weil das Neuformatieren des Laufwerks, nur um eine große Datei verschieben zu können, eine schreckliche Antwort ist, wenn splites genau zu diesem Zweck existiert und auf der Empfangsseite nicht erforderlich ist. FAT32 ist aus einem bestimmten Grund die Verkehrssprache von USB-Laufwerken.
Monty Harder
Ich denke, -b 4095Mwäre viel einfacher und erreicht das gleiche wie der bcBefehl. In Bash könnte man auch Shell - Arithmetik verwenden: $(((4<<30)-1)).
David Foerster
39

Problem: In FAT32 ist die Dateigröße auf 4 GB begrenzt

Es werden verschiedene Szenarien und Dateisysteme untersucht, wobei nach Alternativen gesucht wird

  • das Dateigrößenproblem
  • welche Betriebssysteme das USB-Laufwerk lesen / schreiben sollen

Nur für Linux

Wenn Sie das Laufwerk nur mit Ubuntu (und anderen Linux-Distributionen) verwenden möchten, empfiehlt es sich, ein Linux-Dateisystem zu verwenden , z. B. ext4 . Auf diese Weise erhalten Sie möglicherweise eine höhere Lese- / Schreibgeschwindigkeit (je nachdem, welcher Prozess der Engpass ist) und eine höhere Flexibilität in Bezug auf Eigentumsrechte und Berechtigungen.

  • Sie können das GUI-Programm verwenden gparted, um das ext4- Dateisystem zu erstellen .

Volle Kompatibilität mit Linux, Windows und MacOS

Windows hat Probleme mit Linux-Dateisystemen, und ich denke, MacOS hat Probleme sowohl mit Linux-Dateisystemen als auch mit NTFS . Wenn Sie also "volle Kompatibilität" zum Lesen und Schreiben wünschen, bleiben nur FAT32 , UDF und exFAT übrig.

  • Für FAT32 gilt eine Beschränkung von 4 GB (Gibibyte, Basis 2) für die Dateigröße.

    • Kann in allen drei Betriebssystemen erstellt werden.
    • Warten (reparieren) Sie in Windows, wenn Sie Zugriff auf Windows haben.
    • Kann in Ubuntu mit gepflegt werden dosfsck, das kommt mit dem Paket dosfstools,

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

      Dabei ist x der Laufwerksbuchstabe und n die Partitionsnummer, z. B. /dev/sdb1für die erste Partition in Laufwerk b.

  • UDF fehlen wahrscheinlich Werkzeuge, um das Dateisystem zu reparieren.

    • FOSS
    • Vielleicht ist es möglich, Reparaturwerkzeuge in Windows über diesen Link zu finden: fsck tools for UDF , und es gibt einige Werkzeuge als Quellcode
    • Kann in Ubuntu erstellt werden
    • Kompatibel mit Links im Linux-Stil.
    • Kompatibel mit Linux-Berechtigungen. Sie können Berechtigungen für einzelne Dateien erstellen und ändern (was mit FAT und NTFS nicht möglich ist).
    • Eine UDF-Partition wird von Windows 10 nicht zum Formatieren aufgefordert (während das Linux Ext4-Dateisystem betroffen ist und versehentlich zerstört werden kann).
    • So erstellen und verwenden Sie UDF: Verwenden der UDF als Nachfolger von FAT für USB-Sticks

      Um es zu benutzen, wird vorausgesetzt, dass Ihr USB-Stick /dev/sdx:

      1. Installieren Sie das Paket udftools

        sudo apt-get install udftools
        
      2. Erstellen Sie mit gpartedoder eine Partitionstabelle und eine Partitiongnome-disks

      3. Bereinige das erste Mibibyte der Zielpartition mit dem Risiko dd(überprüfe die Kommandozeile!)

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

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

      Wischen Sie das erste Mibibyte der Partition, um die vorherigen Dateisysteminformationen (oder andere verbleibende Daten) zu löschen und zu verhindern, dass der USB-Stick nach der Formatierung mit UDF als FAT erkannt wird.

      Das -b 512ist eine Blockgröße Dateisystem zu zwingen , gleich den physikalischen Blockgröße des USB - Sticks, wie sie in der UDF - Spezifikation erforderlich. Passen Sie es an, wenn Sie das Glück haben, einen USB-Stick mit einer passenderen Blockgröße zu haben.

      Danach kann Ihr USB-Stick natürlich mit GNU / Linux und den anderen freien Betriebssystemen gelesen und geschrieben werden, aber auch mit aktuellen Windows-Versionen (schreibgeschützt mit der veralteten Version XP) und mit MacOS.

  • exFAT ist eine weitere Option. Es ist neu im Vergleich zu FAT32 und UDF und soll gut funktionieren

    • nativ mit Windows
    • mit MacOS
    • mit Linux

Mehr zu exFAT

Ich habe begonnen, exFAT in Ubuntu zu testen . Ich beabsichtige, diese Antwort zu bearbeiten, wenn ich mehr Erfahrung damit habe. Beginnen wir mit den folgenden Links ,

und diese Befehlszeile , um die [Lese- / Schreib] -Unterstützung für exFAT in Ubuntu zu installieren

sudo apt-get install exfat-utils exfat-fuse
  • Kann unter Windows, MacOS und Linux mit der folgenden Befehlszeile erstellt werden

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

    Wo xist der Laufwerksbuchstabe und iist die Partitionsnummer zum Beispiel /dev/sdb1.

  • Kann in Windows gepflegt werden.

Meine ersten Testergebnisse :

  • Das Erstellen des exFAT-Dateisystems funktionierte gut in Ubuntu (16.04 LTS (64-Bit), installiertes System mit der aktuellen Xenial-Kernel-Serie (4.4.0-93-generic)).
  • Das Schreiben und Lesen einer Datei mit mehr als 4 GiB war erfolgreich. Ubuntu und exFAT haben korrekt und schnell zusammengearbeitet (ich habe das überprüft md5sumund die Geschwindigkeit wurde durch das USB-System begrenzt).
  • Ubuntu und Windows konnten lesen, was im anderen Betriebssystem erstellt wurde. (Ich habe kein MacOS zum Testen und bin auf die Berichte anderer angewiesen.)

Windows

Wenn Sie also vollen Lese- / Schreibzugriff von Ubuntu und Windows aus wünschen, würde ich vorschlagen, dass Sie NTFS verwenden , das über Journaling verfügt und als [proprietäres] Dateisystem für Windows sehr fehlerfrei und poliert ist. (Es ist auch möglich, exFAT zu verwenden .)

  • In Ubuntu können Sie mit dem GUI-Programm gpartedein NTFS-Dateisystem erstellen.
  • In Windows ist es einfach, NTFS- und exFAT-Dateisysteme zu erstellen (sie sind nativ).

Mac OS

Unter MacOS können FAT32 , UDF und exFAT verwendet werden .

Sie können ext4 auch mit einer Problemumgehung verwenden, Ubuntu Server mit einem SSH-Server in einer virtuellen Maschine . (Ich denke, die gleiche Problemumgehung würde auch mit Windows funktionieren.) Dies kann sich lohnen, wenn Sie beabsichtigen, über das Laufwerk und das Dateisystem auf viele Dateien zuzugreifen, wahrscheinlich jedoch nicht mit einem kleinen USB2-Pendrive.

Siehe diesen Link,

Verwenden von ext4 unter OS X Yosemite, der lange, aber sichere Weg

Sudodus
quelle
3
AFAIR Windows XP kann nicht auf UDF-Volumes schreiben. Es ist heutzutage kein großes Problem, aber für alle Fälle immer noch erwähnenswert.
Gronostaj
2
macOS hängt alles standardmäßig als schreibgeschütztes NTFS ein (ich gehe davon aus, dass Apple die NTFS-Schreibunterstützung nicht für ausreichend zuverlässig hält.)
gsnedders
1
@gsnedders Ich gehe davon aus, dass sie einfach nicht an Windows glauben.
wizzwizz4
2
@sudodus Persönlich hatte ich keine Probleme mit allem, von der umfangreichen Verwaltung von NTFS-Partitionen bis zur Manipulation von Streams aus Debian, aber ich schätze es, mit Daten sicher zu sein. Außerdem habe ich ein Backup , sodass es keine Rolle spielt, ob ich alte Daten verliere (ich kann sie einfach aus dem Backup kopieren).
wizzwizz4
2
Hinweis: Sie können exfat ohne Probleme unter MacOS verwenden (es kann sogar das Laufwerk als exfat formatieren). Auch für größere Flash-Disks / Speicherkarten wird exfat zum Standard.
SztupY
11

Nachdem ich ein ähnliches Problem hatte und nicht bereit war, den USB-Stick neu zu formatieren, habe ich nur einen Archivierer verwendet. Mehr oder weniger alle modernen GUIs (wie File Roller, 7Zip usw.) oder CLIs ermöglichen das Teilen der Archivdatei. Stellen Sie das Split-Limit unterhalb der FAT-Grenze ein (etwas 4 GB). Für die Geschwindigkeit können Sie eine niedrige Komprimierungsrate wählen, sogar "speichern", dh überhaupt nicht komprimieren, eine Voila!

Oleg Lobachev
quelle
5

Wenn Sie Zugriff auf einen Windows-Computer haben, können Sie Ihr USB-Stick-Dateisystem ohne Formatierung konvertieren. Sie sollten die Windows-Befehlszeile wie folgt verwenden: Drücken Sie Win + R, geben Sie cmd-> ein OK, und geben Sie im geöffneten Fenster den Befehl ein, convert X: /FS:ntfsin dem X:sich der Buchstabe für Ihren USB-Stick befindet. In weniger als einer Minute ist es fertig. Genießen.

M. Dm.
quelle
2
Diese Methode kann nützlich sein :-) Da das Konvertieren eines Dateisystems jedoch riskant sein kann, empfehle ich , vor dem Konvertieren alle wichtigen Daten auf dem USB-Stick zu sichern . Haben Sie diese Methode übrigens angewendet? Hält es die Dateien? Funktioniert es auch zu / von Exfett?
Sudodus
1
Ich habe diese Methode mehrmals benutzt, alle Dateien waren nach diesem Vorgang lesbar. Dieses Dienstprogramm kann nur zur Konvertierung in NTFS verwendet werden, nicht umgekehrt.
M. Dm.
2

Das Neuformatieren oder Teilen ist eine großartige Option. Sie können auch versuchen, die Datei mit zip zu komprimieren. Beachten Sie jedoch, dass einige Dateien bereits komprimiert sind. Durch das Komprimieren werden sie größer. (Außerdem können Sie den Besitz von Dateien, Zeitstempel usw. verlieren.)

Jebidieah Cornell
quelle