Clonezilla ใช้dd
เบื้องหลัง
เกี่ยวกับดิสก์และพาร์ติชัน
/dev/sda
ดิสก์ทั้งเป็นอุปกรณ์เช่น นี่คือดิสก์แรกดิสก์ที่สองคือ/dev/sdb
ที่สาม/dev/sdc
ฯลฯ ดิสก์เก่ากว่าการเชื่อมต่อผ่านสาย IDE จะถูกตั้งชื่อเหมือนhda
, hdb
... /dev/sda1
ดิสก์สามารถมีหลายพาร์ติชันเช่น พาร์ติชันที่สองบนดิสก์/dev/sda
คือ/dev/sda2
และอื่น ๆ ภาพ (สำเนาตามตัวอักษรไบต์) สามารถทำได้จากทั้งพาร์ติชันและดิสก์ โปรดทราบว่า 512 ไบต์แรกของดิสก์มี MBR (Master Boot Record)
ไม่ควรติดตั้งพาร์ติชันเมื่อสร้างหรือกู้คืนรูปภาพมิฉะนั้นข้อมูลอาจสูญหายได้เมื่ออ่านจากมัน (การสร้างภาพ) หรือผู้ช่วยให้รอดและข้อมูลที่ไม่คาดคิดหากคุณกำลังเขียนลงไป (เรียกคืนจากภาพ)
ในตัวอย่างด้านล่าง/dev/sda1
คือพาร์ติชันที่ควรสร้างรูปภาพ
พาร์ติชันและอุปกรณ์ดิสก์ใน/dev
นั้นสามารถเขียนได้โดย superuser (root) และผู้ใช้ของdisk
กลุ่ม ฉันไม่ชอบวิ่งทุกอย่างเพื่อความปลอดภัย (ในกรณีที่คุณพิมพ์ผิด) ฉันเปลี่ยนกลุ่มชั่วคราวเป็นตัวเองดังนั้นฉันจึงสามารถอ่านและเขียนได้:
sudo chgrp my_user_name /dev/sda1
ถ้าคุณข้ามคำสั่งดังกล่าวที่คุณได้คำนำหน้าดังต่อไปนี้คำสั่งด้วยdd
sudo
ข้อมูลพื้นฐานเกี่ยวกับ
คำสั่งพื้นฐานสำหรับการสร้างภาพจากพาร์ทิชันคือ:
dd if=/dev/sda1 of=disk.img
if
หมายถึง "ไฟล์อินพุต" of
หมายถึง "ไฟล์เอาต์พุต" ทุกอย่างใน Linux เป็นไฟล์แม้แต่อุปกรณ์
ในการกู้คืนอิมเมจดังกล่าวให้รัน:
dd if=disk.img of=/dev/sda1
คำสั่งซื้อไม่สำคัญคุณสามารถเขียนข้อความด้านบนได้เช่นdd of=/dev/sda1 if=disk.img
กัน
บีบอัดภาพ
เนื่องจากพาร์ติชันมีขนาดใหญ่จึงแนะนำให้บีบอัดข้อมูลก่อนที่จะเขียนลงในภาพ:
dd if=/dev/sda1 | gzip > disk.img.gz
งานนี้เพราะถ้าof
ถูกละไว้เอาท์พุทจะถูกเขียนไป "ออกมาตรฐาน" gzip
ซึ่งเป็นท่อไปยังโปรแกรมบีบอัด disk.img
การส่งออกของที่ถูกเขียนไปยัง
หากต้องการกู้คืนรูปภาพที่ถูกบีบอัดให้เรียกใช้:
gunzip -c disk.img.gz | dd of=/dev/sda1
นี่gunzip
คือคำสั่งย้อนกลับของ gzip -c
ทำให้เอาต์พุตถูกเขียนไปยังเอาต์พุตมาตรฐานซึ่งเป็นไพพ์ไปยังdd
คำสั่ง เพราะif
ถูกละไว้ในdd
การป้อนข้อมูลถูกอ่านจาก "มาตรฐานการป้อนข้อมูล" gunzip
ซึ่งเป็นการส่งออกของ
อ่านจากภาพโดยไม่ต้องกู้คืน
รูปภาพที่ไม่มีการบีบอัดสามารถติดตั้งเพื่อให้คุณสามารถอ่านได้ หากคุณบีบอัดอิมเมจพาร์ติชันของคุณให้คลายการบีบอัดก่อน ( disk.img.gz
จะถูกลบออกdisk.img
จะถูกสร้างขึ้นให้แน่ใจว่ามีพื้นที่เพียงพอ!):
gunzip disk.img.gz
อีกวิธีหนึ่งคือคลายการบีบอัดภาพโดยไม่ต้องสัมผัสภาพ:
gunzip -c disk.img.gz > disk.img
ตอนนี้สร้างไดเรกทอรีที่ดิสก์สามารถเมานต์และเมานต์อิมเมจแบบอ่านอย่างเดียว ( ro
):
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
ตอนนี้คุณสามารถดูไฟล์ของคุณ/mnt/wind
ได้แล้ว เมื่อเสร็จแล้วให้ถอนติดตั้งและลบจุดเมาท์ล้าสมัย:
sudo umount /mnt/wind
sudo rmdir /mnt/wind
ขนาดที่น้อยลง, การใช้งาน CPU มากขึ้น, การสำรองข้อมูลนานขึ้นและระยะเวลาการกู้คืน
หากเวลาไม่ใช่ปัญหาและคุณมีพื้นที่เก็บข้อมูลไม่มากคุณสามารถใช้bzip2
รูปแบบการบีบอัดได้ เพียงแทนที่gzip
ด้วยbzip2
ในข้างต้น เป็นเรื่องปกติที่จะใช้.bz2
ส่วนขยายสำหรับไฟล์บีบอัด bzip2 ดังนั้นควรทำเช่นนั้น