考えられるように、WindowsはNTFS圧縮フォルダを可能な限り低い圧縮率で圧縮します。これは、速度の向上とCPU負荷の軽減には役立つかもしれませんが、まれにしかアクセスされないファイル(バックアップフォルダー)の場合は、圧縮率を上げる可能性があります。これを達成するために調整できるパラメーターはありますか?
考えられるように、WindowsはNTFS圧縮フォルダを可能な限り低い圧縮率で圧縮します。これは、速度の向上とCPU負荷の軽減には役立つかもしれませんが、まれにしかアクセスされないファイル(バックアップフォルダー)の場合は、圧縮率を上げる可能性があります。これを達成するために調整できるパラメーターはありますか?
回答:
いいえ、現時点ではできません。
ファイルとフォルダー1は、FSCTL_SET_COMPRESSION
制御コードと圧縮状態をDeviceIoControl
API関数に渡すことで圧縮および解凍されます。圧縮状態は次のいずれかです。
COMPRESSION_FORMAT_NONE = 0
COMPRESSION_FORMAT_DEFAULT = 1
COMPRESSION_FORMAT_LZNT1 = 2
ゼロ以外の値は、ターゲットアイテムが圧縮されることを意味します。公式文書から:
LZNT1圧縮アルゴリズムは、実装されている唯一の圧縮アルゴリズムです。その結果、LZNT1圧縮アルゴリズムが
DEFAULT
圧縮方法として使用されます。
LZNT1アルゴリズムは速度を重視して設計されており、カスタムの圧縮レベルを設定する方法はありません。
1フォルダーは実際には圧縮されません。圧縮属性は、新しいファイルとサブフォルダーにデフォルトの圧縮状態を与えるだけです。
NTFSファイルシステムボリュームは、個々のファイルベースでのファイル圧縮をサポートしています。NTFSファイルシステムで使用されるファイル圧縮アルゴリズムは、Lempel-Ziv圧縮です。これはロスレス圧縮アルゴリズムです。つまり、JPEGなどの非可逆圧縮アルゴリズムではデータの圧縮と解凍が発生するたびに一部のデータが失われるのに対し、ファイルの圧縮と解凍時にデータは失われません。
NTFSファイルシステムでは、圧縮は透過的に実行されます。つまり、既存のアプリケーションを変更することなく使用できます。
30ギガバイトを超えるファイルを圧縮すると、圧縮が成功しない場合があります。
ソース:ファイルの圧縮と解凍
NTFSの圧縮アルゴリズムは、最大4 KBのクラスターサイズをサポートするように設計されています。NTFSボリュームでクラスターサイズが4 KBを超える場合、NTFS圧縮機能は使用できません。
ソース:ファイルとフォルダーの圧縮
and31415の回答に示されているように、一般的には不可能です。
ただし、MicrosoftはWindows 10にいくつかの新しいNTFS圧縮オプションとアルゴリズムを追加したため、現在、圧縮率を変更する方法があります。
COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [/EXE[:algorithm]]
[/CompactOs[:option] [/WinDir:dir]] [filename [...]]
...
/EXE Use compression optimized for executable files which are read
frequently and not modified. Supported algorithms are:
XPRESS4K (fastest) (default)
XPRESS8K
XPRESS16K
LZX (most compact)
新しいアルゴリズムは、新しいコンパクトOS機能を対象としてい/CompactOs
ます(上記のオプションをご覧ください)。読み取り専用、バックアップ、およびアクセス頻度の低いシステムファイルを最高の比率で圧縮するという考え方です。リカバリパーティションが削除され、圧縮ファイルは実行(既に最新バージョンの場合)とリカバリの両方に使用されます
LZXアルゴリズムはアーカイブに非常に効率的です。オプション名と説明はすべて「実行可能ファイル」に関するものですが、オプションはどのファイルにも適用できます
E:\test>compact /a
Listing E:\test\
New files added to this directory will not be compressed.
1050909 : 1050909 = 1.0 to 1 sometext.txt
...
E:\test>compact /c /exe:lzx sometext.txt
Compressing files in E:\test\
sometext.txt 1050909 : 176128 = 6.0 to 1 [OK]
1 files within 1 directories were compressed.
1,050,909 total bytes of data are stored in 176,128 bytes.
The compression ratio is 6.0 to 1.
ただし、古いアルゴリズムとは異なり、オンザフライ編集をサポートしていないため、ファイルに書き戻すと圧縮が解除されます。
E:\test>echo x >> sometext.txt
E:\test>compact /a
Listing E:\test\
New files added to this directory will not be compressed.
1050913 : 1050913 = 1.0 to 1 sometext.txt
重要な注意事項は、あなたがするフォルダを設定することができないということですこれらの新しいアルゴリズムを使用して自動的に圧縮される新しいファイルをマークのヘルプ一環で述べたようにするので、compact
(強調鉱山)
/C Compresses the specified files. Directories will be marked
so that files added afterward will be compressed ***unless /EXE
is specified***.
/U Uncompresses the specified files. Directories will be marked
so that files added afterward will not be compressed. If
/EXE is specified, only files compressed as executables will
be uncompressed; if this is omitted, only NTFS compressed
files will be uncompressed.
したがって、それらをバックアップファイルに使用する場合は、バックアップ後に手動で圧縮するか、しばらくしてから定期的に圧縮するスクリプトを実行する必要があります。
残念ながら、これはWindows 10の新機能であるため、古いバージョンでは使用できません。ただし、NTFS-3gはこれをサポートしているため、Linuxからのアクセスに問題はありません。Windows 10を使用しない場合は、LinuxライブUSBまたはWindows 10 PEを実行してこれらのファイルを開くことができます
サードパーティのアプリによって圧縮率を上げることができます。一番の例はzipmagic.co です。私はラップトップで1年間問題なく使用しました。ただし、NTFSまたはZipmagic圧縮を使用するにはSSDのハードドライブが必要であることに注意してください。圧縮によりドライブが完全に断片化され、使用できなくなります。SSDドライブをお持ちの場合は、どうぞお楽しみください!
この目的には、7-zipやWinrarなどのアーカイバを使用することをお勧めします。Winrarでは、アーカイバ内のファイルにアクセスすることさえ可能です。ファイルにアクセスする前に最初にアーカイブ全体を抽出し、ファイルを閉じて保存すると、変更を加えてアーカイブを更新することに注意してください。これにより、プロセス全体が遅くなる可能性がありますが、それが問題ないバックアップであることを考えると。
これは完全バックアップソリューションではないことに注意してください。スペースを節約する唯一の方法です。
さらに、7zおよびrarアーカイブを仮想ドライブとしてマウントできるプログラムがあります:http ://www.winarchiver.com/virtual-drive.htm