วิธีบีบอัดไฟล์ขนาดใหญ่มากที่มีข้อมูลเพียงเล็กน้อย


2

ฉันซื้อ SSD 250 GB ใช้งานฟอร์แมตเต็มรูปแบบติดตั้ง Win10 บนนั้นโคลนดิสก์ทั้งหมดโดยใช้ DD คำสั่งใน terminal Linux ที่จะมีการสำรองข้อมูลในกรณีที่ SSD ของฉันบางครั้งดังนั้นตอนนี้ฉันมีไฟล์ภาพดิสก์ที่มีขนาดประมาณ 250 GB ที่มีลักษณะดังนี้:

| --- some data (approx. 17 GB) --- | ------ no data at all, only nulls ------ |

ฉันเริ่มบีบอัดไฟล์โดยใช้ ซิป และคาดว่า ซิป จะฉลาดพอที่จะให้ฉัน ซิป ของประมาณ ขนาด 17 GB แต่หลังจากซิปและฉัน ซิป ถึงกว่า 50 GB แล้วฉันขัดจังหวะกระบวนการและมาที่นี่เพื่อถามคุณว่ามีวิธีการทำเช่นนี้อีก


2
สิ่งนี้ไม่ได้ตอบคำถามของคุณอย่างแน่นอน แต่สำหรับการสร้างอิมเมจดิสก์ให้ลองใช้ซอฟต์แวร์อิมเมจดิสก์บางตัวเช่น clonezilla หรือ partimage (หรือหนึ่งในผลิตภัณฑ์เชิงพาณิชย์จำนวนมากที่มี) พวกเขาจะทำการบีบอัดได้ทันทีและกระบวนการทั้งหมดจะเร็วขึ้นเช่นกัน
Charles Burge

โปรดทราบว่าสำหรับพาร์ติชัน Win10 dism เป็นวิธีที่ต้องการ (และ Microsoft รองรับ) ในการจับภาพดิสก์ เป็นแบบไฟล์ไม่ใช่บล็อกตาม dd แต่แตกต่างจากเครื่องมือบีบอัดไฟล์อื่น ๆ มันรองรับ ACLs และโครงสร้างข้อมูล NTFS อื่น ๆ ทั้งหมดดังนั้นจึงเหมาะสำหรับการสำรอง / กู้คืนระบบปฏิบัติการ สนับสนุนการบีบอัดและการขจัดข้อมูลซ้ำซ้อน
Wes Sayeed

Acronis True Image ISO ทำหน้าที่ได้อย่างยอดเยี่ยมในการลดขนาดพาร์ติชันด้วยภาพเต็มรูปแบบและสามารถกู้คืนได้ง่าย นอกจากนี้คุณสามารถกู้คืนผ่าน SMB เพื่อให้คุณสามารถจัดเก็บภาพเรียกคืนของคุณในตำแหน่งสำรองส่วนกลางและเรียกคืนผ่านเครือข่าย
Damon

ฉันเลือกวิธี dd + zip เพราะมันใช้งานได้กับ Linux (เช่นการกู้คืนโดยไม่มีปัญหา) และฉันกลัวว่าถ้าฉันใช้เครื่องมืออื่นที่ไม่จำเป็นต้องสร้างสำเนาแบบบิตต่อบิตฉันก็ไม่แน่ใจ ไม่ว่าการสำรองข้อมูลจะเป็นไรและเรียกคืนได้ง่าย
tom

คำตอบ:


2

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

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

สิ่งที่คุณต้องทำคือคัดลอกพาร์ติชั่นจากนั้นย่อขนาดพาร์ติชั่นที่ถูกคัดลอกให้เล็กที่สุดเท่าที่จะทำได้ (ทำนุกสลับและไฮเบอร์เนตไฟล์ถ้าทำได้) จากนั้นทำสิ่งที่คุณทำกับผลลัพธ์


0

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

คุณไม่สามารถสันนิษฐานได้ว่าดิสก์ใหม่จะกลายเป็นศูนย์อย่างใดอย่างหนึ่งอาจเป็นไปได้ว่าข้อมูลนั้นสุ่มขยะทั้งหมดจากกระบวนการผลิตและการทดสอบ

หากคุณต้องมีดิสก์อิมเมจที่สร้างขึ้นด้วยวิธีนี้คุณจะต้องเติมพื้นที่ว่างนั้นด้วยข้อมูลที่สอดคล้องกันก่อน

บน Windows คุณสามารถดาวน์โหลดเครื่องมือที่เรียกว่า sdelete และมีตัวเลือกให้เติมศูนย์อย่างถูกต้อง: sdelete -z

ซึ่งจะเสียเวลาอย่างไม่น่าเชื่อในดิสก์ขนาดใหญ่และอาจใช้เวลาเป็นชั่วโมงหรือเป็นวันขึ้นอยู่กับขนาดของดิสก์

ตัวเลือกอย่างชาญฉลาดคือการใช้เครื่องมือที่เข้าใจรูปแบบดิสก์และเก็บข้อมูลที่ต้องจัดเก็บจริงเพื่อเริ่มต้นและละเว้นพื้นที่ "ว่าง" บนดิสก์

  • Macrium Reflect
  • Clonezilla
  • Acronis Trueimage

สิ่งเหล่านี้มีอยู่ไม่มากนัก แต่ก็มีซอฟต์แวร์เกี่ยวกับภาพดิสก์มากมาย


ฉันสันนิษฐานว่าพื้นที่ว่างมีเพียง 0s (หรืออย่างน้อยเกือบ) เพราะฉันฟอร์แมต SSD อย่างเต็มรูปแบบจากนั้นโคลนทันทีหลังจากการติดตั้ง Win เสร็จสมบูรณ์ (ไฟล์การติดตั้งอาจเกิดขึ้นมากกว่านี้อย่างที่ Loren บอกว่าเป็นเรื่องจริงฉันไม่ได้คิดอย่างนั้น) ฉันให้อย่างแน่นอน sdelete ลองและถ้ามันใช้งานได้และทำให้ zip มีขนาดเล็กพอนั่นจะเป็นคำตอบที่ดีที่สุดสำหรับฉันเพราะฉันสามารถใช้คุณสมบัติ bit for for bit ของ dd และไม่จำเป็นต้องติดตั้งซอฟต์แวร์ภาพดิสก์เพิ่มเติม แต่สำหรับสิ่งนี้ฉันต้องการเวลา ...
tom

sdelete ใช้เวลา 7 ชั่วโมง จากนั้นฉันโคลน SSD ทั้งหมดโดยใช้ ddจากนั้นฉันซิปไฟล์อิมเมจของดิสก์และตอนนี้ .zip มี 21 GB ฉันไม่ได้บอกว่ามันใช้งานได้จริงมากกว่าเครื่องมือสร้างภาพที่ทำมาเพื่อจุดประสงค์นี้โดยเฉพาะ แต่โคลนที่สร้างจาก dd ฉันเชื่อใจมาก ขอบคุณสำหรับ sdelete!
tom

ยุติธรรมพอสมควร ฉันไม่สามารถเถียงได้เลยว่ามันแย่กว่านี้ยกเว้นว่าคุณไม่ต้องการทำสิ่งนี้เป็นประจำเพราะมันอาจจะทำให้ SSD เสียก่อน ของเวลา หากผลลัพธ์ที่ได้คือสิ่งที่คุณมีความสุขกว่า (ภาพดิสก์สมบูรณ์ คือ อาจดีกว่าไว้วางใจว่าเครื่องมือลีนุกซ์แบบสุ่มบางตัวเข้าใจรูปแบบดิสก์ของ Windows อย่างเหมาะสม) จากนั้นจะให้บริการตามวัตถุประสงค์ ดีใจที่ได้ช่วยคุณค้นหาชุดเครื่องมือที่เหมาะสม
Mokubai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.