Folder terkompresi NTFS: apakah mungkin untuk mengubah rasio kompresi?

19

Seperti yang terlihat, Windows mengkompres folder terkompresi NTFS dengan rasio kompresi serendah mungkin. Meskipun ini mungkin bagus untuk meningkatkan kecepatan dan mengurangi beban CPU, untuk file yang jarang diakses (folder cadangan) akan lebih masuk akal untuk memiliki kemungkinan untuk meningkatkan rasio kompresi. Apakah ada beberapa parameter yang dapat diubah untuk mencapai ini?

Al Berger
sumber
2
Mereka mengatakan tentang "format kompresi": "Nilai lain menunjukkan bahwa file dikompresi, menggunakan format kompresi yang ditentukan oleh nilai status kompresi." Saya tidak menemukan apa arti "format" ini dan bagaimana pengaturannya.
Al Berger

Jawaban:

14

Jawaban singkat

Tidak, itu tidak mungkin saat ini.

Jawaban panjang

File dan folder 1 dikompresi dan didekompresi dengan mengirimkan FSCTL_SET_COMPRESSIONkode kontrol dan status kompresi ke fungsi DeviceIoControl API . Keadaan kompresi dapat berupa salah satu dari yang berikut:

COMPRESSION_FORMAT_NONE = 0
COMPRESSION_FORMAT_DEFAULT = 1
COMPRESSION_FORMAT_LZNT1 = 2

Nilai bukan nol berarti item target akan dikompresi. Dari dokumentasi resmi:

Algoritma kompresi LZNT1 adalah satu-satunya algoritma kompresi yang diterapkan. Akibatnya, algoritma kompresi LZNT1 digunakan sebagai DEFAULTmetode kompresi.

Sumber: kode kontrol FSCTL_SET_COMPRESSION

Algoritma LZNT1 dirancang untuk kecepatan, dan tidak ada cara untuk mengatur tingkat kompresi khusus.

1 Folder sebenarnya tidak dikompresi: atribut kompresi mereka hanya memberikan status kompresi default ke file dan subfolder baru.

Informasi tambahan

Volume sistem file NTFS mendukung kompresi file berdasarkan file individual. Algoritma kompresi file yang digunakan oleh sistem file NTFS adalah kompresi Lempel-Ziv. Ini adalah algoritma kompresi lossless , yang berarti bahwa tidak ada data yang hilang saat mengompresi dan mendekompresi file, yang bertentangan dengan algoritma kompresi lossy seperti JPEG, di mana beberapa data hilang setiap kali kompresi data dan dekompresi terjadi.

Pada sistem file NTFS, kompresi dilakukan secara transparan. Ini berarti dapat digunakan tanpa memerlukan perubahan pada aplikasi yang ada.

Jika Anda mengompres file yang lebih besar dari 30 gigabytes, kompresi mungkin tidak berhasil.

Sumber: Kompresi dan Dekompresi File

Algoritma kompresi di NTFS dirancang untuk mendukung ukuran cluster hingga 4 KB. Ketika ukuran cluster lebih besar dari 4 KB pada volume NTFS, tidak ada fungsi kompresi NTFS yang tersedia.

Sumber: Kompresi File dan Folder

Bacaan lebih lanjut

and31415
sumber
12

Secara umum itu tidak mungkin, seperti ditunjukkan dalam jawaban and31415 .

Namun Microsoft telah menambahkan beberapa opsi kompresi dan algoritma NTFS baru di Windows 10, jadi sekarang ada cara untuk mengubah rasio kompresi:

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)

Algoritme baru dimaksudkan untuk fitur Compact OS baru (seperti yang Anda lihat dalam /CompactOsopsi di atas). Idenya adalah untuk mengkompres file read-only, backup dan sistem file yang jarang diakses dengan rasio tertinggi. Partisi pemulihan dihapus dan file terkompresi kemudian akan digunakan untuk mengeksekusi (jika sudah versi terbaru) dan tujuan pemulihan

Algoritma LZX cukup efisien dalam pengarsipan. Dan meskipun nama opsi dan deskripsi adalah semua tentang "file yang dapat dieksekusi", opsi dapat diterapkan ke file apa pun

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.

Namun tidak seperti algoritma lama, mereka tidak mendukung pengeditan saat itu juga , jadi menulis kembali ke file tidak mengompresnya.

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

Catatan penting adalah bahwa Anda tidak dapat mengatur folder untuk menandai file baru yang akan dikompres secara otomatis menggunakan algoritma baru tersebut , karena seperti yang dinyatakan dalam bagian bantuan compact(penekanan saya)

  /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.

Karena itu jika Anda ingin menggunakannya untuk file cadangan, Anda mungkin harus menjalankan skrip untuk mengompres secara manual setelah membuat cadangan atau secara berkala setelah beberapa waktu

Sayangnya ini baru di Windows 10, oleh karena itu tidak dapat digunakan di versi yang lebih lama. Namun NTFS-3g mendukungnya , oleh karena itu Anda tidak akan kesulitan mengaksesnya dari Linux. Jika Anda tidak menggunakan Windows 10, Anda dapat menjalankan Linux live USB atau Windows 10 PE untuk membuka file-file itu

phuclv
sumber
2

Anda dapat meningkatkan rasio kompresi dengan aplikasi pihak ketiga. Contoh utama adalah zipmagic.co Saya sudah menggunakannya di laptop saya selama setahun tanpa masalah. Tetapi perhatikan bahwa menggunakan kompresi NTFS atau Zipmagic memerlukan hard drive SSD karena kompresi akan membuat drive Anda benar-benar terfragmentasi dan menjadikannya tidak berguna! Jika Anda memiliki drive SSD, silakan dan nikmati!

Behrouz.M
sumber
0

Saya akan menyarankan untuk menggunakan pengarsipan seperti 7-zip atau Winrar untuk tujuan ini. Dengan Winrar, bahkan dimungkinkan untuk mengakses file yang ada di dalam pengarsipan. Perhatikan bahwa ini akan mengekstrak seluruh arsip terlebih dahulu sebelum dapat mengakses file, dan itu akan memperbarui arsip dengan modifikasi ketika Anda menutup dan menyimpan ke file. Ini dapat membuat seluruh proses lambat, tetapi mengingat bahwa itu adalah cadangan yang seharusnya baik-baik saja.

Perhatikan bahwa ini bukan solusi cadangan lengkap. Ini satu-satunya cara untuk menghemat ruang.

Selain itu, ada program yang dapat memasang 7z dan arsip rar sebagai drive virtual: http://www.winarchiver.com/virtual-drive.htm

LPChip
sumber
6
Drive terkompresi NTFS dalam kasus saya digunakan sebagai penyimpanan cadangan lintas platform dan berisi file tar. Pengarsip Linux tidak dapat memperbarui arsip ketika mereka berada dalam format terkompresi seperti 7z atau xz. NTFS melakukan kompresi dengan cepat tanpa terlihat untuk pengarsip Linux Tar.
Al Berger