ネイティブでは、FATファイルシステムに4 GBを超えるファイルを保存できません。4 GBの障壁はFATの厳しい制限です。ファイルシステムは32ビットフィールドを使用してファイルサイズをバイト単位で保存し、2 ^ 32バイト= 4 GiB(実際には、4 GiB-1バイト、または4 294 967 295バイト、長さゼロのファイルを持つことができるため)。そのため、4 GiBを超えるファイルをプレーンFATボリュームにコピーすることはできません。exFATは、64ビットフィールドを使用してファイルサイズを保存することでこれを解決しますが、パーティションの再フォーマットが必要になるため、実際には役立ちません。
ただし、ファイルを複数のファイルに分割して後で再結合すると、単一のファイルとしてではなく、すべてのデータを転送できるようになります(したがって、有用になる前にファイルを再結合する必要があります)。たとえば、Linuxでは次のようなことができます。
$ truncate -s 6G my6gbfile
$ split --bytes=2GB --numeric-suffixes my6gbfile my6gbfile.part
$ ls
my6gbfile my6gbfile.part00 my6gbfile.part01
my6gbfile.part02 my6gbfile.part03
$
ここではtruncate
、サイズが6 GiBのスパースファイルを作成します。(ご自身のものに置き換えてください。)次に、それぞれ約2 GBのサイズのセグメントに分割します。最後のセグメントは小さくなりますが、私が思いつくどんな状況でも問題はありません。ファイルを4つの等しいサイズのチャンクに分割--bytes=2GB
する--number=4
場合は、の代わりに使用することもできます。その場合の各チャンクのサイズは1 610 612 736バイトまたは約1.6 GiBになります。
それらを組み合わせるには、単にcat
(cat
conenate)を使用します:
$ cat my6gbfile.part* > my6gbfile.recombined
2つが同一であることを確認します。
$ md5sum --binary my6gbfile my6gbfile.recombined
58cf638a733f919007b4287cf5396d0c *my6gbfile
58cf638a733f919007b4287cf5396d0c *my6gbfile.recombined
$
これは、任意の最大ファイルサイズ制限で使用できます。
多くのファイルアーカイバは、ファイルをマルチパートアーカイブファイルに分割することもサポートしています。以前は、これは大きなアーカイブをフロッピーディスクに収めるために使用されていましたが、最近では、このような最大ファイルサイズの制限を克服するためにも使用できます。ファイルアーカイバは通常、「ストア」または「圧縮なし」モードもサポートします。これは、すでに圧縮されたアーカイブ、映画、音楽などでよくあるように、ファイルの内容をさらにロスレスに圧縮できないことがわかっている場合に使用できます; このようなモードを使用すると、圧縮ファイルは単にファイル分割機能を提供するコンテナとして機能し、実際のデータはアーカイブファイルにコピーされるだけで、処理時間を節約できます。