พื้นหลัง
ฉันกำลังคัดลอกซีดี / ดีวีดีข้อมูลบางส่วนไปยังไฟล์ ISO เพื่อใช้งานในภายหลังโดยไม่จำเป็นต้องใช้ไดรฟ์
ฉันกำลังมองหาวิธีการทางอินเทอร์เน็ตและฉันพบมาก:
ใช้ใน
cat
การคัดลอกสื่อ: http://www.yolinux.com/TUTORIALS/LinuxTutorialCDBurn.htmlcat /dev/sr0 > image.iso
การใช้ใน
dd
การทำเช่นนั้น (เห็นได้ชัดว่าใช้กันอย่างแพร่หลายมากที่สุด): http://www.linuxjournal.com/content/archiving-cds-iso-commandlinedd if=/dev/cdrom bs=blocksize count=count of=/path/to/isoimage.iso
ใช้
pv
เพื่อทำสิ่งนี้ให้สำเร็จ: ดูman pv
ข้อมูลเพิ่มเติมแม้ว่านี่คือส่วนที่ตัดตอนมา:Taking an image of a disk, skipping errors: pv -EE /dev/sda > disk-image.img Writing an image back to a disk: pv disk-image.img > /dev/sda Zeroing a disk: pv < /dev/zero > /dev/sda
ผมไม่ทราบว่าทั้งหมดของพวกเขาควรจะเทียบเท่าแม้ว่าผมทดสอบบางส่วนของพวกเขา (โดยใช้md5sum
เครื่องมือ) และอย่างน้อยdd
และpv
มีไม่เทียบเท่า นี่คือmd5sum
ทั้งไดรฟ์และไฟล์ที่สร้างขึ้นโดยใช้แต่ละขั้นตอน:
md5 ของขั้นตอน dd: 71b676875b0194495060b38f35237c3c
md5 ของขั้นตอน pv: f3524d81fdeeef962b01e1d86e6acc04
แก้ไข:เอาท์พุทนั้นมาจากซีดีอื่นกว่าเอาท์พุทที่กำหนด ในความเป็นจริงฉันรู้ว่ามีข้อเท็จจริงที่น่าสนใจที่ฉันให้ไว้เป็นคำตอบ
ความจริงแล้วขนาดของไฟล์แต่ละไฟล์นั้นแตกต่างกันเมื่อเปรียบเทียบกัน
ดังนั้นมีวิธีที่ดีที่สุดในการคัดลอกซีดี / ดีวีดีหรือฉันแค่ใช้คำสั่งไม่ถูกต้องหรือไม่
ข้อมูลเพิ่มเติมเกี่ยวกับสถานการณ์
นี่คือข้อมูลเพิ่มเติมเกี่ยวกับกรณีทดสอบที่ฉันใช้เพื่อตรวจสอบขั้นตอนที่ฉันพบ:
isoinfo -d i /dev/sr0
ผลลัพธ์: https://gist.github.com/JBFWP286/7f50f069dc5d1593ba62#file-isicut-output-19-aug-2015
dd
เพื่อคัดลอกสื่อพร้อมเช็กเอาท์เอาท์พุทและข้อมูลไฟล์เอาท์พุท: https://gist.github.com/JBFWP286/75decda0a67605590d32#file-dd-output-with-md5-and-sha256-19-aug-2015
pv
เพื่อคัดลอกสื่อที่มี checksums เอาท์พุทและข้อมูลไฟล์เอาท์พุท: https://gist.github.com/JBFWP286/700a13fe0a2f06ce5e7a#file-pv-output-with-md5-and-sha256-19-aug-2015
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
dd
คำสั่งที่แน่นอนที่คุณใช้ (สิ่งที่บล็อกขนาดอะไรนับ?) (2) ขนาดและ checksums ของ เอาต์พุตทั้งหมดและ (3) ข้อมูลอิสระใด ๆ ที่คุณมีเกี่ยวกับจำนวนข้อมูลในดิสก์ออปติคัลต้นทาง ... ... ... ... ... ... PS ทำไมคุณใช้count=
บนdd
? คุณต้องการคัดลอกดิสก์อิมเมจทั้งหมดใช่ไหม count=
พูดว่า "คัดลอกหลายคนแล้วหยุด"
isoinfo -d -i /dev/cdrom
ต้องทราบหมายเลขนับและใช้มัน - dd
ในความเป็นจริงเขาบอกว่าไม่ควรใช้เพียง "ไม่ว่าในกรณีใดถ้าคุณต้องการอิมเมจ ISO ที่ถูกต้องของซีดีนั้นคุณจะต้องได้รับขนาดบล็อกและจำนวนบล็อกที่ถูกต้องก่อนที่จะสร้างภาพ"
cmp file1 file2
? คุณใช้dd
ผิดcount=
หรือเปล่า (หรือจำนวนจริง ๆ ที่ไม่จำเป็นถ้าคุณต้องการทั้งหมด) อ่านข้อผิดพลาดใน dmesg?