@Oli - สวัสดีฉันชื่อ Jim Salter คนที่เขียนบทความนั้นจริง ๆ ฉันทำงานกับเครื่องเสมือนจริงซึ่งทำให้สิ่งต่าง ๆ ง่ายขึ้น สิ่งที่ฉันทำคือเริ่มต้นด้วยไฟล์ JPEG และเปิดขึ้นในตัวแก้ไขฐานสิบหก สิ่งหนึ่งที่ฉันใช้คือ Bless ซึ่งคุณสามารถติดตั้งใน Ubuntu พร้อมกับคำแนะนำในการติดตั้งapt-getง่ายๆ
หลังจากเปิด JPEG ใน Bless ฉันกดหน้าลงสองสามครั้งเพื่อให้เข้ากันกับ "เนื้อ" ของ JPEG แล้วเน้นที่ข้อมูลประมาณห้าสิบไบต์และคัดลอกและวางลงในโปรแกรมแก้ไขข้อความ (ใน กรณี gEdit) สิ่งนี้ทำให้ฉันมีสิ่งที่จะค้นหา
ตอนนี้ฉันบันทึก JPEG ลงในแต่ละอาร์เรย์บน VM ที่เก็บข้อมูลหลังอาร์เรย์เป็นชุดของไฟล์. qcow2 เมื่อฉันบันทึก JPEG ลงในอาร์เรย์ฉันสามารถโหลดไฟล์. qcow2 ที่เชื่อมโยงกับแต่ละอาร์เรย์ลงใน Bless และค้นหาได้ - มันไม่ใหญ่มากไม่มีอะไรนอกจาก JPEG และข้อมูลเมตาบางส่วน - สำหรับรูปแบบห้าสิบไบต์นั้น ฉันจะเน้นและคัดลอกออกจาก JPEG Voila ฉันมีบล็อกที่เสียหาย! ณ จุดนี้ฉันสามารถแก้ไข JPEG แต่ละไบต์ด้วยตนเองตามที่จัดเก็บไว้ในดิสก์เสมือนของ VM โดยใช้ Bless - และที่สำคัญทำเช่นเดียวกันในแต่ละอาร์เรย์
รอยย่นเพียงอย่างเดียวคือในกรณีของอาร์เรย์ RAID5 ที่ทดสอบในบทความฉันต้องทำให้แน่ใจว่าฉันแก้ไขสำเนาข้อมูลจริงในแถบนั้นและไม่ใช่ความเท่าเทียมกันสำหรับแถบนั้น - เป็นภาพเล็ก ๆ ไม่เช่นนั้นก็คืออาร์เรย์ที่ว่างเปล่าดังนั้นจึงไม่มีข้อมูลใด ๆ ในบล็อก FOLLOWING ในแถบทำให้บล็อก parity มีข้อมูลที่ไม่เปลี่ยนแปลงจากบล็อกข้อมูล หากฉันจะแก้ไข parity block โดยไม่ได้ตั้งใจแทนที่จะเป็น data block ภาพก็จะปรากฏเป็นไม่เปลี่ยนแปลง
หมายเหตุสุดท้ายสุดท้าย - คุณไม่จำเป็นต้องใช้เครื่องจักรเสมือนในการทำเช่นนี้ - คุณสามารถทำสิ่งเดียวกันด้วยวิธีเดียวกันกับโลหะเปลือย มันอาจจะเป็นความเจ็บปวดในก้นเพราะคุณจะต้องทำงานกับไดรฟ์ดิบทั้งหมดแทนที่จะเป็นไฟล์. qcow2 ขนาดเล็กที่ดีและคุณต้องดึงไดรฟ์และวางไว้ในเครื่องอื่นหรือ บูตเข้าสู่สภาพแวดล้อมแบบสด (หรือสลับกัน) เพื่อยุ่งกับพวกเขา (ฉันทดสอบการรักษาข้อมูลของ ZFS ด้วยวิธีนี้ แต่ในเครื่องโลหะเปลือยจริงเมื่อ 7-ish ปีที่แล้วเมื่อฉันสนใจระบบไฟล์รุ่นต่อไปในครั้งแรก)
หวังว่านี่จะช่วยได้!