กู้คืนจากระบบไฟล์ที่เสียหายเมื่อ fsck ไม่ช่วย


12

มีบางอย่างผิดปกติกับระบบไฟล์ของฉัน Ubuntu ตั้งค่าเป็นแบบอ่านอย่างเดียวและตอนนี้ภายใต้ Ubuntu Live Disc fsck ไม่สามารถแก้ไขได้

ฉันกำลังใช้งาน 13.04 และมันจะไม่บู๊ต - เมื่อเริ่มต้นจะแสดงเฉพาะพรอมต์การกู้ภัยด้วง

มันเป็นการตั้งค่าแบบตรงไปตรงมาเพียงฮาร์ดไดรฟ์หนึ่งตัวใน / dev / sda1 แต่จะไม่ติดตั้งเลยแม้แต่น้อย

โปรแกรมติดตั้งสามารถเห็นพาร์ติชันว่าเป็น ext4 และเป็นพาร์ติชันสำหรับบูต

อย่างไรก็ตามดูเหมือนว่าฉันไม่สามารถช่วยเหลือระบบไฟล์ด้วยการติดตั้ง Ubuntu กับดิสก์สดของ Ubuntu เพราะไม่ได้ระบุว่ากำลังจะเขียนทับล็อตทั้งหมดดังนั้นฉันจึงไม่ต้องการเสี่ยง

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

ประเด็นสำคัญของเรื่องนี้คือ fsck บอกว่าจะแก้ไขทุกอย่าง แต่จริง ๆ แล้วไม่ได้ดังนั้นในครั้งต่อไปที่ฉันเรียกใช้ฉันได้รับข้อความแสดงข้อผิดพลาดและการแก้ไขเดียวกัน

นี่คือผลลัพธ์:

ubuntu@ubuntu:~$ sudo fsck.ext4 -vy /dev/sda1
e2fsck 1.42.8 (20-Jun-2013)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
Block bitmap for group 0 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 0 is not in group.  (block 2440124416)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

One or more block group descriptor checksums are invalid.  Fix? yes

Group descriptor 0 checksum is 0x761e, should be 0xcf25.  FIXED.
Block bitmap for group 4352 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 4352 is not in group.  (block 3731970048)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

Group descriptor 4352 checksum is 0x5eda, should be 0x3da3.  FIXED.
Inode bitmap for group 4353 is not in group.  (block 2785042439)
Relocate? yes

Group descriptor 4353 checksum is 0xd8b1, should be 0xedfb.  FIXED.
Inode bitmap for group 4354 is not in group.  (block 838860807)
Relocate? yes

Group descriptor 4354 checksum is 0x1718, should be 0x0438.  FIXED.
Inode bitmap for group 4355 is not in group.  (block 771751943)
Relocate? yes

Group descriptor 4355 checksum is 0x0bc8, should be 0x4170.  FIXED.
fsck.ext4: e2fsck_read_bitmaps: illegal bitmap block(s) for /dev/sda1

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sda1: ********** WARNING: Filesystem still has errors **********

ubuntu@ubuntu:~$ 

นั่นคือเหมือนกับก่อนหน้านี้ 10 เท่าและฉันแน่ใจว่าฉันลองอีกสิบครั้งถัดไป - เช็คซัมและรหัสบล็อกเดียวกัน ความช่วยเหลือใด ๆ ที่ได้รับยินดี!

ขอบคุณ

แก้ไข: โดยทั่วไปฉันเดาคำถามคือ: ระบบไฟล์นี้สามารถซ่อมแซมได้ในแหล่งกำเนิดตอนนี้หรือไม่ข้อมูลจาก fsck หมายความว่าดิสก์ของฉันตายหรือไม่ และถ้ายังไม่ตายฉันจะทำอะไรได้มากกว่าและดีกว่าที่ฉันทำกับ fsck

แก้ไข: ใช้ tune2fs เพื่อระบุ superblock และรัน e2fsck -b 01234 / dev / sda1 เป็นทางเลือกแทน fsck ... ไม่มีผลกระทบ

แก้ไข: ลอง testdisk ซึ่งบอกฉันพาร์ทิชันไม่ดี ... ตกลงทดสอบดูเหมือนจะไม่เสนออะไรมาก



ฉันยังไม่ได้ครอบคลุมเนื้อหาในลิงค์นั้นด้วย fsck.ext4 -vy / dev / sda1 หรือไม่ ข้อแตกต่างคือแฟล็ก '-p' และบอกให้ฉันทำเอง - นั่นคือสิ่งที่ฉันตัด & วางด้านบน
อดัม

คำตอบ:


15

ในที่สุดก็พบลิงค์นี้ที่ระบบไฟล์ประเภท ext4 ได้รับการทุบตี แต่หลังจากให้คำแนะนำทั้งหมดที่ฉันได้ลองแล้วมันก็บอกว่าทำสิ่งนี้:

sudo mkfs.ext4 -S /dev/sda1

สิ่งนี้จะแทนที่ superblock ทั้งหมดของคุณด้วยข้อมูลที่ถูกต้องสมมติว่า blockize นั้นเดาได้อย่างถูกต้อง (ค่าเริ่มต้นนั้นถูกต้องสำหรับระบบส่วนใหญ่) หากคุณต้องการใช้สิ่งนี้โปรดอ่านman pageใน -S ก่อน อย่าโทษฉัน!

แต่ถ้าคุณรู้สึกว่าโชคดี

มันแก้ไขพาร์ติชันเพื่อให้ฉันสามารถอ่านอีกครั้ง อย่างไรก็ตามฉันต้องทำงานfsckเพื่อแก้ไขข้อผิดพลาดที่ยังอยู่ที่นั่นและทิ้งเนื้อหาของ / etc และสิ่งอื่น ๆ มากมายใน / หายไป + พบ + ดังนั้นฉันจะต้องติดตั้งและเรียกคืนจาก สำรองเพื่อให้มันไปอีกครั้ง


ขอบคุณที่น่าสนใจ ฉันมีปัญหากับพาร์ติชันรูท ext2 ซึ่งฉันเลิกการแก้ไข ฉันทดสอบคำสั่งแล้ว "ทำงาน" (ฉันระบุขนาดบล็อก) แต่พาร์ติชันก็ไม่สามารถบูตได้หลังจาก fsck ต้องแก้ไขเซกเตอร์จำนวนมาก ตอนนี้ผมสงสัยว่าสิ่งที่จะเกิดขึ้นกับunix.stackexchange.com/a/193778/59808
Nemo

2

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

ที่สอง: ดูที่นี่: ฉันจะแก้ไขการติดตั้งไดรฟ์ข้อมูลหลังจากเกิดความผิดพลาดได้อย่างไร

ประการที่สาม: ตรวจสอบฮาร์ดไดรฟ์ของคุณโดยใช้Smartmontoolsและในที่สุด badblocks: sudo badblocks -vsn /dev/sda(อาจใช้เวลาสักครู่อย่าทำสิ่งนี้ถ้าคุณมี ssd)


ขอบคุณสำหรับการแก้ไข! มันตลกที่ได้ดูเห็ดคำตอบอย่างนั้น คำตอบที่คุณอ้างถึงนั้นเกี่ยวกับตัวเลขเวทย์มนตร์และนั่นไม่ใช่สิ่งที่ฉันเห็น - อันที่จริงแล้วนั่นเป็นหนึ่งในหลายคำตอบใน Askubuntu ที่ฉันได้ดูไปแล้ว ฉันจะลองใช้เส้นทางการกู้คืนข้อมูลด้วยในขณะที่ฉันไม่มีโซลูชันอื่น ๆ เรียกใช้การทดสอบสั้น ๆ ของ smartmontools และไม่พบข้อผิดพลาดใด ๆ
อดัม

1
ขออภัยสำหรับการแก้ไข เนื่องจากระบบไฟล์ที่ทันสมัยเช่น ext4 นั้นยากที่จะทำลายฉันมักจะคิดถึงข้อผิดพลาดของฮาร์ดแวร์ก่อนเสมอ เมื่อสมาร์ทบอกว่าดิสก์ก็โอเคมันไม่จำเป็นเลย ทำไม fs ของคุณถึงเสีย? หากฉันที่คุณและ fsck ไม่สามารถซ่อมแซม fs ได้ฉันจะทำการติดตั้งใหม่ทั้งหมด อาจจะง่ายกว่าแล้วลองแก้ไข fs ด้วยตนเอง
innerand

ตกลงไม่ต้องกังวลขอบคุณเพียงตอบรับ! ฉันไม่ได้เหน็บแนม ฉันติดตามคุณอย่างสมบูรณ์ในสิ่งที่คุณพูด ฉันแค่ต้องทำให้ระบบของฉันกลับมาทำงานเป็นปกติ อย่างน้อยที่สุดมันจะใช้เวลา 3 วันในการรับส่งฮาร์ดไดรฟ์ใหม่ดังนั้นฉันต้องการหาวิธีแก้ปัญหา 'ไม่มีฮาร์ดแวร์ใหม่'
Adam

ตามลิงค์ในคำตอบที่ฉันให้ไว้ด้านล่าง ext4 ดูเหมือนจะไม่ยาก แต่อะไรก็ตาม
Adam

โฮสต์เสมือนพร้อม 9 Windows และ 1 Ubuntu โฮสต์ลงไปรับทั้งหมด 10 ด้วย เมื่อมันกลับมา Windows ทั้งหมดบูตขึ้น เครื่อง Linux แสดง "UNEXPECTED INCONSISTENCY" และคู่มือ fsck ที่จำเป็น ฉันไม่เคยเห็นการแก้ไข iNode มากมาย [ตั้งแต่ Solaris ย้อนกลับไปในยุค 90] นี่ไม่ใช่ฮาร์ดแวร์มันเป็นไฟฟ้าดับอย่างหมดจด ฉันไม่เคยคิดเลยว่าจะได้เห็นวันที่ NTFS เป็นเจ้าของ EXT4
Brain2000
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.