Windows는 압축률이 가장 낮은 NTFS 압축 폴더를 압축합니다. 속도를 높이고 CPU로드를 줄이는 데 유용 할 수 있지만 드물게 액세스되는 파일 (백업 폴더)의 경우 압축률을 높일 가능성이 더 큽니다. 이를 달성하기 위해 조정할 수있는 몇 가지 매개 변수가 있습니까?
Windows는 압축률이 가장 낮은 NTFS 압축 폴더를 압축합니다. 속도를 높이고 CPU로드를 줄이는 데 유용 할 수 있지만 드물게 액세스되는 파일 (백업 폴더)의 경우 압축률을 높일 가능성이 더 큽니다. 이를 달성하기 위해 조정할 수있는 몇 가지 매개 변수가 있습니까?
답변:
아니요, 현재로서는 불가능합니다.
파일 및 폴더 ( 1) 는 FSCTL_SET_COMPRESSION
제어 코드 및 압축 상태 를 DeviceIoControl
API 함수 에 전달함으로써 압축 및 압축 해제된다 . 압축 상태는 다음 중 하나 일 수 있습니다.
COMPRESSION_FORMAT_NONE = 0
COMPRESSION_FORMAT_DEFAULT = 1
COMPRESSION_FORMAT_LZNT1 = 2
0이 아닌 값은 대상 항목이 압축됨을 의미합니다. 공식 문서에서 :
LZNT1 압축 알고리즘은 유일한 압축 알고리즘입니다. 결과적으로 LZNT1 압축 알고리즘이
DEFAULT
압축 방법으로 사용됩니다 .
LZNT1 알고리즘은 속도를 위해 설계되었으며 사용자 지정 압축 수준을 설정할 수있는 방법이 없습니다.
1 폴더는 실제로 압축되지 않습니다. 압축 속성은 새 파일 및 하위 폴더에 기본 압축 상태 만 제공합니다.
NTFS 파일 시스템 볼륨은 개별 파일 기반의 파일 압축을 지원합니다. NTFS 파일 시스템에서 사용하는 파일 압축 알고리즘은 Lempel-Ziv 압축입니다. 이는 손실없는 압축 알고리즘으로, 데이터 압축 및 압축 해제가 발생할 때마다 일부 데이터가 손실되는 JPEG와 같은 손실 압축 알고리즘과 달리 파일을 압축 및 압축 해제 할 때 데이터가 손실되지 않습니다.
NTFS 파일 시스템에서 압축은 투명하게 수행됩니다. 즉, 기존 응용 프로그램을 변경하지 않고도 사용할 수 있습니다.
30 기가 바이트보다 큰 파일을 압축하면 압축에 실패 할 수 있습니다.
출처 : 파일 압축 및 압축 해제
NTFS의 압축 알고리즘은 최대 4KB의 클러스터 크기를 지원하도록 설계되었습니다. NTFS 볼륨에서 클러스터 크기가 4KB보다 크면 사용할 수있는 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)
새로운 알고리즘은 새로운 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 live USB 또는 Windows 10 PE를 실행하여 해당 파일을 열 수 있습니다
타사 앱으로 압축 비율을 높일 수 있습니다. 가장 좋은 예는 zipmagic.co 입니다. 랩톱에서 아무 문제없이 1 년 동안 사용했습니다. 그러나 압축하면 드라이브가 완전히 조각화되고 쓸모 없게되므로 NTFS 또는 Zipmagic 압축을 사용하려면 SSD 하드 드라이브가 필요합니다! SSD 드라이브가 있다면 계속 즐기십시오!
이 목적으로 7-zip 또는 Winrar와 같은 아카이버를 사용하는 것이 좋습니다. Winrar를 사용하면 아카이버 내부에있는 파일에 액세스 할 수도 있습니다. 파일에 액세스하기 전에 먼저 전체 아카이브를 추출하고 파일을 닫고 파일을 저장할 때 수정 사항으로 아카이브를 업데이트합니다. 이렇게하면 전체 프로세스 속도가 느려질 수 있지만 백업이어야하므로 문제가 없습니다.
이것은 전체 백업 솔루션이 아닙니다. 공간을 절약 할 수있는 유일한 방법입니다.
또한 7z 및 rar 아카이브를 가상 드라이브로 마운트 할 수있는 프로그램이 있습니다. http://www.winarchiver.com/virtual-drive.htm