Восстановить диск из однопользовательского режима (сбой fsck)

Ранее сегодня мой iMac 2009 года выпускал ошибки ввода-вывода при попытке скопировать файлы. Поэтому я запустил дисковую утилиту, проверил диск, чтобы убедиться, что что-то не так. Это было. Но поскольку это мой загрузочный диск, я не мог его восстановить, поэтому я попробовал безопасный режим. Безопасный режим работал с самого первого раза, но когда я перезагрузился, он показывает, что индикатор выполнения заполняется, прежде чем остановиться. Каждый раз, когда я включаю его сейчас, один и тот же индикатор выполнения, а затем происходит сбой. Загрузка в подробном режиме показывает, что 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 вы используете?
Извините, надо было сказать. Он работает под управлением Snow Leopard.
Если у вас все еще есть установочный DVD, вы можете загрузиться с него и запустить Repair Disk.
Никогда не было установочного DVD, он был предустановлен. Я подумывал о том, чтобы попытаться сжечь его на этом старом ноутбуке, который я откопал. Я также рассматривал DiskWarrior, он, вероятно, сможет это исправить?
По крайней мере, так утверждается на их веб-сайте, но у меня нет никакого практического опыта.
Хорошо, кажется, мне удалось случайно загрузить его после ручного запуска нескольких служб и выхода из однопользовательского режима. Что достаточно хорошо для этого дня. Думаю завтра попробовать diskwarrior и/или techtool pro, посмотреть, о каких проблемах они сообщают. Спасибо за помощь
И под «запуском» я подразумеваю: 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.
Ошибка ввода-вывода выглядит как неисправный жесткий диск :(
@Alec - Даже предустановленный, раньше в коробке был DVD.
@mouviciel Ты прав, я просмотрел свои коробки с яблоками и нашел его.

Ответы (5)

Около трех лет назад я столкнулся с той же проблемой, что и у вас. Проблема связана с самим жестким диском, а не с программным обеспечением. Отнесите его в ближайший/лучший ремонтный магазин Apple и попросите заменить жесткий диск. Затем вы можете восстановить всю свою информацию из резервной копии. Вы делаете резервную копию своего компьютера, не так ли?

(Примечание: если вы недавно забыли сделать резервную копию своего компьютера или по какой-либо иной причине не можете получить доступ к своим старым файлам, ремонтная мастерская, скорее всего, сможет восстановить большую часть, если не все, ваши данные. Однако, если жесткий диск действительно сильно поврежден, лучше всего отправить его в DriveSavers для чистой разборки и восстановления данных.Однако, если вы выберете этот вариант, будьте готовы потратить несколько сотен долларов.)

iFixit предлагает процедуры замены жесткого диска своими руками. Но вам нужен установочный DVD или USB-накопитель, который вы можете одолжить у друга.
Вы правы, это был неисправный жесткий диск, а не просто хитрые записи в файловой системе. У меня есть резервные копии, особенно Time Machine, но в итоге я просто использовал DiskWarrior для создания «предварительного просмотра» жесткого диска, клонирования его на внешний диск и загрузки с внешнего диска. Это временно, пока у меня не появится возможность заменить внутренний жесткий диск, но на данный момент все работает гладко.

Вы можете попробовать принудительно fsck_hfsперестроить каталог, запустив

fsck_hfs -Rc -d /dev/disk0s2

или (если вы не хотите отвечать на подсказки)

fsck_hfs -y -Rc -d /dev/disk0s2

Конечно, это исправит только логические повреждения и продолжит сбой, если поврежден сам диск.

На самом деле я пробовал это с -r (-Rc, похоже, не работает). Он всегда выдавал ошибку «недопустимая структура узла» и «недопустимая длина ключа» только в 75% случаев.
Это не сулит ничего хорошего :-(
Вы спасли мой день!
Выполнение этой команды дважды исправило мой диск, когда Дисковая утилита не смогла. Хотя Дисковая утилита по-прежнему сообщает об ошибках в файловой системе, по крайней мере, том, смонтированный после перезагрузки. Спасибо!

Я нашел эту страницу через Google и бросаю это здесь. Столкнувшись с той же «недопустимой структурой узла» и отказом загружаться, я смог обойти серый экран и загрузиться на свой рабочий стол, выполнив следующие действия:

  1. Загрузитесь в однопользовательском режиме (cmd + s при запуске)

  2. Смонтируйте неисправный жесткий диск

    /sbin/mount -uw /

  3. Выйдите из однопользовательского режима, набрав «выход» в командной строке.

  4. (Не уверен, что этот шаг необходим.) Нажмите кнопку включения/выключения один раз.

Выполнение вышеописанного загрузило мой Macbook (под управлением Snow Leopard) на рабочий стол, обойдя неудачную проверку fsck и позволив мне запустить актуальную резервную копию машины времени. YMMV, но я надеюсь, что это кому-то поможет.

Это в сочетании с силой fsck_hfs сработало для меня.
Система может загрузиться на рабочий стол с приведенными выше инструкциями и выглядеть нормально, но раздел, вероятно, все еще будет поврежден и не может быть восстановлен. После предложенной резервной копии машины времени выполните восстановление из этой резервной копии машины времени в режиме восстановления.
Вы спасатель жизни

Насколько я могу судить:

fsck_hfs -Rc -d /dev/disk0s2

…недопустимая команда — Rдолжно быть r. Так:

fsck_hfs -rc -d /dev/disk0s2

вместо.

На странице руководства для fsck_hfs(по крайней мере, на 10.9) говорится, что -rэто синоним -Rc.
это должен быть только комментарий к другому ответу
этот ответ обязательно должен быть удален и записан в качестве комментария к оригинальному парню, который предложил -Rc.

Просто чтобы убрать этот беспорядок:

-Rc -fd 

Выдает ошибку "недопустимая опция --R", где использование должно быть:

b = размер физического блока
B path = файл, содержащий номера физических блоков для сопоставления с путями
c size = размер кэша
E = выход при серьезной ошибке
d = вывод отладочной информации
f = force fsck
l = lkive fsck
m arg = используемый режим octakl
n = предположим a нет ответа v p = просто исправляет обычные несоответствия
q = быстрая проверка
r = перестраивает каталог btree
u = использование
y = предполагает положительный ответ

С использованием :

/sbin/fsck -fy /dev/disk1s2

просто сделал это для меня сейчас!

Надеюсь, это поможет и другим!

ЛАО