Jak mogę odzyskać plik systemowy po usunięciu go z komputera Mac?

17

Usunąłem plik systemowy z komputera Mac i muszę go odzyskać.

Pliki systemowe mogą obejmować:

  • ukryte pliki w katalogu głównym / - szczególnie pliki unix w / private
  • / Pliki systemowe
  • / Pliki bibliotek
  • / Pliki aplikacji dostarczane z podstawowym systemem operacyjnym

Pliki systemowe nie są żadnymi aplikacjami, plikami użytkownika ani plikami, które można odtworzyć za pomocą znanej sekwencji, takiej jak pliki pamięci podręcznej, pliki indeksu Spotlight itp.


Pytanie kanoniczne i odpowiedź na ten komentarz autorstwa bmike ♦ .

grg
źródło
1
/ private potrzebuje osobnej odpowiedzi - patrz jeden dla / private / var / folder - / private / tmp nie wymaga przywracania
użytkownik151019

Odpowiedzi:

22

Jeśli masz najnowszego Maca, to ma on partycję odzyskiwania .

Włącz komputer Mac i przytrzymaj Command+, Raż pojawi się logo Apple. Spowoduje to uruchomienie komputera Mac przy użyciu partycji odzyskiwania.

Po przejściu do partycji odzyskiwania możesz ponownie zainstalować system operacyjny.

Ta uwaga techniczna Apple, OS X: About OS X Recovery , zawiera więcej szczegółów.

Możesz ponownie zainstalować system operacyjny i pozostawić pliki nienaruszone. Apple usunął opcję wymazywania / instalacji, więc nie musisz się martwić, że Instalator odzyskiwania usunie twoje pliki. Teraz musisz jawnie uruchomić narzędzie Disk Utility, aby skasować lub sformatować / partycjonować dysk po uruchomieniu z systemu operacyjnego odzyskiwania.

Tony Williams
źródło
11

Jeśli masz pewność, że program Recovery HD jest załatany tak, aby pasował do systemu operacyjnego w systemie głównym, możesz złapać plik i sprawdzić, czy działa bez konieczności pełnej ponownej instalacji systemu operacyjnego.

Przytrzymaj -R podczas uruchamiania, aż zobaczysz okno podobne do tego:

wprowadź opis zdjęcia tutaj

Oto twoje opcje:

  1. Wybierz Narzędzia> Terminal:

    wprowadź opis zdjęcia tutaj

    Dysk OS X zostanie podłączony /Volumes/<your disk name>. Na przykład na moim komputerze Mac został on zamontowany w /Volumes/Mavericks:

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

    Teraz skopiuj /binna dysk OS X:

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

    Pamiętaj, że zawartość /binbędzie nieaktualna , ponieważ dysk odzyskiwania nie jest aktualizowany w pozostałej części systemu operacyjnego, więc przywróć /binz Time Machine po pomyślnym uruchomieniu komputera Mac i zalogowaniu się.

jaume
źródło
2
wszystkie odpowiedzi powinny być tak szczegółowe jak ta :) +1
Ruskes
Naprawa narzędzia dyskowego Funkcja dysku skanuje i naprawia potencjalne problemy z systemem plików. Nie ma to żadnego wpływu na przywracanie utraconych danych jakiegokolwiek rodzaju. Twoja odpowiedź jest wspaniała, ale niestety błędna. Pytający będzie musiał przywrócić OS X (mogą korzystać z Odzyskiwania Internetu, jak opisano na początku odpowiedzi).
@cksum Dzięki za zwrócenie na to uwagi, pomyślałem, że warto spróbować, więc wymieniłem to jako ostatnią z trzech opcji. Co do twojego twierdzenia, że ​​OP musi przywrócić OS X, nie sądzę, że będzie to konieczne. Pierwsza opcja, którą podam, powinna to zrobić, przetestowałem ją.
jaume
4
Kopiowanie zawartości / bin nie jest idealne, ponieważ może nie przenosić list ACL i odpowiednich uprawnień (naprawa uprawnień za pomocą Narzędzia dyskowego może naprawić niektóre z nich). Może również nie zawierać odpowiednich wersji (ponieważ niektóre mogły zostać zaktualizowane). Czy możesz zapewnić, że są one kontrolowane? Może to również wydawać się młotem do latania, ale po prostu ponowna instalacja OS X jest prawdopodobnie najbardziej idealnym rozwiązaniem. Najmniej prawdopodobne, że spowoduje więcej problemów.
@cksum Disk Utility naprawi uprawnienia, ale zgadzam się z twoim drugim punktem, zamontowałem Recovery HD, sprawdziłem zawarte w nim wersje com.apple.recovery.boot/BaseSystem.dmgi tak, niektóre pliki binarne są nieaktualne, bashwśród nich. Zredagowałem swoją odpowiedź, aby to odzwierciedlić, i usunąłem trzecią opcję po przetestowaniu, czy Narzędzie dyskowe nie przywraca plików, jak powiedziałeś w poprzednim komentarzu.
jaume
11

Jeśli nie masz nic przeciwko lub masz pewność, że program Recovery HD jest załatany tak, aby pasował do systemu operacyjnego w systemie głównym, możesz złapać plik i sprawdzić, czy działa on bez konieczności pełnej ponownej instalacji systemu operacyjnego i bez potrzeby ponownego uruchamiania lub połączenie internetowe / zapisany instalator.

Użyj partycji odzyskiwania

Wiele 1 plików systemowych znajduje się również na partycji Recovery i można je skopiować.

  1. Zamontuj Recovery HD

    diskutil mount Recovery\ HD
    
  2. Zamontuj BaseSystem.dmg

    hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
    
  3. Skopiuj plik

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

Ten proces można połączyć w polecenie jednowierszowe, jeśli trzeba go często uruchamiać…

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}

Nawet jeśli została usunięta cpbinarnym (co może się zdarzyć), nie ma /usr/bin/ditto, /usr/bin/tari kilka innych poleceń, które stoją za cp.

Ponownie zainstaluj OS X

Jeśli masz możliwość ponownej instalacji systemu OS X poprzez Recovery HD, Internet Recovery lub nośnik instalacyjny OS X, wówczas ponowna instalacja systemu OS X spowoduje „naprawę” instalacji i skopiowanie brakujących / uszkodzonych plików systemowych z powrotem do systemu.


Zalecam wykonanie naprawy uprawnień za pomocą Narzędzia dyskowego po ręcznym skopiowaniu pliku, a następnie ponownym uruchomieniu. Jeśli poprawka zadziała, będzie to doskonały czas na kolejną migawkę kopii zapasowej.

1 Nie wszystkie pliki systemowe są na Recovery HD, ale wiele z nich. Jeśli polecenie kopiowania nie działa, sprawdź, czy plik istnieje na dysku Recovery HD.

grg
źródło
4
Podczas kopiowania z Recovery OS: ostrożnie ! Wersja odzyskiwania systemu operacyjnego nie jest zgodna z wersją systemu OS X. Na przykład: instalacja systemu OS X 10.9 zaktualizowanego do wersji 10.9.2 będzie ograniczona do wersji Recovery OS 10.9 (z luką w zabezpieczeniach SSL itd.) .
Graham Perrin
2
@GrahamPerrin Ma kilka mądrych słów - zredagowałem ostrzeżenie, a większość osób, które są zadowolone z terminala, może ocenić ryzyko kopiowania plików niższego poziomu z dysku odzyskiwania HD, który może nie zostać całkowicie załatany. Nadal warto pamiętać, że oszczędność czasu ponownej instalacji może mieć reperkusje, jeśli często korzystasz z tej sztuczki lub w przypadku krytycznej części systemu - pod względem niezawodności lub bezpieczeństwa.
bmike
Po upewnieniu się, że wszystko jest zaktualizowane, zrobiłbym aktualizację oprogramowania za pomocą aktualizacji kombi
151019
W systemie APFS plik BaseSystem.dmg nie znajduje się w tym samym miejscu. Nie jestem pewien, czy potrzebujemy nowego pytania lub edycji tutaj, aby przejść do innej ścieżki lub przynajmniej skomentować, które wersje systemu macOS działa ta niesamowita sztuczka.
bmike
6

Istnieje rozwiązanie wymagające połączenia z Internetem.

Odzyskiwanie systemu OS X

Modele Mac wprowadzone po Mac OS X 10.7, Lew, obejmują zdolność do rozruchu bezpośrednio z wersji internetowej opartej na systemie OS X naprawy .

System OS X automatycznie korzysta z tej funkcji, gdy system odzyskiwania na dysku twardym nie jest dostępny (na przykład gdy dysk twardy napotyka problem lub gdy dysk twardy został wymieniony lub skasowany). OS X Internet Recovery umożliwia uruchamianie komputera Mac bezpośrednio z serwerów Apple. Uruchamianie z tego systemu wykonuje szybki test pamięci i dysku twardego w celu wykrycia problemów ze sprzętem.

Proponuję więc podłączyć kabel Ethernet, ponieważ Wi-Fi prawdopodobnie nie zadziała, i wybierz opcję rozruchu z Internetu, jeśli pojawi się lista opcji i masz odpowiednią wersję.

Przywracanie aplikacji iLife po przywróceniu systemu OS X do Internetu

Jeśli Twój komputer jest wyposażony w system OS X Lion lub nowszy, a następnie wyczyścisz dysk twardy i zainstalujesz system OS X, możesz pobrać iPhoto, iMovie i GarageBand z Mac App Store.

  • Po instalacji uruchom (uruchom) z OS X.
  • Kliknij dwukrotnie ikonę App Store w doku.
  • Wprowadź swój identyfikator Apple ID i hasło.
  • Kliknij Zakupy. Jeśli wcześniej nie zaakceptowałeś dołączonych aplikacji iLife w Mac App Store, powinieneś zobaczyć swoje aplikacje iLife w części Zaakceptuj.
  • Kliknij Zaakceptuj. Możesz zostać ponownie poproszony o podanie Apple ID i hasła. Twoje aplikacje iLife zostaną teraz przeniesione do sekcji Kupione. Te aplikacje są częścią oprogramowania dostarczonego z komputerem. Twoje konto nie zostanie obciążone za nie.

  • Kliknij Zainstaluj, aby zakończyć instalację aplikacji.

pythonian29033
źródło
Znajdźmy kanoniczne pytanie, które będzie zawierało część tego dotyczącą ponownej instalacji iLife. Naprawdę nie pasuje do przypadku usuwania pojedynczego pliku systemowego lub katalogu / bin ...
bmike
5

Oficjalną odpowiedzią Apple byłaby ponowna instalacja systemu, ponieważ pliki systemowe przystąpienia z Time Machine mogą być ryzykowne i trudne.

  1. W systemie może brakować pliku potrzebnego do pomocy w procesie odzyskiwania, a niezdefiniowane / nieprzewidywalne wyniki wymagają więcej ekspertów na czele niż korzystania z Time Machine w celu przywrócenia zdjęcia lub aplikacji.
  2. Pliki systemowe mogą być ukryte i będziesz musiał wiedzieć, jak nawigować do tych folderów za pomocą skrótu poleceń podczas przywracania plików z kopii zapasowej Time Machine.
  3. Pliki systemowe mogą mieć specjalne uprawnienia, więc może być konieczne ich naprawienie po przywróceniu.
  4. Po przywróceniu może być konieczne ponowne uruchomienie komputera, a jeśli przywrócisz niepoprawnie, system może się nie uruchomić ponownie.
  5. Przywracanie ze starej kopii zapasowej może cofnąć poprawki lub aktualizacje zabezpieczeń i utrudnić aktualizację systemu. Posiadanie ostatniej kopii zapasowej może wyeliminować ten potencjalny problem.

Teraz ryzyko jest na stole, oto jak postępować. Jeśli korzystasz z Time Machine, połącz się z dyskiem kopii zapasowej, a następnie otwórz okno Findera, gdzie ostatnio widziano brakujący plik. Może być konieczne użycie Command-Shift-G, aby przejść do folderów systemowych - jeśli tak, po prostu wejdź w ten skrót po wejściu do Time Machine, ponieważ ma on zwyczaj pokazywać folder użytkownika podczas uruchamiania.

Użyj menu Time Machine na pasku menu wybierz Enter Time Machine . Wróć do daty istnienia pliku, wybierz plik, a następnie kliknij Przywróć (prawy dolny przycisk).

Skopiuje plik lub folder z powrotem do działającego systemu. W tym momencie wykonaj kopię zapasową i rozważ ponowne uruchomienie komputera, aby system mógł zauważyć, że brakujące pliki są teraz przywracane.

S. Marachi
źródło
3

Skopiuj plik z innego systemu lub komputera zaufanej 1 osoby

Jeśli masz zainstalowany drugi komputer z porównywalną wersją systemu OS X, możesz skopiować z niego plik. Upewnij się, że nie dokonałeś zmian w kopiowanym pliku, jeśli chcesz mieć nową kopię. Jest to szczególnie ważne przy kopiowaniu plików z czyjejś maszyny, ponieważ zmiany mogą być niepożądane.

Poproś o sumę kontrolną pliku na czacie (nie zapomnij podać wersji OS X), aby porównać go, jeśli chcesz się upewnić, że plik nie został przypadkowo (lub celowo) zmodyfikowany.

Nie zapomnij zrobić naprawy uprawnień po skopiowaniu pliku, aby upewnić się, że uprawnienia zostały ustawione poprawnie w pliku.

1 Prawdopodobnie nie najlepiej jest ufać przypadkowym nieznajomym w Internecie dla kluczowych plików systemowych.

grg
źródło
3

Pacifist z nośnikiem instalacyjnym OS X

Jeśli masz nośnik instalacyjny OS X i Pacifist , możesz przejrzeć nośnik instalacyjny i pobrać plik.

Jeśli masz Pacifist, ale nie masz nośnika instalacyjnego, pojawi się monit o pobranie instalatora.

grg
źródło
1
Jeśli masz zainstalowane nośniki, czy nie byłoby łatwiej uruchomić instalator i pozwolić mu naprawić wszystko? Podejrzewam, że zależy to od tego, jak izolowane było uszkodzenie systemu i od tego, jak pewni jesteśmy, że tylko te pliki, które naszym zdaniem brakuje, są nieprawidłowe.
bmike
@bike Może, ale dla użytkowników, którzy głęboko dostosowali swój system, trudno jest przerobić wszystko, co nadpisuje (co zrozumiałe, nie rozumie różnicy między uszkodzonym plikiem a plikiem, który został zmodyfikowany celowo). Ta metoda oznacza, że ​​określone pliki / foldery mogą zostać przywrócone, a nie wszystkie pliki systemowe.
grg