อันดับแรก ฉันคิดว่าการเข้าใจคำสั่งที่คุณใช้เป็นสิ่งสำคัญ วว
โดยธรรมชาติแล้วมันเป็นสำเนาทีละบิตของ ถ้า
(ไฟล์อินพุต) ซึ่งส่งผลให้ไฟล์มีสำเนาที่สมบูรณ์แบบเมื่อคุณให้ไฟล์ ของ
(ไฟล์เอาต์พุต). ซึ่งรวมถึงเลขศูนย์ใดๆ
คุณต้องจำไว้ด้วยว่าตารางไฟล์ไม่ได้แสดงถึงสิ่งที่อยู่ในอุปกรณ์จริงๆ แต่เป็นสิ่งที่คุณเห็นได้ตามปกติ นั่นเป็นเหตุผลที่เมื่อคุณลองและกู้คืนไฟล์โดยใช้ซอฟต์แวร์กู้คืน คุณมักจะสามารถกู้คืนไฟล์ที่ยังไม่ได้เขียนทับได้ ไฟล์ต่างๆ จะถูกลบออกจากตารางโดยปล่อยให้พื้นที่ที่ใช้ไปแสดงเป็น "ฟรี" และไฟล์อื่นๆ ให้เขียนทับไฟล์ที่ "ลบ" เหล่านั้น โดยทั่วไปจะไม่ถูกขัดในระบบไฟล์ส่วนใหญ่เพื่อประหยัดเวลาในการลบ
ของคุณ ของ=
ตัวเลือกใช้เส้นทางไปยังไฟล์ ดังนั้นหากคุณพยายามรับผลลัพธ์ในไดเร็กทอรีที่คุณกำลังทำงานอยู่ รหัสผ่าน
แล้ว of=sdcard-copy.img
ควรจะเพียงพอ
ดังที่ได้กล่าวไปแล้ว คุณมีตัวเลือกอื่นสำหรับการบันทึกผลลัพธ์:
คุณสามารถบีบอัดเอาต์พุตด้วย gzip เพื่อบันทึก:
dd bs=1M if=/dev/mmcblk0 | gzip -c > sdcard-copy.img.gz
และขยายขนาดในขั้นตอนการคืนค่า:
gunzip -c sdcard-copy.img.gz | dd of=/dev/sdb bs=1M
หรืออุปกรณ์เป้าหมายที่คุณต้องการคืออะไร (ฉันสงสัยว่า สดา
)
ข้อเสียคือต้องใช้เวลาพอสมควรในการบีบอัด/คลายการบีบอัดเทียบกับการคัดลอกธรรมดา สำหรับกรณีของคุณที่จริง ๆ แล้วอาจค่อนข้างเร็วหากแหล่งที่มาส่วนใหญ่เป็นศูนย์ (ซึ่งดูเหมือนว่าจะเป็น)