从单用户模式修复磁盘(fsck失败)


21

今天早些时候,我的2009 iMac尝试复制文件时发出I / O错误。因此,我运行了磁盘实用程序,请验证磁盘以查看是否有任何问题。它是。但是因为它是我的启动盘,所以我无法修复它,所以我尝试了安全模式。安全模式是第一次使用,但是当我重新启动时,它会显示进度条填满,然后再暂停。每次我现在打开它时,相同的进度条就会崩溃。在详细模式下启动表明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

对不起,应该说。它正在运行雪豹。
2012年

1
如果您仍然有安装DVD,则可以从中启动并运行修复盘。
nohillside

从来没有安装DVD,它是预安装的。我一直在考虑尝试用我挖出的这台旧笔记本电脑刻录一台。我也一直在考虑DiskWarrior,它可能能够修复它吗?
2012年

1
通过“启动”,我的意思是: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
2012年

Answers:


4

大约三年前,我遇到了与您完全相同的问题。问题出在硬盘本身,与软件无关。将其送到最近/最好的Apple维修店,并让他们更换硬盘。然后,您可以从备份中还原所有信息。您确实备份了计算机,不是吗?

(请注意:如果您忘记了最近备份计算机或由于其他原因而无法访问您的旧文件,那么维修店很可能能够恢复大部分(即使不是全部)数据。但是,如果硬盘损坏严重,最好将其发送到DriveSavers,以进行无尘室拆卸和数据恢复。但是,如果选择该选项,则要准备花费几百美元。)


iFixit具有DIY程序来更换硬盘。但是您需要安装DVD或USB记忆棒,可以从朋友那里借来。
mouviciel 2012年

没错,这是硬盘故障,而不是文件系统中的呆滞条目。我确实有备份,特别是Time Machine,但是我最终只是使用DiskWarrior创建硬盘的“预览”,将其克隆到外部驱动器,然后从外部驱动器启动。在我有机会更换内部硬盘驱动器之前,这是暂时的,但目前所有工作均进展顺利。
2012年

14

您可以尝试fsck_hfs通过运行来强制重建目录

fsck_hfs -Rc -d /dev/disk0s2

或(如果您想避免必须回答提示)

fsck_hfs -y -Rc -d /dev/disk0s2

当然,这只会解决逻辑上的损坏,并且如果磁盘本身损坏也将继续失败。


1
我实际上用-r尝试过(-Rc似乎不起作用)。它始终给出错误“无效的节点结构”,并且仅75%的时间给出“无效的密钥长度”。
2012年

这不是好兆头:-(
nohillside

1
你救了我的一天!
カオナシ

在“磁盘工具”无法运行时,两次运行此命令修复了我的磁盘。尽管“磁盘工具”仍报告文件系统错误,但至少在重新引导时挂载了该卷。谢谢!
ziggurism

8

我通过Google找到了此页面,并将其放在这里。遭受相同的“无效节点结构”并拒绝启动,我能够通过以下步骤跳过灰屏并启动到我的桌面:

  1. 引导到单用户模式(启动时为cmd + s)

  2. 挂载故障硬盘

    /sbin/mount -uw /

  3. 通过在提示符下键入“ exit”退出单用户模式

  4. (不确定是否需要执行此步骤。)按下开/关按钮一次。

执行上述操作将Macbook(运行Snow Leopard)引导到了桌面,绕过了失败的fsck检查,并允许我运行最新的时间机器备份。YMMV,但我希望这对某人有帮助。


1
加上fsck_hfs的力量对我
有用

1
系统可能会按照上述说明引导至桌面并看上去正常,但该分区可能仍已损坏且无法修复。建议的时间机器备份后,以恢复模式从该时间机器备份还原。
rfabbri

您是
救生员

3

据我所知:

fsck_hfs -Rc -d /dev/disk0s2

…不是有效的命令- R应该是r。所以:

fsck_hfs -rc -d /dev/disk0s2

代替。


5
的手册页fsck_hfs(至少在10.9上)说-r是的同义词-Rc
mhucka 2014年

3
这仅是对其他答案的评论
rfabbri

1
这个答案绝对应该被删除,并写进最初建议的人的评论中-Rc
esaruoho
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.