Ich versuche, eine 6-GB-Datei auf ein USB-Flash-Laufwerk zu kopieren, aber sie wird nicht kopiert.
Ich versuche, eine 6-GB-Datei auf ein USB-Flash-Laufwerk zu kopieren, aber sie wird nicht kopiert.
Antworten:
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.
ext3
ist auch eine Option
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 split
beispielsweise für Ihren Fall Folgendes:
split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.
Siehe man split
fü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.aa
entspricht 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 split
Windows können neben vielen anderen nützlichen GNU-Dienstprogrammen auch GNU-Dienstprogramme für Win32 installiert werden .
split
sogar ohne die Unterscheidung zwischen GiB und GB dafür gestimmt . Aber ich werde einen Attaboy dafür schicken ...
split
es genau zu diesem Zweck existiert und auf der Empfangsseite nicht erforderlich ist. FAT32 ist aus einem bestimmten Grund die Verkehrssprache von USB-Laufwerken.
-b 4095M
wäre viel einfacher und erreicht das gleiche wie der bc
Befehl. In Bash könnte man auch Shell - Arithmetik verwenden: $(((4<<30)-1))
.
Es werden verschiedene Szenarien und Dateisysteme untersucht, wobei nach Alternativen gesucht wird
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.
gparted
, um das ext4- Dateisystem zu erstellen .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 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/sdb1
für die erste Partition in Laufwerk b.
UDF fehlen wahrscheinlich Werkzeuge, um das Dateisystem zu reparieren.
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
:
Installieren Sie das Paket udftools
sudo apt-get install udftools
Erstellen Sie mit gparted
oder eine Partitionstabelle und eine Partitiongnome-disks
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
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 512
ist 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
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 ,
ExFAT ist ein proprietäres Dateisystem von Microsoft, für das optimiert wurde
eingebettete Systeme, da es leichtgewichtig und besser für Lösungen geeignet ist, die wenig Arbeitsspeicher und wenig Strom benötigen und in Firmware implementiert werden können.
Wie man ein mit exfat formatiertes Laufwerk zum Laufen bringt (in Ubuntu)
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 x
ist der Laufwerksbuchstabe und i
ist die Partitionsnummer zum Beispiel /dev/sdb1
.
Kann in Windows gepflegt werden.
Meine ersten Testergebnisse :
md5sum
und die Geschwindigkeit wurde durch das USB-System begrenzt).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 .)
gparted
ein NTFS-Dateisystem erstellen.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
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!
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:ntfs
in dem X:
sich der Buchstabe für Ihren USB-Stick befindet. In weniger als einer Minute ist es fertig. Genießen.
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.)