web-dev-qa-db-ja.com

NTFS圧縮フォルダー:圧縮率を微調整することは可能ですか?

どうやら、WindowsはNTFS圧縮フォルダーを可能な限り低い圧縮率で圧縮します。これは速度を上げてCPU負荷を減らすのに適しているかもしれませんが、ほとんどアクセスされないファイル(バックアップフォルダー)の場合、圧縮率を上げる可能性がある方が賢明でしょう。これを達成するために微調整できるいくつかのパラメーターはありますか?

19
Al Berger

短い答え

いいえ、現時点ではできません。

長い答え

ファイルとフォルダー1FSCTL_SET_COMPRESSION制御コードと 圧縮状態DeviceIoControl[〜#〜] api [〜#〜] に渡すことにより、圧縮および解凍されます=関数。圧縮状態は次のいずれかです。

COMPRESSION_FORMAT_NONE = 0
COMPRESSION_FORMAT_DEFAULT = 1
COMPRESSION_FORMAT_LZNT1 = 2

ゼロ以外の値は、ターゲットアイテムが圧縮されることを意味します。公式ドキュメントから:

LZNT1圧縮アルゴリズムは、実装されている唯一の圧縮アルゴリズムです。その結果、LZNT1圧縮アルゴリズムがDEFAULT圧縮方法として使用されます。

ソース: FSCTL_SET_COMPRESSION制御コード

LZNT1アルゴリズムは速度を重視して設計されており、カスタム圧縮レベルを設定する方法はありません。

1 フォルダーは実際には圧縮されません。それらの圧縮属性は、新しいファイルとサブフォルダーにデフォルトの圧縮状態を与えるだけです。

追加情報

NTFSファイルシステムボリュームは、個々のファイルベースでのファイル圧縮をサポートしています。 NTFSファイルシステムで使用されるファイル圧縮アルゴリズムは、Lempel-Ziv圧縮です。これはlossless圧縮アルゴリズムです。つまり、lossyJPEGなどの圧縮アルゴリズム。データの圧縮と解凍が行われるたびに一部のデータが失われます。

NTFSファイルシステムでは、圧縮は透過的に実行されます。これは、既存のアプリケーションに変更を加えることなく使用できることを意味します。

30ギガバイトより大きいファイルを圧縮すると、圧縮が成功しない場合があります。

ソース: ファイルの圧縮と解凍

NTFSの圧縮アルゴリズムは、最大4 KBのクラスターサイズをサポートするように設計されています。 NTFSボリュームでクラスターサイズが4 KBを超える場合、NTFS圧縮機能はいずれも使用できません。

ソース: ファイルとフォルダーの圧縮

参考文献

14
and31415

サードパーティのアプリで圧縮率を上げることができます。主要な例はzipmagic.coです。私のラップトップを1年間問題なく使用しました。ただし、圧縮するとドライブが完全に断片化されて使用できなくなるため、NTFSまたはZipmagic圧縮を使用するにはSSDハードドライブが必要です。 SSDドライブをお持ちの場合は、お楽しみください!

2
Behrouz.M

この目的には、7-ZipやWinrarなどのアーカイバを使用することをお勧めします。 Winrarでは、アーカイバ内のファイルにアクセスすることもできます。ファイルにアクセスする前に、まずアーカイブ全体を抽出し、ファイルを閉じてファイルを保存すると、アーカイブが変更されて更新されることに注意してください。これによりプロセス全体が遅くなる可能性がありますが、大丈夫なはずのバックアップであることを考えると、.

これは完全バックアップソリューションではないことに注意してください。スペースを節約する唯一の方法です。

その上に、7zおよびrarアーカイブを仮想ドライブとしてマウントできるプログラムがあります。 http://www.winarchiver.com/virtual-drive.htm

0
LPChip