โฟลเดอร์ที่บีบอัดแบบ NTFS: เป็นไปได้หรือไม่ที่จะปรับแต่งอัตราส่วนการบีบอัด


19

อย่างที่ทราบกันดีว่า Windows บีบอัดโฟลเดอร์ NTFS ที่ถูกบีบอัดด้วยอัตราการบีบอัดที่ต่ำที่สุดเท่าที่จะเป็นไปได้ ขณะนี้อาจเป็นการดีสำหรับการเพิ่มความเร็วและลดภาระของ CPU สำหรับไฟล์ที่เข้าถึงได้ยาก (โฟลเดอร์สำรอง) มันจะมีเหตุผลมากกว่าที่จะมีความเป็นไปได้ที่จะเพิ่มอัตราส่วนการบีบอัด มีพารามิเตอร์บางอย่างที่อาจถูกปรับแต่งเพื่อให้บรรลุเป้าหมายนี้หรือไม่?



2
พวกเขาพูดเกี่ยวกับ "รูปแบบการบีบอัด": "ค่าอื่น ๆ บ่งชี้ว่าไฟล์ถูกบีบอัดโดยใช้รูปแบบการบีบอัดที่ระบุโดยค่าสถานะการบีบอัด" ฉันไม่พบความหมายของ "รูปแบบ" นี้และวิธีการตั้งค่า
Al Berger

คำตอบ:


14

คำตอบสั้น ๆ

ไม่เป็นไปไม่ได้ในขณะนี้

คำตอบที่ยาว

ไฟล์และโฟลเดอร์1ถูกบีบอัดและแตกไฟล์โดยส่งFSCTL_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 นี่คืออัลกอริธึมการบีบอัดแบบไม่สูญเสียซึ่งหมายความว่าไม่มีข้อมูลสูญหายเมื่อทำการบีบอัดและคลายการบีบอัดไฟล์เมื่อเทียบกับอัลกอริทึมการบีบอัดแบบสูญหายเช่น JPEG ซึ่งข้อมูลบางอย่างสูญหายในแต่ละครั้งที่การบีบอัดข้อมูล

บนระบบไฟล์ NTFS การบีบอัดจะดำเนินการอย่างโปร่งใส ซึ่งหมายความว่าสามารถใช้งานได้โดยไม่ต้องมีการเปลี่ยนแปลงแอปพลิเคชันที่มีอยู่

หากคุณบีบอัดไฟล์ที่มีขนาดใหญ่กว่า 30 กิกะไบต์การบีบอัดอาจไม่สำเร็จ

ที่มา: การบีบอัดไฟล์และการบีบอัด

อัลกอริทึมการบีบอัดใน NTFS ได้รับการออกแบบมาเพื่อรองรับขนาดของคลัสเตอร์สูงสุด 4 KB เมื่อขนาดคลัสเตอร์มากกว่า 4 KB บนโวลุ่ม NTFS จะไม่มีฟังก์ชันการบีบอัด NTFS ใด ๆ

ที่มา: การบีบอัดไฟล์และโฟลเดอร์

อ่านเพิ่มเติม


12

โดยทั่วไปก็ไม่ได้เป็นไปตามที่ระบุไว้ในคำตอบของ and31415

อย่างไรก็ตาม Microsoft ได้เพิ่มตัวเลือกการบีบอัดและอัลกอริทึม NTFS ใหม่บางตัวใน Windows 10 ดังนั้นขณะนี้มีวิธีเปลี่ยนอัตราส่วนการบีบอัด:

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 เพื่อเปิดไฟล์เหล่านั้น


2

คุณสามารถเพิ่มอัตราส่วนการบีบอัดโดยแอปของบุคคลที่สาม ตัวอย่างที่สำคัญคือzipmagic.co ฉันใช้มันกับแล็ปท็อปของฉันเป็นเวลาหนึ่งปีโดยไม่มีปัญหา แต่ขอให้สังเกตว่าการใช้การบีบอัดแบบ NTFS หรือ Zipmagic นั้นต้องการฮาร์ดไดรฟ์ SSD เนื่องจากการบีบอัดข้อมูลจะทำให้ไดรฟ์ของคุณมีการแยกส่วนอย่างสมบูรณ์และทำให้ไร้ประโยชน์! หากคุณมีไดรฟ์ SSD ลองสนุกไปกับมัน!


0

ฉันแนะนำให้ใช้ Archiver เช่น 7-zip หรือ Winrar เพื่อจุดประสงค์นี้ ด้วย Winrar คุณสามารถเข้าถึงไฟล์ที่อยู่ใน Archiver ได้ โปรดทราบว่ามันจะแยกไฟล์เก็บถาวรทั้งหมดก่อนจึงจะสามารถเข้าถึงไฟล์ได้และมันจะอัพเดตไฟล์เก็บถาวรด้วยการแก้ไขเมื่อคุณปิดและบันทึกลงในไฟล์ สิ่งนี้สามารถทำให้กระบวนการทั้งหมดช้าลง แต่เนื่องจากเป็นข้อมูลสำรองที่ควรใช้ได้

โปรดทราบว่านี่ไม่ใช่วิธีการสำรองข้อมูลเต็มรูปแบบ มันเป็นวิธีเดียวที่จะประหยัดพื้นที่

นอกจากนี้ยังมีโปรแกรมที่สามารถติดตั้งไฟล์เก็บถาวร 7z และ rar เป็นไดรฟ์เสมือน: http://www.winarchiver.com/virtual-drive.htm


6
ไดร์ฟ NTFS ที่ถูกบีบอัดในเคสของฉันถูกใช้เป็นที่เก็บข้อมูลสำรองข้ามแพลตฟอร์มและมีไฟล์ tar Linux archivers ไม่สามารถอัพเดตไฟล์เก็บถาวรเมื่ออยู่ในรูปแบบบีบอัดเช่น 7z หรือ xz NTFS ทำการบีบอัดการบินอย่างล่องหนสำหรับ Linux Tar archiver
Al Berger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.