V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
risent
V2EX  ›  macOS

记一次 macOS 文件系统修复

  •  
  •   risent · 2017-08-02 13:34:00 +08:00 · 3022 次点击
    这是一个创建于 2431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天自己 2015 款的 MBP 内存满了,卡的没法用了,就给重启了,结果半天关机不了,就强制按电源关机了,然后就是开机输入账号密码后进入不了桌面,差不多几分钟后就自动关机。

    再开机的时候按住 Command+S 进入单用户模式,发现整个磁盘是处于只读模式,执行 fsck -fy,检测出了一堆的文件系统错误,但是在修复阶段出现 fsck 的 malloc 报错,fsck 直接崩溃了,死活无法修复文件系统。

    最后 Google 到在单用户模式下可以强制挂载分区 mount -uw /,然后执行 exit 就能登入桌面,但是文件系统依然是损坏状态。然后在图形桌面中使用 diskutil 进行再次修复磁盘分区,依然是会报错提示修复不成功。由于整个磁盘只剩 1G 多了,就把一些不常用的东西给删掉了,但是由于文件系统损坏,磁盘的空余空间大小没有变化。

    最后就重启再次进入单用户模式执行 fsck -fy,然后就提示修复成功了。重启后就可以进入桌面,不过提示有个别文件损坏了,其他一切正常。


    附件:

    fsck 报错截图

    fsck 报错截图

    6 条回复    2017-08-04 16:25:21 +08:00
    ysc3839
        1
    ysc3839  
       2017-08-02 15:08:47 +08:00 via Android
    其实直接进 Recovery 修复就好了。你这么做的话还有可能导致二次损坏。
    warcraft1236
        2
    warcraft1236  
       2017-08-02 16:39:27 +08:00
    是内存满了还是硬盘满了
    risent
        3
    risent  
    OP
       2017-08-02 19:02:55 +08:00
    @ysc3839 Recovery 里的磁盘修复不起作用,另外没有使用 Time Machine 备份。
    ShikiSuen
        4
    ShikiSuen  
       2017-08-02 21:00:24 +08:00   ❤️ 1
    我很好奇你说的内存满了是记忆体满了还是内部 SSD 存储满了。
    这种情况下不是应该拿出平时准备的系统救援记忆棒吗?(用 createinstallmedia 来制作。)
    ysc3839
        5
    ysc3839  
       2017-08-03 15:15:21 +08:00 via Android
    @risent 不会吧。我之前装黑苹果,有一次死机,强制重启后进不了系统,进 Recovery 修复就好了。
    risent
        6
    risent  
    OP
       2017-08-04 16:25:21 +08:00
    @warcraft1236 @ShikiSuen 是 内存满了,可能这里有点误导让大家以为是因果关系了。
    内存满导致很多程序卡死,这才导致我有重启系统的需求,由于重启是按了电源键属于非正常关机,才导致文件系统损坏。

    原来 mac 也有系统救援记忆棒这种东西呀,之前用 linux 的时候会手头放个 livecd 的 u 盘,出问题切进去 chroot 后就能干很多事,换 mac 后第一次遇到这种情况,学习啦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2767 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.