ซ่อมแซมดิสก์จากโหมดผู้ใช้คนเดียว (fsck ล้มเหลว)


21

ก่อนหน้านี้วันนี้ 2009 iMac ของฉันปล่อยข้อผิดพลาด I / O พยายามคัดลอกไฟล์ ดังนั้นฉันจึงรันยูทิลิตีดิสก์ตรวจสอบดิสก์เพื่อดูว่ามีอะไรผิดปกติหรือไม่ มันเป็น แต่เนื่องจากเป็นดิสก์เริ่มต้นของฉันฉันจึงไม่สามารถซ่อมแซมได้ดังนั้นฉันจึงลองใช้เซฟโหมด เซฟโหมดทำงานครั้งแรก แต่เมื่อฉันรีบูทมันจะแสดงแถบความคืบหน้าให้เต็มก่อนจะหยุด ทุกครั้งที่ฉันเปิดใช้งานแถบความคืบหน้าเดียวกันก็จะเกิดข้อผิดพลาด การบูตในโหมด verbose แสดงให้เห็นว่า fsck กำลังล้มเหลวด้วยสัญญาณ 8

ใช้โหมดผู้ใช้คนเดียวเท่าที่ฉันรู้วิธีเดียวที่ฉันสามารถเข้าถึงระบบใด ๆ ฉันได้ใช้ fsck_hfs อย่างไรก็ตามมันล้มเหลวเสมอ ด้านล่างเป็นผลลัพธ์จาก fsck_hfs -d / dev / disk0s2

** /dev/rdisk0s2
        Using cacheBlockSize=32K cacheTotalBlock=65536 cacheSize=2097152K.
** Root file system
   Executing fsck_hfs (version diskdev_cmds-491.6~3).
** Verifying volume when it is mounted with write access.
** Checking Journaled HFT Plus volume.
** Checking extents overflow file.
** Checking catalog file.
   Missing thread record (id = 9931104)
   Missing thread record (id = 16434146)
   Missing thread record (id = 19370458)
disk0s2: I/O error
hfs_swap_BTNode: offsets 10 and 11 out of order (0x0000, 0x0000)
   Invalid node structure
(4, 115897)
** The volume Macintosh HD could not be verified completely.
        volume check failed with error 7
        volume type is pure HFS+
        primary MDB is at block 0 0x00
        alternate MDB is at block 0 0x00
        primary VHB is at block 2 0x02
        alternate VHB is at block 1952491198 0x74622d5e
        sector size = 512 0x200
        VolumeObject flags = 0x07
        total sectors for volume = 1952591200 0x74622d60
        total sectors for embedded volume = 0 0x00

ฉันต้องสามารถบู๊ตเพื่อใช้เป็นจอมอนิเตอร์ภายนอกได้อย่างแน่นอน


คุณใช้ OS X เวอร์ชั่นใด
nohillside

ขออภัยควรจะกล่าวว่า มันใช้งาน Snow Leopard แล้ว
Max

1
หากคุณยังมีแผ่นดีวีดีติดตั้งอยู่คุณสามารถบูตจากแผ่นนั้นและเรียกใช้ Repair Disk
nohillside

ไม่เคยมี DVD ติดตั้งมาติดตั้งไว้ล่วงหน้า ฉันกำลังพิจารณาว่าจะพยายามเผาไหม้แล็ปท็อปเครื่องเก่าที่ฉันขุดออกไป ฉันเคยพิจารณา DiskWarrior แล้วมีแนวโน้มว่าจะสามารถแก้ไขได้หรือไม่
Max

1
และโดย "launchd'ing" ฉันหมายถึง: launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist launchctl load /System/Library/LaunchDaemon/com.apple.DirectoryServices.plist จากนั้นผมก็ไม่บางสิ่งอื่น ๆ ไม่ทราบว่ามันเป็นสิ่งที่จำเป็นแล้วและเมื่อที่ไม่ได้ทำงานshutdown -h now exit
Max

คำตอบ:


4

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

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


iFixitมีขั้นตอนการ DIY สำหรับการเปลี่ยนฮาร์ดไดรฟ์ แต่คุณต้องติดตั้ง DVD หรือ USB stick เพื่อให้คุณยืมจากเพื่อนได้
mouviciel

คุณพูดถูกมันเป็นฮาร์ดไดรฟ์ที่ชำรุดซึ่งแตกต่างจากรายการหลบในระบบไฟล์ ฉันมีการสำรองข้อมูลโดยเฉพาะ Time Machine แต่ฉันลงเอยด้วยการใช้ DiskWarrior เพื่อสร้าง "ตัวอย่าง" ของฮาร์ดไดรฟ์โคลนไปยังไดรฟ์ภายนอกและบูตจากไดรฟ์ภายนอก มันชั่วคราวจนกว่าฉันจะได้รับโอกาสแทนที่ฮาร์ดไดรฟ์ภายใน แต่ทุกอย่างทำงานได้อย่างราบรื่นในขณะนี้
Max

14

คุณสามารถลองบังคับfsck_hfsให้สร้างแคตาล็อกใหม่ได้โดยการเรียกใช้

fsck_hfs -Rc -d /dev/disk0s2

หรือ (ถ้าคุณต้องการหลีกเลี่ยงการตอบคำถาม)

fsck_hfs -y -Rc -d /dev/disk0s2

หลักสูตรนี้จะแก้ไขความเสียหายเชิงตรรกะเท่านั้นและทำให้ล้มเหลวหากดิสก์ตัวเองเสียหาย


1
ฉันลองใช้ด้วย -r (-Rc ดูเหมือนจะไม่ทำงาน) มันให้ข้อผิดพลาด "โครงสร้างโหนดที่ไม่ถูกต้อง" เสมอและ "ความยาวคีย์ไม่ถูกต้อง" เพียง 75% ของเวลา
Max

สิ่งนี้ไม่เป็นลางดี :-(
nohillside

1
คุณบันทึกวันของฉัน!
カオナシ

การเรียกใช้คำสั่งนี้แก้ไขดิสก์ของฉันสองครั้งเมื่อ Disk Utility ไม่สามารถทำได้ แม้ว่า Disk Utility ยังคงรายงานข้อผิดพลาดในระบบไฟล์ แต่อย่างน้อยโวลุ่มที่ถูกเมาท์เมื่อรีบูตเครื่อง ขอบคุณ!
ziggurism

8

ฉันพบหน้านี้ผ่านทาง Google และกำลังจะวางที่นี่ เมื่อประสบกับ "โครงสร้างโหนดที่ไม่ถูกต้อง" เดียวกันและปฏิเสธที่จะบูตฉันสามารถผ่านหน้าจอสีเทาและบู๊ตไปยังเดสก์ท็อปของฉันได้โดยใช้ขั้นตอนต่อไปนี้:

  1. บูตไปที่โหมดผู้ใช้คนเดียว (cmd + s เมื่อเริ่มต้น)

  2. เมานต์ hdd ที่ล้มเหลว

    /sbin/mount -uw /

  3. ออกจากโหมดผู้ใช้คนเดียวโดยพิมพ์ "exit" ที่พรอมต์

  4. (ไม่แน่ใจว่าจำเป็นต้องทำตามขั้นตอนนี้หรือไม่) กดปุ่มเปิด / ปิดหนึ่งครั้ง

การทำข้างต้นบูตเครื่อง Macbook ของฉัน (เรียกใช้ Snow Leopard) ไปยังเดสก์ท็อปโดยไม่ผ่านการตรวจสอบ fsck ที่ล้มเหลวและทำให้ฉันสามารถสำรองข้อมูลเครื่องตามเวลาล่าสุดได้ YMMV แต่ฉันหวังว่านี่จะช่วยให้ใครบางคน


1
รวมกับแรง fsck_hfs ที่ทำงานให้ฉัน
rfabbri

1
ระบบอาจบู๊ตไปยังเดสก์ท็อปโดยมีคำแนะนำข้างต้นและดูเป็นปกติ แต่พาร์ติชั่นอาจยังคงเสียหายและไม่สามารถซ่อมแซมได้ หลังจากการสำรองข้อมูลเครื่องตามเวลาที่แนะนำให้เรียกคืนจากการสำรองข้อมูลเครื่องเวลานี้ในโหมดการกู้คืน
rfabbri

คุณเป็นผู้ช่วยชีวิต
spacetyper

3

เท่าที่ฉันสามารถบอกได้:

fsck_hfs -Rc -d /dev/disk0s2

... ไม่ได้เป็นคำสั่งที่ถูกต้อง - The ควรจะเป็นR rดังนั้น:

fsck_hfs -rc -d /dev/disk0s2

แทน.


5
หน้าชายfsck_hfs(10.9 ในอย่างน้อย) กล่าวว่าตรงกันกับ-r -Rc
mhucka

3
นี่ควรเป็นความเห็นต่อคำตอบอื่น ๆ เท่านั้น
rfabbri

1
-Rcคำตอบนี้แน่นอนควรถูกลบและเขียนในเป็นความคิดเห็นลงในผู้ชายคนเดิมที่บ่งบอกว่า
esaruoho
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.