หากคุณกำลังพยายามเรียกใช้xfs_repairรับข้อความแสดงข้อผิดพลาดที่แนะนำให้ติดตั้งระบบไฟล์เพื่อเล่นซ้ำบันทึกและหลังจากติดตั้งยังได้รับข้อความแสดงข้อผิดพลาดเดียวกันคุณอาจต้องทำการซ่อมแซมแบบบังคับ (โดยใช้-L
แฟล็กด้วยxfs_repair
) ตัวเลือกนี้ควรเป็นทางเลือกสุดท้าย
ตัวอย่างเช่นฉันจะใช้กรณีที่ฉันมีพาร์ทิชันรากเสียหายในการติดตั้ง CentOS 7 ของฉัน เมื่อพยายามติดตั้งพาร์ติชันฉันได้รับข้อความแสดงข้อผิดพลาดด้านล่างอย่างต่อเนื่อง:
mount: mount / dev / mapper / centos-root บน / mnt / centos-root ล้มเหลว: โครงสร้างต้องการการทำความสะอาด
น่าเสียดายที่การบังคับให้มีการซ่อมแซมจะเกี่ยวข้องกับการบันทึก (ทำลาย) การบันทึกก่อนที่จะทำการซ่อมแซม เมื่อใช้วิธีนี้มีความเป็นไปได้ที่จะจบลงด้วยข้อมูลที่เสียหายมากกว่าที่คาดไว้ในตอนแรก อย่างไรก็ตามเราสามารถใช้เครื่องมือ xfs ที่เหมาะสมเพื่อดูความเสียหายที่อาจเกิดขึ้นก่อนที่จะทำการเปลี่ยนแปลงอย่างถาวร
การใช้xfs_metadumpและxfs_mdrestoreคุณสามารถสร้างอิมเมจข้อมูลเมตาของพาร์ติชันที่ได้รับผลกระทบและทำการซ่อมแซมแบบบังคับบนอิมเมจแทนพาร์ติชันเอง ประโยชน์ของการนี้คือความสามารถในการดูความเสียหายที่มาพร้อมกับการซ่อมแซมแบบบังคับก่อนที่จะดำเนินการบนพาร์ติชัน
ในการทำเช่นนี้คุณจะต้องมี USB ที่มีขนาดเหมาะสมหรือฮาร์ดไดรฟ์ภายนอก เริ่มต้นด้วยการติดตั้งไดรฟ์ USB - USB ของฉันอยู่ที่/dev/sdb1
คุณอาจตั้งชื่อของคุณแตกต่างกัน
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
เมื่อเมานต์แล้วให้รันxfs_metadump
เพื่อสร้างสำเนาของข้อมูลเมตาพาร์ติชันไปยัง USB - อีกครั้งพาร์ติชันที่ได้รับผลกระทบของคุณอาจแตกต่างกัน ในกรณีนี้ฉันมีพาร์ทิชันรูทที่เสียหายอยู่ที่/dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
ถัดไปคุณจะต้องกู้คืนข้อมูลเมตาในรูปภาพเพื่อให้เราสามารถทำการซ่อมแซมและวัดความเสียหายได้
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
ฉันพบว่าในโหมดช่วยเหลือxfs_mdrestore
ไม่พร้อมใช้งานและคุณจะต้องอยู่ในโหมดช่วยเหลือของซีดี CentOS แบบสด
ในที่สุดเราสามารถทำการซ่อมแซมกับภาพ:
xfs_repair -L /mnt/usb/centos-root.img
หลังจากการซ่อมแซมเสร็จสิ้นและคุณประเมินผลลัพธ์และความเสียหายที่อาจเกิดขึ้นคุณสามารถกำหนดได้ว่าคุณต้องการซ่อมแซมกับพาร์ติชันหรือไม่
เมื่อต้องการเรียกใช้การซ่อมแซมกับพาร์ติชันเพียงเรียกใช้:
xfs_repair -L /dev/mapper/centos-root
อย่าลืมตรวจสอบพาร์ติชั่นอื่น ๆ เพื่อดูว่ามีการทุจริตหรือไม่ หลังจากการซ่อมแซมรีบูตระบบและคุณควรจะสามารถบูตได้สำเร็จ
จำไว้ว่า-L
ควรใช้ธงเป็นทางเลือกสุดท้ายที่ไม่มีตัวเลือกอื่น ๆ ที่เป็นไปได้ในการซ่อมแซม
ฉันพบว่าบทความออนไลน์เหล่านี้ช่วย: