วิธีการตรวจสอบอย่างเต็มรูปแบบของโครงสร้างระบบไฟล์ ext4?


25

ฉันมีพาร์ติชั่น ext4 2TB พร้อมไฟล์ครึ่งล้าน
ฉันต้องการตรวจสอบว่าพาร์ติชันนี้มีข้อผิดพลาดหรือไม่
ฉันไม่ต้องการค้นหาบล็อกที่ไม่ดีควรตรวจสอบโครงสร้างเชิงตรรกะเท่านั้น

ฉันได้ถอนการติดตั้งพาร์ติชันและเรียกใช้fsck /dev/sda2แล้ว แต่ fsck ส่งคืนทันทีด้วยรหัสออก 0 โดยไม่ต้องตรวจสอบระบบไฟล์ทั้งหมด
ฉันคาดว่าการตรวจสอบพาร์ทิชันแบบเต็มอาจใช้เวลาหลายชั่วโมงกว่าจะเสร็จ
ฉันได้อ่านman fsckแต่ไม่พบตัวเลือกสำหรับ "การทดสอบอย่างละเอียด"

ฉันเกรงว่าพาร์ติชันของฉันอาจมีบางส่วนที่เขียนทับโดยข้อมูลขยะ
ก่อนหน้านี้ HDD ของฉันเชื่อมต่อกับระบบปฏิบัติการอื่นและพาร์ติชัน ext4 อาจได้รับอันตรายจากพฤติกรรมที่ไม่ถูกต้องของระบบปฏิบัติการนั้น
นั่นเป็นเหตุผลที่ฉันต้องการแน่ใจว่าโครงสร้างต้นไม้ทั้งหมดถูกต้องสมบูรณ์

กล่าวอีกนัยหนึ่งฉันต้องการที่จะทำการตรวจสอบคล้ายกับสิ่งที่ยูทิลิตี้chkdsk.exeทำบน Windows
ฉันควรใช้อะไรบน Debian เพื่อตรวจสอบระบบไฟล์ ext4 อย่างสมบูรณ์


2
@SatoKatsura - ขอบคุณ! ฉันแค่สงสัยว่าทำไมการe2fsck -fตรวจสอบจึงรวดเร็ว - ใช้เวลาเพียงไม่กี่วินาที? มันวิเศษมากเมื่อเทียบกับพฤติกรรมของ Windows (ใช้เวลาหลายชั่วโมง)
Egor Skriptunoff

คำตอบ:


27

ดังที่Satō Katsuraทำงานe2fsckในโหมด "บังคับ":

e2fsck -f /dev/sda2

สิ่งนี้จะบังคับให้ตรวจสอบแม้ว่าระบบคิดว่าระบบไฟล์นั้นสะอาด ตัวเลือก "verbose" ก็มีประโยชน์เช่นกัน:

e2fsck -vf /dev/sda2

เป็นหมายเหตุด้านข้างและไม่สามารถใช้ได้ในกรณีของคุณ แต่ถ้าคุณใช้ LVM สำหรับการจัดเก็บของคุณคุณสามารถใช้lvcheckเครื่องมือเล็ก ๆ ที่ประณีตเพื่อเรียกใช้การตรวจสอบระบบไฟล์ "ออฟไลน์" ในระบบไฟล์ที่ติดตั้ง (ใช้สแนปชอต ข้อมูลเมตาของระบบไฟล์หากการตรวจสอบไม่พบข้อผิดพลาดใด ๆ )


7

นอกจากนี้คุณสามารถเพิ่มการ-yตั้งค่าสถานะเพื่อหลีกเลี่ยงการตอบคำถาม

จากคู่มือ :

-y สมมติคำตอบของyesทุกคำถาม อนุญาตให้e2fsckใช้แบบไม่โต้ตอบ

ดังนั้นขยายคำตอบ (เนื่องจากฉันยังไม่สามารถแสดงความคิดเห็น) จาก@Sato - คุณสามารถเรียกใช้:

e2fsck -vfy /dev/sda2

6
ซึ่งอาจมีความเสี่ยงเนื่องจากคุณไม่ทราบล่วงหน้าว่าคุณอาจถูกถามอะไรและการบังคับให้คำตอบที่ใช่สำหรับทุกสิ่งในกรณีที่เลวร้ายที่สุดนำไปสู่การสูญเสียข้อมูลที่สามารถกู้คืนได้
อเล็กซ์

0

คุณยังสามารถตรวจสอบระบบไฟล์สดในโหมดอ่านอย่างเดียวด้วยสิ่งนี้:

e2fsck -vfn /dev/sda2

จากวิธีใช้ e2fsck: "อย่างไรก็ตามถึงแม้จะปลอดภัยแล้วก็ตามผลลัพธ์ที่พิมพ์โดย e2fsck จะไม่ถูกต้องหากระบบไฟล์ติดตั้งอยู่" ไม่แน่ใจว่าวัตถุประสงค์คืออะไรเช่นเช็ค ... : /
joaerl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.