Como posso recuperar um arquivo do sistema depois de excluí-lo do meu Mac?

17

Excluí um arquivo de sistema do meu Mac e preciso recuperá-lo.

Os arquivos do sistema podem incluir:

  • arquivos ocultos na raiz de / - especialmente arquivos unix em / private
  • / Arquivos do sistema
  • / Arquivos de biblioteca
  • / Arquivos de aplicativos fornecidos com o SO principal

Os arquivos do sistema não são aplicativos, arquivos do usuário ou arquivos que podem ser regenerados por uma sequência conhecida, como arquivos de cache, arquivos de índice do Spotlight, etc.


Pergunta e resposta canônica para este comentário por bmike ♦ .

grg
fonte
11
/ necessidades particulares uma resposta em separado - ver um para / private / var / pastas - / private / tmp não precisa de restauração
Mark

Respostas:

22

Se você possui um Mac recente, ele possui uma partição de recuperação .

Ligue o Mac e mantenha pressionado Command+ Raté o logotipo da Apple aparecer. Isso fará com que o seu Mac seja inicializado usando a partição de recuperação.

Quando você estiver na partição de recuperação, poderá reinstalar o sistema operacional.

Esta nota técnica da Apple, OS X: Sobre o OS X Recovery , fornece mais detalhes.

Você pode reinstalar o sistema operacional e deixar seus arquivos intactos. A Apple removeu a opção apagar / instalar para que você não precise se preocupar com o Recovery Installer apagando seus arquivos. Agora você precisa iniciar explicitamente a ferramenta Utilitário de Disco para apagar ou reformatar / reparticionar uma unidade quando inicializada no sistema operacional de recuperação.

Tony Williams
fonte
11

Se você tiver certeza de que o seu HD de recuperação está corrigido para corresponder ao sistema operacional em seu sistema principal, você pode pegar um arquivo e verificar se ele funciona sem a necessidade de uma reinstalação completa do sistema operacional.

Mantenha pressionada -R durante a inicialização até ver uma janela semelhante a esta:

insira a descrição da imagem aqui

Estas são as suas opções:

  1. Escolha Utilitários> Terminal:

    insira a descrição da imagem aqui

    Seu disco OS X será montado /Volumes/<your disk name>. Por exemplo, no meu Mac, ele foi montado em /Volumes/Mavericks:

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

    Agora copie /binpara o seu disco do OS X:

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

    Observe que o conteúdo de /binestará desatualizado , pois o disco de recuperação não será atualizado com o restante do sistema operacional; portanto, restaure a /binpartir do Time Machine após iniciar com êxito o Mac e fazer login.

jaume
fonte
2
todas as respostas devem ser tão detalhado como este :) +1
Ruskes
O recurso Disco de reparo do utilitário de disco irá verificar e corrigir possíveis problemas com o sistema de arquivos. Não tem nenhum efeito na restauração de dados perdidos de qualquer tipo. Sua resposta é fantástica, mas infelizmente está errada. O solicitante terá que restaurar o OS X (eles podem usar o Internet Recovery conforme descrito no início de sua resposta).
@cksum Obrigado por apontar isso, pensei que valeria a pena tentar, então listei como a última das três opções. Quanto à sua afirmação de que o OP precisa restaurar o OS X, não acho que seja necessário. A primeira opção que eu forneça deve fazê-lo, eu testei.
jaume
4
Copiar o conteúdo de / bin não é ideal, pois pode não transportar as ACLs e as permissões apropriadas (o reparo de permissões com o Disk Utility pode corrigir alguns deles). Também pode não conter as versões apropriadas (como algumas podem ter sido atualizadas). Você pode garantir que eles sejam controlados? Além disso, pode parecer uma marreta para uma abordagem rápida, mas simplesmente reinstalar o OS X é provavelmente a solução mais ideal. O menos provável de levar a mais problemas.
O @cksum Disk Utility corrigirá as permissões, mas eu concordo com seu outro ponto, montei o Recovery HD, verifiquei as versões incluídas com.apple.recovery.boot/BaseSystem.dmge, sim, alguns binários estão desatualizados, bashentre eles. Editei minha resposta para refletir isso e removi a terceira opção após testar que o Utilitário de Disco não restaura os arquivos, como você disse no comentário anterior.
jaume
11

Se você não se importa ou tem certeza de que o Recovery HD está corrigido para corresponder ao sistema operacional do sistema principal, você pode pegar um arquivo e verificar se ele funciona sem a necessidade de uma reinstalação completa do sistema operacional e sem a necessidade de reiniciar ou conexão com a Internet / instalador salvo.

Use a partição de recuperação

Muitos arquivos de sistema 1 também estão incluídos na partição de recuperação e podem ser copiados.

  1. Monte o HD de recuperação

    diskutil mount Recovery\ HD
    
  2. Monte o BaseSystem.dmg

    hdiutil mount /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
    
  3. Copie o arquivo

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

Esse processo pode ser combinado em um comando de linha única, se você precisar executá-lo com frequência ...

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}

Mesmo se você tiver excluído o cpbinário (que poderia acontecer), não há /usr/bin/ditto, /usr/bin/tare vários outros comandos que podem substituir cp.

Reinstale o OS X

Se você tiver a capacidade de reinstalar o OS X através da mídia de instalação do Recovery HD, do Internet Recovery ou de uma instalação do OS X, a reinstalação do OS X irá 'reparar' a instalação e copiar todos os arquivos de sistema ausentes / quebrados de volta ao seu sistema.


Eu recomendo que você faça um reparo de permissões usando o Utilitário de Disco depois de copiar um arquivo manualmente e depois reiniciar. Se a correção funcionar, agora seria um excelente momento para outro instantâneo de backup.

1 Nem todos os arquivos do sistema estão no Recovery HD, mas muitos estão. Se o comando de cópia não funcionar, verifique se o arquivo existe no Recovery HD.

grg
fonte
4
Ao copiar do Recovery OS: cuidado ! É comum que a versão do Recovery OS não corresponda à versão do OS X. Por exemplo: uma instalação do OS X 10.9 atualizada para 10.9.2 será limitada ao Recovery OS 10.9 (com a vulnerabilidade SSL e assim por diante) .
Graham Perrin
2
@GrahamPerrin Tem algumas palavras sábias - editei um aviso e a maioria das pessoas que estão confortáveis ​​com o terminal pode avaliar os riscos de copiar arquivos de nível inferior de um HD de recuperação que pode não ser totalmente corrigido. Ainda é importante lembrar que a economia de tempo de uma reinstalação pode ter repercussões se você usar esse truque frequentemente ou para uma parte crítica do sistema - confiabilidade ou segurança.
bmike
Depois de certificar-se de tudo é atualizar eu faria uma atualização de software usando a atualização de combinação
Mark
No APFS, o BaseSystem.dmg não está localizado no mesmo local. Não tenho certeza se precisamos de uma nova pergunta ou edição aqui para chegar a um caminho diferente ou pelo menos um comentário sobre quais versões do macOS esse truque impressionante funciona.
bmike
6

Existe uma solução que requer uma conexão com a Internet.

Recuperação do OS X

Os modelos de Mac introduzidos após o Mac OS X 10.7, Lion, incluem a capacidade de iniciar diretamente a partir de uma versão baseada na Internet do sistema OS X Recovery .

O OS X usa esse recurso automaticamente quando o Sistema de recuperação no disco rígido não está disponível (como quando o disco rígido encontra um problema ou quando o disco rígido foi substituído ou apagado). O OS X Internet Recovery permite iniciar o seu Mac diretamente dos servidores da Apple. A inicialização deste sistema realiza um teste rápido de sua memória e disco rígido para verificar se há problemas de hardware.

Então, sugiro que você conecte seu cabo Ethernet, já que o wifi provavelmente não vai funcionar, e escolha a opção de inicializar pela Internet se a lista de opções aparecer e você tiver a versão correta.

Restaurando aplicativos iLife após a Restauração da Internet do OS X

Se o seu computador veio com o OS X Lion ou posterior e você apaga o disco rígido e instala o OS X, é possível baixar o iPhoto, o iMovie e o GarageBand na Mac App Store.

  • Após a instalação, inicie (up) no OS X.
  • Clique duas vezes no ícone da App Store no dock.
  • Digite seu ID e senha da Apple.
  • Clique em compras. Se você não aceitou anteriormente os aplicativos do iLife incluídos na Mac App Store, deverá ver os aplicativos do iLife aparecer na parte Aceitar da tela.
  • Clique em Aceitar. Você pode ser solicitado a fornecer seu ID e senha da Apple mais uma vez. Seus aplicativos iLife agora passam para a seção Comprado. Esses aplicativos fazem parte do software que acompanha o seu computador. Sua conta não será cobrada por eles.

  • Clique em Instalar para concluir a instalação dos seus aplicativos.

pythonian29033
fonte
Vamos encontrar uma pergunta canônica para hospedar a parte de reinstalação do iLife. Ele não se encaixa o caso de uso de apagar um único arquivo de sistema ou o diretório / bin ...
bmike
5

A resposta oficial da Apple seria reinstalar o sistema, pois os arquivos de acesso do Time Machine podem ser arriscados e complicados.

  1. Pode estar faltando um arquivo no sistema para ajudar no processo de recuperação e resultados indefinidos / imprevisíveis precisam de mais um especialista no comando do que usar o Time Machine para restaurar uma foto ou um aplicativo.
  2. Os arquivos do sistema podem estar ocultos e você precisará saber como navegar para essas pastas por atalho de comando enquanto restaura os arquivos do backup do Time Machine.
  3. Os arquivos do sistema podem ter permissões especiais, portanto, pode ser necessário corrigi-los após a restauração.
  4. Pode ser necessário reiniciar após a restauração e, se você restaurar incorretamente, o sistema poderá falhar ao inicializar novamente.
  5. A restauração de um backup antigo pode desfazer patches ou atualizações de segurança e dificultar a atualização do sistema. Ter um backup recente pode eliminar esse problema em potencial.

Agora ha os riscos estão sobre a mesa, eis como proceder. Se você usar o Time Machine, conecte-se ao seu disco de backup e abra a janela do Finder, onde o arquivo ausente foi visto pela última vez. Pode ser necessário usar o Command-Shift-G para ir para as pastas do sistema - se assim for, apenas esteja preparado para usar esse atalho depois de entrar no Time Machine, pois há o hábito de mostrar uma pasta de usuário ao iniciar.

Use o menu Time Machine na barra de menus, selecione Enter Time Machine . Navegue de volta para a data em que o arquivo existia, selecione o arquivo e clique em Restaurar (botão inferior direito).

Ele copiará o arquivo ou pasta de volta para o seu sistema em execução. Neste ponto, faça um backup e considere a reinicialização para permitir que o sistema observe que os arquivos ausentes estão restaurados.

S. Marachi
fonte
3

Copie o arquivo de outro sistema ou de uma máquina confiável de 1 pessoa

Se você tiver uma segunda máquina com uma compilação comparável do OS X instalada, poderá copiar o arquivo dela. Verifique se você não fez alterações no arquivo que está copiando, se desejar uma nova cópia. Isso é especialmente importante para copiar arquivos da máquina de outra pessoa, pois as alterações podem não ser desejáveis.

Sinta-se à vontade para solicitar a soma de verificação de um arquivo no bate-papo (não se esqueça de fornecer uma versão do OS X) para compará-lo, se você deseja garantir que o arquivo não foi modificado acidentalmente (ou intencionalmente).

Não se esqueça de fazer um reparo nas permissões após copiar o arquivo para garantir que as permissões foram definidas corretamente no arquivo.

1 Provavelmente não é melhor confiar em estranhos na Internet para arquivos cruciais do sistema.

grg
fonte
3

Pacifist com mídia de instalação do OS X

Se você possui uma mídia de instalação do OS X e o Pacifist , pode navegar na mídia de instalação e pegar o arquivo.

Se você possui o Pacifist, mas não possui mídia de instalação, ele solicitará o download do instalador.

grg
fonte
11
Se você possui mídia de instalação, não seria mais fácil executar o instalador e deixá-lo consertar tudo? Suponho que depende de quão isolado o dano do sistema foi e de quão confiante você está que apenas os arquivos que você acha que estão faltando estão incorretos.
bmike
@bmike Talvez, mas para usuários que customizaram profundamente seu sistema, é doloroso refazer tudo o que substitui (compreensivelmente, ele não entende a diferença entre um arquivo quebrado e um arquivo que foi modificado de propósito). Este método significa que arquivos / pastas específicos podem ser direcionados para serem restaurados, em vez de todos os arquivos do sistema.
grg