Come posso recuperare un file di sistema dopo averlo eliminato dal mio Mac?


17

Ho eliminato un file di sistema dal mio Mac e devo ripristinarlo.

I file di sistema possono includere:

  • file nascosti nella radice di / - specialmente i file unix in / private
  • / File di sistema
  • / File di libreria
  • / File delle applicazioni forniti con il sistema operativo principale

I file di sistema non sono app, file utente o file che possono essere rigenerati da una sequenza nota come file cache, file indice Spotlight, ecc ...


Domanda e risposta canonica per questo commento di bmike ♦ .


1
/ private ha bisogno di una risposta separata - vedi una per / private / var / cartelle - / private / tmp non ha bisogno di essere ripristinato
user151019

Risposte:


22

Se hai un Mac recente, ha una partizione di ripristino .

Accendi il Mac e tieni premuto Command+ Rfinché non viene visualizzato il logo Apple. Ciò causerà l'avvio del Mac utilizzando la partizione di ripristino.

Una volta che ti trovi nella partizione di ripristino, puoi reinstallare il sistema operativo.

Questa nota tecnica di Apple, OS X: Informazioni su OS X Recovery , fornisce ulteriori dettagli.

Puoi reinstallare il sistema operativo e lasciare intatti i tuoi file. Apple ha rimosso l'opzione di cancellazione / installazione in modo da non doverti preoccupare che Recovery Installer cancelli i tuoi file. Ora è necessario avviare esplicitamente lo strumento Utilità disco per cancellare o riformattare / ripartizionare un'unità quando avviata dal sistema operativo di ripristino.


11

Se sei sicuro che Recovery HD sia patchato in modo che corrisponda al sistema operativo sul tuo sistema principale, puoi afferrare un file e vedere se funziona senza dover eseguire una reinstallazione completa del sistema operativo.

Tieni premuto -R durante l'avvio fino a quando non vedi una finestra simile a questa:

inserisci qui la descrizione dell'immagine

Queste sono le tue opzioni:

  1. Scegli Utilità> Terminale:

    inserisci qui la descrizione dell'immagine

    Il tuo disco OS X verrà montato /Volumes/<your disk name>. Ad esempio, sul mio Mac era installato /Volumes/Mavericks:

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

    Ora copia /binsul tuo disco OS X:

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

    Si noti che il contenuto di /binnon sarà aggiornato , poiché il disco di ripristino non viene aggiornato con il resto del sistema operativo, quindi ripristinare /binda Time Machine dopo aver avviato correttamente il Mac e aver effettuato l'accesso.


2
tutte le risposte dovrebbero essere così dettagliate come questa :) +1
Ruskes

Utilità di riparazione dell'utilità disco La funzione disco eseguirà la scansione e risolverà potenziali problemi con il file system. Non ha alcun effetto sul ripristino di dati persi di alcun tipo. La tua risposta è eccezionale, ma purtroppo sbagliata. Il richiedente dovrà ripristinare OS X (potranno utilizzare Internet Recovery come indicato all'inizio della risposta).

@cksum Grazie per averlo sottolineato, ho pensato che valesse la pena provare, quindi l'ho elencato come l'ultima delle tre opzioni. Per quanto riguarda la tua affermazione che l'OP deve ripristinare OS X, non penso che sarà necessario. La prima opzione che fornisco dovrebbe farlo, l'ho testato.
Jaume

4
Copiare il contenuto di / bin non è l'ideale in quanto potrebbe non riportare gli ACL e le autorizzazioni appropriate (la riparazione delle autorizzazioni con Utility Disco potrebbe risolvere alcuni di questi). Potrebbe anche non contenere le versioni appropriate (poiché alcune potrebbero essere state aggiornate). Puoi assicurarti che siano controllati? Inoltre, può sembrare una mazza per un approccio fly, ma semplicemente reinstallare OS X è probabilmente la soluzione più ideale. Il meno probabile che porti a ulteriori problemi.

L'utilità disco @cksum risolverà i permessi ma sono d'accordo con l'altro punto, ho montato Recovery HD, verificato le versioni incluse com.apple.recovery.boot/BaseSystem.dmge sì, alcuni binari non sono aggiornati, bashtra questi. Ho modificato la mia risposta per riflettere ciò e ho rimosso la terza opzione dopo aver verificato che Utility Disco non ripristina effettivamente i file, come hai detto nel tuo commento precedente.
Jaume

11

Se non ti dispiace o sei sicuro che Recovery HD sia patchato in modo che corrisponda al sistema operativo sul tuo sistema principale, puoi agganciare un file e vedere se funziona senza dover eseguire una reinstallazione completa del sistema operativo e senza bisogno di un riavvio o di un connessione internet / programma di installazione salvato.

Utilizzare la partizione di ripristino

Molti file di sistema 1 sono anche inclusi nella partizione di ripristino e possono essere copiati.

  1. Montare Recovery HD

    diskutil mount Recovery\ HD
    
  2. Montare BaseSystem.dmg

    hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
    
  3. Copia il file

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

Questo processo può essere combinato in un comando a riga singola se devi eseguirlo frequentemente ...

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}

Anche se avete cancellato il cpbinario (che potrebbe accadere), non v'è /usr/bin/ditto, /usr/bin/tare molti altri comandi che possono sostituire cp.

Reinstalla OS X

Se hai la possibilità di reinstallare OS X tramite Recovery HD, Internet Recovery o un supporto di installazione di OS X, la reinstallazione di OS X "ripara" l'installazione e copia i file di sistema mancanti / danneggiati sul tuo sistema.


Ti consiglio di fare una riparazione dei permessi usando Utility Disco dopo aver copiato un file manualmente e poi riavviato. Se la correzione funziona, ora sarebbe un momento eccellente per un'altra istantanea del backup.

1 Non tutti i file di sistema si trovano su Recovery HD, ma molti lo sono. Se il comando di copia non funziona, verificare che il file esista su Recovery HD.


4
Quando si copia dal sistema operativo di ripristino: attenzione ! È normale che la versione del sistema operativo di ripristino non corrisponda alla versione di OS X. Ad esempio: un'installazione di OS X 10.9 aggiornata a 10.9.2 sarà limitata a Recovery OS 10.9 (con la vulnerabilità SSL e così via) .
Graham Perrin,

2
@GrahamPerrin Ha alcune parole sagge: ho modificato un avviso e la maggior parte delle persone che hanno dimestichezza con il terminale possono valutare i rischi della copia di file di livello inferiore da un HD di ripristino che potrebbe non essere completamente corretto. Vale comunque la pena ricordare che il risparmio di tempo di una reinstallazione potrebbe avere ripercussioni se si utilizza questo trucco spesso o per una parte critica del sistema - affidabilità o sicurezza.
bmike

Dopo aver verificato che tutto sia aggiornato, farei un aggiornamento software utilizzando l'aggiornamento combo
user151019

Su APFS, BaseSystem.dmg non si trova nello stesso posto. Non sono sicuro se abbiamo bisogno di una nuova domanda o una modifica qui per arrivare a un percorso diverso o almeno un commento su quali versioni di macOS funziona questo fantastico trucco.
bmike

6

Esiste una soluzione che richiede una connessione a Internet.

Ripristino OS X.

Modelli di Mac introdotti dopo Mac OS X 10.7, Lion, includono la possibilità di avviare direttamente da una versione Internet-based del sistema di OS X di recupero .

OS X utilizza automaticamente questa funzione quando il sistema di ripristino sul disco rigido non è disponibile (ad esempio quando il disco rigido rileva un problema o quando il disco rigido è stato sostituito o cancellato). OS X Internet Recovery ti consente di avviare il tuo Mac direttamente dai server Apple. L'avvio da questo sistema esegue un rapido test della memoria e del disco rigido per verificare la presenza di problemi hardware.

Quindi ti suggerisco di collegare il cavo Ethernet, dal momento che il wifi probabilmente non funzionerà e scegliere l'opzione per l'avvio da Internet se l'elenco delle opzioni viene visualizzato e hai la versione giusta.

Ripristino delle applicazioni iLife dopo Internet Restore di OS X

Se il computer è stato fornito con OS X Lion o versione successiva e si cancella il disco rigido e si installa OS X, è possibile scaricare iPhoto, iMovie e GarageBand dal Mac App Store.

  • Dopo l'installazione, avviare (su) da OS X.
  • Fai doppio clic sull'icona dell'App Store nel dock.
  • Inserisci il tuo ID Apple e la password.
  • Fai clic su Acquisti. Se non hai precedentemente accettato le tue applicazioni iLife in bundle nel Mac App Store, dovresti vedere le tue applicazioni iLife visualizzate nella parte Accetta dello schermo.
  • Fai clic su Accetta. È possibile che ti vengano richiesti nuovamente l'ID Apple e la password. Le tue applicazioni iLife ora si spostano nella sezione Acquisti. Queste applicazioni fanno parte del software fornito con il computer. Il tuo account non verrà addebitato per loro.

  • Fai clic su Installa per completare l'installazione delle tue applicazioni.


Troviamo una domanda canonica per ospitare la parte di reinstallazione di iLife. Non si adatta al caso d'uso dell'eliminazione di un singolo file di sistema o della directory / bin ...
bmike

5

La risposta ufficiale di Apple sarebbe quella di reinstallare il sistema poiché i file di sistema di accesso da Time Machine possono essere rischiosi e complicati.

  1. Nel sistema potrebbe mancare un file necessario per facilitare il processo di recupero e i risultati indefiniti / imprevedibili richiedono più di un esperto al timone rispetto all'utilizzo di Time Machine per ripristinare una foto o un'app.
  2. I file di sistema possono essere nascosti e dovrai sapere come accedere a tali cartelle tramite il collegamento ai comandi mentre ripristini i file dal backup di Time Machine.
  3. I file di sistema possono disporre di autorizzazioni speciali, pertanto potrebbe essere necessario correggerli dopo il ripristino.
  4. Potrebbe essere necessario riavviare dopo il ripristino e se si ripristina in modo errato, il sistema potrebbe non avviarsi di nuovo.
  5. Il ripristino da un vecchio backup potrebbe annullare patch o aggiornamenti di sicurezza e rendere più difficile l'aggiornamento del sistema. Avere un backup recente può eliminare questo potenziale problema.

Ora ha i rischi sul tavolo, ecco come procedere. Se usi Time Machine, connettiti al tuo disco di backup, quindi apri la finestra del Finder aperta dove è stato visto l'ultima volta il file mancante. Potrebbe essere necessario utilizzare Command-Shift-G per accedere alle cartelle di sistema - in tal caso, preparati a utilizzare quel collegamento una volta entrato in Time Machine poiché ha l'abitudine di mostrare una cartella utente all'avvio.

Utilizzare il menu Time Machine nella barra dei menu selezionare Enter Time Machine . Torna a una data in cui esisteva il file, seleziona il file, quindi fai clic su Ripristina (pulsante in basso a destra).

Copia il file o la cartella nel tuo sistema in esecuzione. A questo punto, eseguire un backup e prendere in considerazione il riavvio per consentire al sistema di notare che i file mancanti sono stati ripristinati.


3

Copia il file da un altro sistema o un computer di 1 persona attendibile

Se hai un secondo computer con una build comparabile di OS X installato su di esso, puoi copiare il file da esso. Assicurati di non aver apportato modifiche al file che stai copiando se desideri una nuova copia. Ciò è particolarmente importante per la copia di file dalla macchina di qualcun altro poiché le modifiche potrebbero non essere desiderabili.

Sentiti libero di chiedere il checksum di un file in chat (non dimenticare di fornire una versione di OS X) per confrontarlo se desideri assicurarti che il file non sia stato modificato accidentalmente (o intenzionalmente).

Non dimenticare di fare una riparazione delle autorizzazioni dopo aver copiato il file per assicurarsi che le autorizzazioni siano state impostate correttamente sul file.

1 Probabilmente non è meglio fidarsi degli sconosciuti casuali su Internet per i file di sistema cruciali.


3

Pacifist con supporto di installazione OS X.

Se hai un supporto di installazione di OS X e Pacifist , puoi sfogliare il supporto di installazione e prendere il file.

Se si dispone di Pacifist ma non è presente alcun supporto di installazione, verrà richiesto di scaricare il programma di installazione.


1
Se si dispone di supporti di installazione, non sarebbe più semplice eseguire il programma di installazione e lasciare che tutto risolva? Suppongo che dipenda da quanto fosse isolato il danno al sistema e da quanto tu sia sicuro che solo i file che ritieni mancanti siano errati.
bmike

@bmike Forse, ma per gli utenti che hanno profondamente personalizzato il proprio sistema, è una seccatura ripetere tutto ciò che sovrascrive (comprensibilmente, non capisce la differenza tra un file rotto e un file che è stato modificato di proposito). Questo metodo significa che è possibile scegliere come target file / cartelle specifici da ripristinare anziché tutti i file di sistema.
grg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.