Случайно удалил системный фреймворк, macOS прикрутил!

11

Я случайно удалил AddressBook.framework. Теперь, когда я перезагружаю свой iMac, система не может загрузить этот фреймворк, поэтому ничего не работает.

У меня есть загрузочный диск macOS Sierra, но переход в режим восстановления и установка macOS Sierra невозможны, поскольку понижение версии High Sierra запрещено.

Форматирование моего диска приведет к потере всех моих файлов, потому что у меня нет резервной копии Time Machine.

Как я могу восстановить AddressBook.framework, чтобы моя система снова заработала.

введите описание изображения здесь

Саянский
источник
6
Загрузитесь в режим восстановления (cmd-R во время загрузки) и переустановите High Sierra!
кланомат
8
Вопрос понятен. Мы теперь наказываем их, как какой-то ведущий игрового шоу "пожалуйста, сформулируйте это в форме вопроса"?
Джон О,
2
@klanomath Я не могу, так как мой дневной лимит FUP закончен, который составляет 1 ГБ
Саян
4
Режим восстановления должен работать без доступа к Интернету
nohillside
2
Если у вас нет резервной копии Time Machine, но вы хотите ее создать в следующий раз, я настоятельно рекомендую настроить беспроводную, например, Time Capsule.
Турбьёрн Равн Андерсен

Ответы:

13

Обычно вам придется переустанавливать High Sierra в режиме восстановления. Если у вас нет доступа к другому Mac под управлением High Sierra локально и с ограниченной квотой загрузки, сделайте следующее:

  • Попросите кого-нибудь загрузить файл AddressBook.framework High Sierra где-нибудь в формате zip (например, хостинг для обмена файлами) и отправить ссылку на скачивание.

  • Загрузитесь в режим восстановления High Sierra.

  • Откройте Терминал и отключите SIP (который все равно должен быть отключен, иначе вы не смогли бы удалить фреймворк).

  • Выйдите из терминала и откройте Safari. Введите ссылку для скачивания и сохраните zip-файл в / Volumes / <main_volume_name> / System / Library / Frameworks /

    В качестве альтернативы (если ссылка не позволяет выбрать местоположение загрузки, которое может происходить на некоторых хостах общего доступа к файлам), откройте «Настройки» в Safari и выберите «Общие»> «Место загрузки файла»> «Запросить каждую загрузку»:

    введите описание изображения здесь

    Затем сохраните файл в / Volumes / <main_volume_name> / System / Library / Frameworks /:

    В приведенном ниже примере основной том называется System . Ваше имя основного тома может отличаться (например, Macintosh HD или macOS).

    введите описание изображения здесь

    введите описание изображения здесь

  • Откройте терминал и введите:

    cd /Volumes/<main_volume_name>/System/Library/Frameworks/
    

    В зависимости от настроек Safari zip-архив будет автоматически разархивирован после загрузки, и следующие два шага (unzip / rm) не нужны!

    /Volumes/<main_volume_name>/usr/bin/unzip -a AddressBook.framework.zip
    rm AddressBook.framework.zip
    
  • проверьте кодовую подпись:

    codesign -dv --verbose=4 AddressBook.framework
    

    если этот шаг не удался, удалите AddressBook.framework и получите правильный.

  • Проверьте ограниченный флаг:

    ls -laO AddressBook.framework
    

    который должен показать для. (точка:. здесь и есть AddressBook.framework «пакет / пакет» - конечно, дата будет другой):

    drwxr-xr-x    7 root  wheel restricted 224 Sep 25 21.59 .
    ...
    

    (Возможно, вам придется добавить ограниченный атрибут в AddressBook.framework позже, если он отсутствует)

  • (Включить SIP) и перезагрузиться.
klanomath
источник
1
Можете ли вы загрузить фреймворк как zip?
Саян,
1
И как сохранить файл в / Volumes / <main_volume_name> / System / Library / Frameworks / и что я должен вставить сюда: <main_volume_name>
Саян
1
macOS sierra по умолчанию задает имя для macOS, теперь вы, кажется, довольно активны, поэтому вы можете загрузить zip здесь dbr.ee
Sayan
1
Так что теперь, когда файл находится в своем первоначальном месте, я должен пропустить шаг 5?
Саян,
2
@GordonDavisson Не задавая вопросов, я сделал это, как только у меня снова заработал Mac!
Саян,
3

Хорошо, я дам еще один простой ответ: сначала загрузите раздел восстановления, удерживая CMD + R при запуске, затем после завершения загрузки щелкните утилиты на верхней панели, затем щелкните тип терминала csrutil disable, а затем перезагрузите компьютер Mac. CMD + S, пока вы не увидите простой текст, теперь выполните следующие действия:

• Сначала введите mount -uw / • Затем подключите другой pendrive большой емкости • Затем введите mkdir / usb • Затем введите mount -t [filesyatem of pendrive] / dev / disk2s1 / usb

• Теперь мы собираемся скопировать весь домашний каталог с вашего MacBook на pendrive. Совет: вы можете узнать размер вашего домашнего каталога с помощью ls -la / Users. • Затем введите rsync -p -P -o / Users --exclude. / Пользователи / Ваше имя пользователя / Библиотека / Пользователи / usb

Затем вы можете переустановить ОС снова, спросив друга, дав загрузочную ОС.


источник
1
Я также думал о таком шаге, но по-другому пытался восстановить домашний каталог с помощью Дисковой утилиты на внешнюю USB-флешку, но восстановление не было успешным, Дисковая утилита выдала мне такую ​​ошибку, что диск это не формат Apple ..... Я не помню термин!
Саян,
1
Вы пробовали мой способ, он не должен показывать никаких ошибок, эта команда проверена мной.
1
На самом деле принятый ответ работает, я получил ошибки, потому что пропустил несколько шагов, кстати, ваш шаг тоже прост!
Саян,