quinta-feira, 2 de fevereiro de 2012

Como mover os perfis de usuário para outro local no Windows 7

[Atualização - 19/01/2017] ATENÇÃO: faz tempo que não uso mais este método. Não sei dizer se funciona em Windows posteriores ao 7. Levando em conta que isto não é suportado pela Microsoft, recomendo cautela. Na dúvida, não aplique nada!



Coloque rótulos nas unidades para facilitar a identificação. Considerarei que o Windows está instalado na unidade C e você quer mover os perfis para a unidade D.

Reinicie e entre no menu "Opções de Inicialização Avançadas" pressionando F8 durante a inicialização. Escolha "Reparar o seu computador". Na janela "Opções de Recuperação do Sistema", escolha o layout de teclado e o seu usuário (se não tiver senha, deixe o campo em branco). Abra, então, o "Prompt de comando".

No ambiente de recuperação, geralmente as letras das unidades mudam. Use o comando dir (dir C:, dir D:, dir E:, etc.) e o rótulo de cada unidade para identificá-las.

Copie a pasta dos perfis para o novo lugar:

robocopy D:\Users E:\Users /copyall /mir /xj

A pasta de destino não deve existir. O robocopy criará automaticamente e manterá todas as permissões (importante!), atributos, carimbos de data e hora, proprietário, de todos os arquivos e subpastas. Precisamos usar o ambiente de recuperação pois é a única forma de copiar arquivos bloqueados (NTUSER.DAT, UsrClass.dat, etc.).

Saia do prompt e reinicie.

Vá ao registro e chegue na chave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Altere os valores Default, ProfilesDirectory e Public para, respectivamente, D:\Users\Default, D:\Users e D:\Users\Public, como na imagem a seguir:


Vá ao prompt e descubra o SID do seu usuário com:

wmic useraccount where name='Marcos' get sid

Retornará algo como:
SID
S-1-5-21-1414421887-207258563-3203698383-1001

Na localidade do registro citada acima, existirá uma chave com esse mesmo código. Ache-a e dentro dela altere o valor ProfileImagePath de forma que aponte para o novo caminho do perfil do seu usuário, como D:\Users\Marcos, como na imagem:


Faça logoff e logue na sua conta de usuário novamente. Está pronto! Seu perfil já estará usando a nova pasta e daqui para frente todos usuários criados na máquina terão seu perfil colocado em D:\Users.

Confira rodando set no prompt:

APPDATA, LOCALAPPDATA, USERPROFILE, TEMP, agora na unidade D

A pasta C:\Users\<usuário> pode ser excluída, afinal nós copiamos seus dados para D:\Users. Você pode excluir de uma vez a pasta C:\Users inteira, mas recomendo que exclua apenas a subpasta do usuário e deixe o resto quieto. Sabe-se lá...

MIÚDOS

- Deve servir também para Windows Vista.
- A unidade que armazenará os perfis precisa estar formatada em NTFS (pode ser um compartilhamento de rede também, mas daí já estamos no terreno dos servidores, não mais dos desktops...).
- Não perca tempo com o método de usar uma junção na raiz do C. Eu tentei de tudo que é maneira fazer funcionar, incluindo todos os ajustes possíveis de permissões, e nada.
- Na pasta original dos perfis, na unidade C, existem várias junções (e dois links simbólicos) apontando para os mais diversos lugares (veja com dir /s /al C:\Users). Não é possível copiar nem mover esses objetos. Por isso robocopy foi executado com a chave /xj. Analisando superficialmente, são para compatibilidade com programas caducos que não usam as variáveis de ambiente. Os meus programas estão funcionando sem eles. Provavelmente dê para criar manualmente (uma trabalheira...), mas só tentarei caso seja necessário.
- Atualização de um Windows para outro (Vista -> 7, por exemplo) não é suportada com perfis fora da unidade C.
- Costumo falar bem do Windows 7, mas a complicação de mover pastas inteiras de perfil poderia ser facilitada com uma opção nos moldes da que existe para pastas específicas ("Propriedades -> Local"). Alôôô, Microsoft!

LINKS

How to Change User Profile Default Location in Windows 7 (Windows7hacker) — Observação: não é explicado como migrar um perfil já existente para outro local, como eu mostro aqui.

[Atualização - 14/02/2012] Alguns aplicativos (acredito que poucos) podem não ficar contentes com o perfil em outra unidade: Alguns problemas com o perfil do Windows em outro volume.

7 comentários:

  1. muito bom gostei das dicas funcionou corretamente

    ResponderExcluir
  2. Não irei utilizar no momento, mas é bem interessante.

    ResponderExcluir
  3. Cara, sem palavras. Muito bom tutorial, parabéns!

    ResponderExcluir
  4. De todos os tutoriais testados por mim, esse foi o que funcionou 100%.

    ResponderExcluir
  5. Respostas
    1. Não sei. Não uso mais essa configuração faz anos. Honestamente, levando em conta que a MS não suporta esse tipo de coisa oficialmente e que o Windows 10 é continuamente atualizado, vá que exista risco de quebrar algo. Editarei o post para esclarecer isso.

      Excluir