Як я можу отримати системний файл після видалення його з мого Mac?


17

Я видалив системний файл зі свого Mac і мені потрібно його повернути.

Системні файли можуть включати:

  • приховані файли в корені / - особливо unix-файли в / private
  • / Системні файли
  • / Бібліотечні файли
  • / Прикладні файли, що постачаються з основною ОС

Системні файли - це не будь-яка програма, користувальницькі файли чи файли, які можна відновити за відомою послідовністю, такі як файли кеша, файли індексу Spotlight тощо.


Канонічне запитання та відповідь на цей коментар bmike ♦ .


1
/ приватний потребує окремої відповіді - дивіться одну для / private / var / folders - / private / tmp не потребує відновлення
user151019

Відповіді:


22

Якщо у вас недавній Mac, то він має розділ відновлення .

Увімкніть Mac і утримуйте Command+, Rпоки не з’явиться логотип Apple. Це призведе до завантаження вашого Mac, використовуючи розділ відновлення.

Після того, як ви перебуваєте в розділі відновлення, ви можете знову встановити операційну систему.

Ця технічна примітка Apple, OS X: Про відновлення OS X , містить більш детальну інформацію.

Ви можете перевстановити ОС і залишити свої файли недоторканими. Apple вилучила параметр стирання / встановлення, тому вам не доведеться турбуватися про те, що програма для відновлення видалить ваші файли. Тепер ви повинні явно запустити інструмент Disk Utility, щоб стерти або переформатувати / перерозподілити диск при завантаженні з ОС відновлення.


11

Якщо ви впевнені, що ваш Recovery HD виправлений відповідно до ОС вашої основної системи, ви можете зафіксувати файл і побачити, чи він працює, не потребуючи повного перевстановлення ОС.

Утримуйте -R під час запуску, поки ви не побачите вікно, подібне до цього:

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

Це ваші варіанти:

  1. Виберіть Утиліти> Термінал:

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

    Ваш диск X X буде встановлений /Volumes/<your disk name>. Наприклад, на моєму Mac він був встановлений у /Volumes/Mavericks:

    df
    Filesystem     1K-blocks      Used Available Use% Mounted on
    /dev/disk0s2   249219484 145891460 103072024  59% /Volumes/Mavericks
    

    Тепер скопіюйте /binна диск OS X:

    cp -a /bin /Volumes/<your disk name>
    

    Зауважте, що вміст /binбуде застарілим , оскільки диск відновлення не оновлюється рештою ОС, тому відновіть його /binз Time Machine після успішного запуску Mac та входу в систему.


2
всі відповіді повинні бути настільки ж детальними, як ця :) +1
Ruskes

Функція відновлення утиліти диска Диск просканує та виправить потенційні проблеми з файловою системою. Це ніяк не впливає на відновлення втрачених даних будь-якого типу. Ваша відповідь приголомшлива, але, на жаль, неправильна. Опитувачеві доведеться відновити ОС X (вони можуть використовувати відновлення Інтернету, як ви окреслили на початку вашої відповіді).

@cksum Дякую за вказівку на це, я подумав, що варто спробувати, тому перерахував це як останній із трьох варіантів. Щодо вашого твердження, що ОП потребує відновлення ОС X, я не думаю, що це буде необхідним. Перший варіант, який я надаю, повинен це зробити, я його протестував.
Жауме

4
Копіювання вмісту / bin не є ідеальним, оскільки воно не може переносити ACL та належні дозволи (Ремонт дозволів за допомогою Disk Utility може виправити деякі з них). Він також може не містити належних версій (оскільки деякі, можливо, були оновлені). Чи можете ви запевнити, що вони контролюються? Крім того, це може здатися кувалдою для льоту, але просто перевстановлення OS X, ймовірно, є найбільш ідеальним рішенням. Найменше це може призвести до виникнення будь-яких проблем.

@cksum Disk Utility виправить дозволи, але я погоджуюся з вашим іншим моментом, я встановив Recovery HD, перевірив включені версії com.apple.recovery.boot/BaseSystem.dmgі так, деякі бінарні файли застаріли bashсеред них. Я відредагував свою відповідь, щоб це відобразив, і видалив третій варіант після тестування, що Disk Utility насправді не відновлює файли, як ви сказали в попередньому коментарі.
Жауме

11

Якщо ви не заперечуєте або впевнені, що ваш Recovery HD виправлений відповідно до ОС вашої основної системи, ви можете зафіксувати файл і побачити, чи працює він, не потребуючи повного перевстановлення ОС і не потребуючи перезавантаження або підключення до Інтернету / збережений інсталятор.

Використовуйте розділ Recovery

Багато роздільних системних файлів також включено до розділу відновлення і їх можна скопіювати.

  1. Підключіть HD для відновлення

    diskutil mount Recovery\ HD
    
  2. Монтуйте BaseSystem.dmg

    hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
    
  3. Скопіюйте файл

    FILE="/usr/bin/codesign"
    sudo cp -p /Volumes/OS\ X\ Base\ System/${FILE} ${FILE}
    

Цей процес можна об'єднати в однорядкову команду, якщо вам доведеться запускати її часто ...

FILE="/usr/bin/codesign"; diskutil mount Recovery\ HD && hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg && sudo cp -p /Volumes/OS\ X\ Base\ System/${FILE} ${FILE}

Навіть якщо ви видалили cpBinary (що може статися), є /usr/bin/ditto, /usr/bin/tarі кілька інших команд , які можуть стояти протягом cp.

Перевстановіть OS X

Якщо у вас є можливість перевстановити OS X через носій для відновлення HD, відновлення Інтернету або ОС X X, після цього перевстановлення OS X "відновить" вашу установку та скопіює назад усі ваші відсутні / зламані системні файли назад у вашу систему.


Я рекомендую зробити ремонт дозволів за допомогою утиліти Disk Utility після копіювання файлу вручну та перезавантаження. Якщо виправлення працює, зараз буде чудовим часом для ще одного знімка резервного копіювання.

1 Не всі системні файли є на HD для відновлення, але багато є. Якщо команда копіювання не працює, перевірте, чи існує файл на HD для відновлення.


4
При копіюванні з ОС Recovery: обережно ! Як правило, версія Recovery OS не відповідає версії OS X. Наприклад: установка OS X 10.9, яка оновлюється до 10.9.2, буде обмежена відновленням ОС 10.9 (із вразливістю SSL тощо) .
Грем Перрін

2
@GrahamPerrin має кілька мудрих слів - я відредагував попередження, і більшість людей, яким зручно користуватися терміналом, можуть оцінити ризики копіювання файлів нижчого рівня з HD для відновлення, який може бути не зафіксований повністю. Все ж варто пам’ятати, що економія часу на перевстановлення може мати наслідки, якщо ви часто використовуєте цей трюк або для критичної частини системи - надійність або безпека.
bmike

Після того, щоб переконатися, що все є оновленням, я б зробив оновлення програмного забезпечення за допомогою комбінованого оновлення
user151019

У APFS BaseSystem.dmg розташований не в тому самому місці. Не впевнені, чи потрібне нам нове запитання чи редагування тут, щоб перейти до іншого шляху або хоча б коментаря, у яких версіях macOS працює цей дивовижний трюк.
bmike

6

Існує рішення, яке вимагає підключення до Інтернету.

Відновлення OS X

Моделі Mac випущені після Mac OS X 10.7 Lion ,, включають в себе можливість запуску безпосередньо з інтернет-версії системи OS X відновлення .

OS X автоматично використовує цю функцію, коли система відновлення на жорсткому диску недоступна (наприклад, коли на вашому жорсткому диску виникає проблема або коли ваш жорсткий диск замінено або видалено). Відновлення інтернету OS X дозволяє запускати Mac безпосередньо з серверів Apple. Запуск з цієї системи виконує швидкий тест вашої пам'яті та жорсткого диска, щоб перевірити наявність апаратних проблем.

Тому я пропоную вам підключити свій кабель Ethernet, оскільки Wi-Fi, ймовірно, не працює, і виберіть варіант для завантаження з Інтернету, якщо з'явиться список варіантів, і у вас є потрібна версія.

Відновлення програм iLife після відновлення Інтернету ОС X

Якщо на вашому комп’ютері входить ОС X Lion або пізнішої версії, а ви видалили жорсткий диск і встановили ОС X, ви можете завантажити iPhoto, iMovie та GarageBand з магазину додатків Mac.

  • Після встановлення запустіть (запустіть) з OS X.
  • Двічі клацніть піктограму App Store у доці.
  • Введіть свій ідентифікатор і пароль Apple.
  • Клацніть Покупки. Якщо ви раніше не приймали пакетні програми iLife у магазині додатків Mac, вам слід побачити, що ваші додатки iLife з'являться у розділі Прийняти на екрані.
  • Клацніть Прийняти. Вас знову можуть попросити свій Apple ID та пароль. Ваші програми iLife тепер переходять до розділу "Придбані". Ці програми є частиною програмного забезпечення, яке постачається разом із вашим комп'ютером. З вашого рахунку з них не стягуватиметься плата.

  • Натисніть кнопку Встановити, щоб завершити встановлення ваших програм.


Давайте знайдемо канонічне запитання щодо розміщення iLife перевстановити частину цього. Це не дуже відповідає випадку використання для видалення єдиного системного файлу або каталогу / bin ...
bmike

5

Офіційною відповіддю Apple було б перевстановити вашу систему, оскільки системні файли приєднання з Time Machine можуть бути ризикованими та складними.

  1. У системі може бути відсутній файл, необхідний для допомоги у процесі відновлення, а для невизначених / непередбачуваних результатів потрібен більше експерт у керма, ніж використання Time Machine для відновлення фотографії чи програми.
  2. Системні файли можна приховати, і вам потрібно знати, як переходити до цих папок за допомогою ярлика команди під час відновлення файлів із резервної копії Time Machine.
  3. Системні файли можуть мати спеціальні дозволи, тому вам, можливо, знадобиться виправити їх після відновлення.
  4. Можливо, вам доведеться перезавантажити після відновлення, і якщо ви відновите неправильно, система може не вдатися до завантаження знову.
  5. Відновлення зі старої резервної копії може скасувати виправлення або оновлення безпеки та ускладнити оновлення системи. Нещодавнє резервне копіювання може усунути цю потенційну проблему.

Тепер ризики стоять на столі, ось як діяти далі. Якщо ви використовуєте Time Machine, підключіться до резервного диска, а потім відкрийте вікно Finder, яке відкрито до місця останнього побачення відсутнього файлу. Можливо, вам знадобиться використовувати Command-Shift-G для переходу до системних папок - якщо так, просто будьте готові використовувати цей ярлик, коли ви входите в Time Machine, оскільки він має звичку показувати папку користувача під час її запуску.

Використовуйте меню Time Machine на панелі меню, виберіть Enter Time Machine . Поверніться до дати існування файлу, виберіть файл, а потім натисніть « Відновити» (нижня права кнопка).

Він скопіює файл або папку назад у вашу запущену систему. На цьому етапі зробіть резервну копію та подумайте про перезавантаження, щоб система могла помітити, що відсутні файли тепер відновлені.


3

Скопіюйте файл з іншої системи або з надійної машини 1 людини

Якщо у вас є друга машина, на якій встановлена ​​порівнянна збірка OS X, ви можете скопіювати файл з неї. Переконайтеся, що ви не внесли зміни у файл, який ви копіюєте, якщо хочете отримати нову копію. Це особливо важливо для копіювання файлів з чужої машини, оскільки зміни можуть не бути бажаними.

Не соромтеся попросити контрольну суму файлу в чаті (не забудьте надати версію OS X), щоб порівняти його, якщо ви хочете переконатися, що файл не був змінений випадково (або цілеспрямовано).

Не забудьте виконати ремонт дозволів після копіювання файлу, щоб переконатися, що дозволи були правильно встановлені у файлі.

1 Напевно, не найкраще довіряти випадковим незнайомцям в Інтернеті важливі системні файли.


3

Pacifist з OS X встановлюють носії

Якщо у вас є носій для встановлення OS X та Pacifist , ви можете переглядати встановлений носій та захопити файл.

Якщо у вас є Pacifist, але у вас немає носія для встановлення, він запропонує завантажити інсталятор.


1
Якщо у вас є носій для встановлення, чи не було б легше запустити інсталятор і дозволити йому все виправити? Я думаю, це залежить від того, наскільки пошкоджена система була пошкоджена та наскільки ви впевнені в тому, що лише ті файли, які, на вашу думку, відсутні, є неправильними.
bmike

@bmike Можливо, але для користувачів, які глибоко налаштували свою систему, боляче переробити все, що вона перезаписала (зрозуміло, вона не розуміє різниці між зламаним файлом та файлом, який було змінено за призначенням). Цей метод означає, що конкретні файли / папки можуть бути націлені на відновлення, а не всі системні файли.
грг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.