Preciso renomear uma determinada dll em minha máquina com Windows 7 (uma comctl32.dll, para ser mais preciso) para substituí-la por outra versão deste arquivo.
Tentei:
- [em: clique com o botão direito, propriedades, segurança, permissões, avançado, proprietário] mudou o proprietário para o usuário atual e [em: clique com o botão direito, segurança] concedeu todas as permissões possíveis ao usuário atual. Tentei [clique com o botão direito, renomear] - não é possível renomear, acesso negado.
Iniciou um cmd administrativo (direitos elevados) e usou a força:
takeown /f comctl32.dll icacls "comctl32.dll" /grant (current user):F rename comctl32.dll comctl32.old
Obteve permissão negada.
- Isso me deixou irritado, então iniciei um shell como usuário de sistemas (seguindo as etapas descritas em [1]) e tentei renomear o arquivo usando
rename comctl32.dll comctl32.old
este shell. Resultou novamente em permissão negada.
Achei que o shell do sistema me dava basicamente o modo deus, então isso é muito perturbador! Alguém tem mais alguma sugestão sobre como renomear este arquivo ou o que me nega acesso? Estou totalmente perdido!
//EDITAR:
Até agora também experimentei a ferramenta Unlocker. Não foi possível renomear o arquivo, mas prometeu tentar fazê-lo após a reinicialização. Reiniciei o sistema, mas meu velho amigo ainda não mudou de nome.
//EDIT 2:
Com base nos votos negativos e comentários, gostaria de adicionar uma linha de aviso para meus colegas usuários com a mesma pergunta. Só faça isso se você souber o que e por que está fazendo. Caso contrário, você poderá travar seu sistema.
Na verdade, sei o que faço: preciso substituir um arquivo que já ESTÁ corrompido. O que não sei é COMO fazer. Portanto, não há necessidade de mencionar os perigos aqui ou rejeitar a questão só porquepoderser perigoso para a integridade do sistema. Na verdade, a simples utilização de um sistema representa, em última análise, um perigo para a sua integridade - porquê punir uma questão legítima pela mesma propriedade?
Responder1
Você não pode acessá-lo (independentemente de suas permissões) porque o próprio Windows o usa para funcionar.
Inicialize a partir de outro sistema operacional (como, por exemplo, um LiveCD do Linux ou um disco de instalação do Windows) e renomeie-o a partir daí.
Aviso: Esta é uma péssima ideia e possivelmente impedirá a inicialização do Windows. Certifique-se de fazer um backup completo primeiro.
Responder2
Se o arquivo estiver sendo usado pelo kernel, você não poderá renomeá-lo sem primeiro descarregá-lo da memória. como usar o console de recuperação do Windows para renomeá-lo.
Se ele não estiver sendo usado por um processo, você poderá renomeá-lo, mas a proteção de arquivos do Windows pode fazer uma cópia com o nome original ou renomeá-lo novamente.
A maneira mais rápida de desabilitar parcialmente a proteção de arquivos do Windows é excluir o seguinte arquivo:
C:/windows/system32/restore/filelist.xml
Eu aconselho você - a menos que seja em uma instalação de teste do sistema operacional, faça backup do arquivo que deseja renomear primeiro, mas você também pode simplesmente expandi-lo a partir do arquivo binário no CD do Windows:
expand -r filename.dl_ C:/windows/system32
Isso criará o filename.dll no system32, obviamente você terá que substituir o nome do arquivo pelo nome do arquivo da dll.
Alternativamente, você pode usar o debug.exe para desativar a proteção de arquivos do Windows, mas isso é muito mais arriscado e leva cerca de meia hora