Qual é a melhor maneira de mover c: \ users para d: \ users sob vista / W7 [fechado]

64

Acabei de instalar o Windows 7 RC1 e quero mover c: \ users para d: \ users.

Qual é a melhor forma de fazer isso?


Devido ao fato de o Windows 7 criar uma partição reservada montada como C: no console de recuperação, tive que usar os seguintes comandos

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j

Os dois Ds no comando mklink estão corretos. Quando o sistema é reiniciado, a unidade que era D no console de recuperação se torna a unidade C.

Scott
fonte
11
Boa pegada! Vou ter que lembrar esse detalhe partição reservada quando eu mudar para o Windows 7
Jimmie R. Houts
11
Por favor, veja esta questão relacionada (para Vista), e responde: serverfault.com/questions/4624/...
Benjol
Não posso deixar comentários, por isso estou escrevendo isso em uma resposta. Alguém deve avisar que a opção / mir (que parece "espelho") no exemplo: robocopy / mir / xj D: \ Usuários E: \ Usuários excluirão tudo no E: \ Users que não está no D :\Comercial. Na verdade, estou me perguntando se a opção / mir é realmente necessária. Acabei excluindo muitos dos meus arquivos na minha pasta / Usuários não vazios de uma instalação mais antiga.
Não é hilário que a questão seja encerrada como fora de tópico, mas tenha um enorme número de seguidores com respostas e votos positivos.
Captcha
É porque a plebe usa esse site para fazer perguntas reais como essa para problemas muito reais, mas nossos senhores altos e poderosos sentem que é inútil porque aprenderam essas coisas anos atrás, em vez de serem jogados no caos em massa que é hoje em dia como nós .
David

Respostas:

65

Você pode mover a pasta C: \ Users inteira para uma unidade diferente com bastante facilidade após a instalação do Windows:

Aviso: Fazer isso pode causar problemas se / quando você precisar executar uma Restauração do sistema

  1. Inicialize na mídia de instalação e acesse o prompt de comando ( pressione Shift + F10 na caixa de diálogo de instalação )
  2. Use Robocopy para copiar C: \ Users para D: \ Users: robocopy c:\Users d:\Users /mir /xj /copyall
    a. /mirdiz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos
    b. /xjé muito importante, isso diz à robocopy para não seguir os pontos de junção. Se você esquecer isso, terá muitos problemas.
    c. /copyallcopiará todos os atributos, incluindo informações da ACL e do proprietário
  3. Verifique se os arquivos copiados com sucesso
  4. Excluir c: \ Usuários
  5. Crie uma junção que aponte para d: \ Usuários: mklink c:\Users d:\Users /j

É isso aí. Eu tenho usado esse processo desde que o Vista foi RTM sem problemas.

Aqui está um artigo que explica isso também. Basta usar robocopy em vez de xcopy, como ele faz no artigo, para evitar possíveis problemas de permissões de NTFS.

Atualização: Como descobri da maneira mais difícil, pensei em mencionar também que, se você planeja mover "Dados do Programa" ou "Arquivos de Programas" com esse método, ficará desapontado ao descobrir que tudo funciona como esperado , mas as atualizações do Windows não serão mais instaladas. Não tenho certeza se isso foi corrigido no Win 7.

Atualização 2: O @Benjol possui uma postagem no blog que detalha um método de mover a pasta de perfis que recriará as junções que esse método deixa de fora. Se você tiver algum problema com aplicativos herdados, dê uma olhada aqui e veja se o método dele resolve o problema.

Jimmie R. Houts
fonte
1+ desligada-move + ponto de junção solução mais fácil - mas gostaria de acrescentar que um script de instalação autônoma poderia fazer isso durante a instalação, bem ^^
Oskar Duveborn
Este é um truque muito bom ... e fico feliz que alguém tenha postado todas as etapas necessárias para executar esta ação.
MrTomahawk
8
-1: Observe que essa abordagem NÃO recria todas as junções que não são copiadas pelo robocopy (nb robocopy não pode copiar junções mesmo sem o / xj, ele cria novas pastas). Isso não vai parar janelas de trabalho, mas provavelmente vai quebrar aplicações legadas que ir à procura de pastas como 'Meus Documentos' etc ...
Benjol
11
Altere as configurações da pasta para visualizar o sistema e os arquivos ocultos. A pasta Usuários está repleta de junções, que apontam (por exemplo), de Meus documentos para Documentos, etc. É para compatibilidade com versões anteriores de aplicativos herdados; portanto, você pode ou não perceber a diferença, dependendo do que instalou.
22411 Benjol
3
Marque @Jimmie por explicar em detalhes como fazer isso. Estou realmente cansada de o Windows simplesmente começar a colocar os dados do usuário e a instalação de aplicativos onde quer que seja, sem antes me perguntar! WTF eles fizeram tão difícil mudar ?? E se minha partição principal for uma unidade SSD e eu tiver janelas instaladas para desempenho? Eu com certeza não quero janelas usando essa partição como um maldito pâncreas para tudo!
greatwolf
11

O mais fácil e recomendado maneira é mover as pastas especiais individuais dentro de um diretório do usuário, como documentos, músicas, vídeos, etc. Você pode fazer isso com os seguintes passos:

  1. Clique com o botão direito> Propriedades
  2. Guia Localização
  3. Preencha o local desejado e clique em 'mover'

A desvantagem disso é que ele ainda mantém a pasta principal 'Usuários' no lugar.

O caminho difícil é muito mais complicado e arriscado:

Na minha busca por uma solução, as duas únicas maneiras fáceis de mover os locais do diretório de perfil de usuário da unidade do sistema é:

  1. Defina a pasta Perfil do usuário durante a instalação usando um arquivo de instalação autônoma.
  2. Mova as pastas individuais dentro do seu perfil de usuário, o que pode ser feito usando o explorer (que atualizará as chaves do Registro HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders e HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Pastas Shell).

No entanto, isso não foi bom o suficiente para mim, eu queria que minha pasta de perfil de usuário real fosse movida para uma partição / volume separado, incluindo configurações do Registro. Descobri que não é tão difícil assim, desde que você se sinta confortável com a substituição em massa de chaves e valores do Registro.

Aqui está como mudei a localização do meu perfil de usuário. Observe que eu queria que todos os perfis fossem movidos, incluindo Público e Padrão, para que algumas dessas etapas possam ser ignoradas se você não desejar:

  1. Verifique se você possui um backup completo do seu sistema!
  2. Copie o diretório original do perfil padrão para o novo local (por exemplo, de C: \ Users \ Default para D: \ Users \ Default).
  3. Copie o diretório original do perfil público para o novo local (por exemplo, de C: \ Users \ Public para D: \ Users \ Public).
  4. Navegue para HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProfileList.
  5. Altere o valor da chave Padrão para o novo local do perfil de usuário (por exemplo, D: \ Usuários \ Padrão).
  6. Altere o valor da chave Pública para o novo local do perfil de usuário (por exemplo, D: \ Usuários \ Público).
  7. Altere o valor do ProfilesDirectory para o novo local do perfil de usuário (por exemplo, D: \ Users).
  8. Neste ponto, você precisa reiniciar e efetuar login novamente como um usuário diferente que nunca fez login antes e, portanto, não possui um perfil criado. No meu caso, o usuário Administrador nunca havia feito login antes, então eu o habilitei para que o Administrador pudesse fazer login e o usasse. Você pode ativar o logon de administrador carregando o Gerenciamento do Computador e, em seguida, vá para Contas de Usuário, edite as propriedades do Administrador e desmarque Desativar Logon.
  9. Após fazer o login pela primeira vez com a nova conta de usuário, você verá “Criando a área de trabalho” e outras coisas assim enquanto o Windows estiver criando seu perfil. Observe que o novo perfil deve ser criado no novo local.
  10. Após o login, tente fechar o maior número possível de aplicativos. Isso impedirá que a maioria dos arquivos seja bloqueada, para que você não possa copiá-los.
  11. Copie toda a pasta de perfis de usuário original do local original para o novo local (por exemplo, C: \ Users * para D: \ Users). (Veja o próximo passo após o início da cópia).
  12. Há algumas coisas a serem observadas durante esta cópia. Havia milhares de arquivos .TMP bloqueados e que não eram copiados. Acabei de pular esses arquivos. Pressionei a tecla Alt-S para ver todos os arquivos ignorados e verifique se havia apenas arquivos .TMP sendo ignorados. Sim, demorou um pouco, mas pelo menos eu estava confiante de que todos os meus arquivos foram copiados. Esse processo provavelmente poderia ser facilitado usando o prompt de comando ou o PowerShell.
  13. Se, no seu caso, houver alguns arquivos que não serão copiados, você poderá executar o procexp.exe, que é o arquivo fornecido pelo sysinternals. Em seguida, faça um identificador de localização e procure por parte do nome do arquivo. procexp lhe dirá quais programas estão bloqueando o arquivo. Contanto que você feche o máximo de programas possível, isso não deve acontecer.
  14. Encontre e baixe um programa que fará uma Pesquisa e Substituição no registro. Não vou sugerir um porque não encontrei um único programa que funcionasse perfeitamente. Acabei baixando alguns aplicativos freeware diferentes e usando todos eles.
  15. Usando o programa Registry Search & Replace, faça uma busca pela pasta de perfil de usuário original e substitua-a pela nova pasta de perfil de usuário (por exemplo, pesquise "C: \ Users" e substitua por "D: \ Users". Observe que algumas das os aplicativos que eu usei alterariam apenas valores e não nomes de chaves. No entanto, as chaves que precisavam ser identificadas estavam relacionadas ao MuiCache. Não sei se elas realmente precisam ser atualizadas. Fiz isso apenas para garantir.
  16. Sair. Efetue login novamente com o mesmo usuário. Repita a etapa 14 até que não haja mais nada para substituir. O motivo dessa etapa é que, no logout, alguns programas parecem atualizar o registro usando o caminho do perfil de usuário antigo.
  17. Execute regedit.exe e pesquise o caminho do perfil de usuário original e verifique se ele não existe. O motivo desta etapa é que (conforme observado na etapa 13), não confiei em nenhum dos programas de Pesquisa e Substituição de Registro que usei. Acabei precisando atualizar cerca de uma dúzia de chaves e valores manualmente, uma vez que a pesquisa e a substituição não foram atendidas.
  18. Para encontrar facilmente programas que não usam o registro e os caminhos de perfil codificados, renomeie sua pasta de perfil original (por exemplo, renomeie C: \ Users para C: \ ~ Users).
  19. Sair. Efetue login novamente como seu usuário habitual. Tudo deve estar funcionando corretamente, exceto para programas que usam um local de perfil de usuário "codificado".
  20. Existem dois métodos fáceis que podem ser usados ​​para encontrar programas que usam um local de perfil "codificado" e ainda estão procurando o caminho do perfil de usuário original. Você pode usar o truque procexp.exe mencionado acima e procurar identificadores no local do perfil original. Você também pode monitorar o local do perfil original para ver se novas pastas ou arquivos foram criados. Por exemplo, no meu caso, o FolderShare criou algumas pastas e arquivos no diretório C: \ Users \ MyUsername \ AppData \ Local \ FolderShare. Portanto, atualizei as configurações do FolderShare para apontar para o caminho diferente e excluí o diretório C: \ Users (observe que C: \ ~ Users ainda existia como backup).
  21. Como agora você tem certeza de que todos os seus dados foram movidos (à direita ??????), é possível excluir o backup do local do perfil do usuário original (por exemplo, C: \ ~ Usuários).

Fonte: Alterar local da pasta de perfil de usuário no Vista

Como a Microsoft facilitou a alteração do local das pastas especiais e a localização de toda a estrutura de pastas do usuário, recomendo fortemente que você adote a abordagem mais fácil .

Aron Rotteveel
fonte
5
Caramba! Não recomendaria esses processos ao meu pior inimigo :-) mas ... +1 porque funciona, independentemente de quão confuso possa parecer. Gostaria de saber o que as outras coisas como 'hack' pode quebrar a linha ...
Eu vi esse artigo, mas queria mover o diretório de usuários inteiro e queria evitar mexer no registro.
1475 Scott
11
Eu acrescentaria que o problema de mover todos os diretórios "Especiais" e não Usuários é que você não pode mover o AppData como uma pasta especial, e um número crescente de programas mantém seus caches, salva e grandes quantidades de dados.
Aquário
2
@Aquarion: MAS os diretórios Local, LocalLow e Roaming podem ser movidos usando a guia local :) :)
Milind R
Os avanços da tecnologia em quatro anos são verdadeiramente ilimitados. A capacidade de redirecionar quase todas as pastas separadas em um diretório e todas as pastas separadas em um subdiretório, mas não redirecionar facilmente qualquer diretório pai, é definitivamente uma limitação sensata, claramente do melhor interesse da base de usuários.
Aquarion
5

Aqui está o processo correto

  1. Inicialize na mídia de instalação e acesse o prompt de comando (acredito que você precisa clicar em reparar primeiro)
  2. Use Robocopy para copiar C: \ Usuários para D: \ Usuários: robocopy c: \ Usuários d: \ Usuários / mir / xj / copyall
    a. / mir diz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos
    b. / xj é muito importante, isso diz à robocopy para não seguir os pontos de junção. Se você esquecer isso, terá muitos problemas.
    c. / copyall copiará todos os atributos, incluindo ACL e informações do proprietário
  3. Verifique se os arquivos copiados com sucesso
  4. Excluir c: \ Usuários
  5. Crie uma junção que aponte para d: \ Usuários: mklink c: \ Usuários d: \ Usuários / j

Eu dei as instruções de Jimmie e estava quase trabalhando. No entanto, tive um problema estranho com o IE, não consegui baixar um arquivo. Encontrei a solução para corrigir meu problema de download e está documentado no superusuário :

Hapkido
fonte
Obrigado. Não consigo editar a resposta ou adiciono suas alterações.
575 Scott
+1 para o / copyall eu pretendia adicionar isso há muito tempo e nunca cheguei a isso.
Jimmie R. Houts
3

Alguns recursos para mover automaticamente C: \ Users com um script autônomo durante a instalação.

O Microsofts possui um KB com alguns problemas relacionados à movimentação de pastas especiais que podem ser úteis para ler.

Quando se trata do próprio script autônomo, existe um elemento chamado FolderLocations que possui um filho ProfilesDirectory que você pode especificar como tal:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
processorArchitecture="x86">
<FolderLocations>
<ProfilesDirectory>d:\users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
</unattend>

Aqui estão os artigos da Microsoft sobre a implantação do Vista, que incluem como lidar com o unattend.xml e a melhor fonte que encontrei do artigo estendido sobre Como mover pastas especiais de Ramesh Srinivasan, que explica detalhadamente como fazer isso e o que observar (incluindo o fato de que, mesmo após a execução desse script autônomo, por exemplo, como argumento para o setup.exe, ainda existem pontos de junção como c: \ documentos e configurações que apontam para o local antigo que você precisaria corrigir manualmente (se possível)).

Oskar Duveborn
fonte
2

"C:\users"é uma pasta do sistema equivalente ao "C:\Documents and Settings"Windows XP / 2000 / NT e, por isso, foi muito difícil, se não impossível, mover a pasta. Havia várias maneiras de solucionar esse problema movendo as subpastas por meio do TweakUI ou de alguns hacks semelhantes, em vez da pasta pai, e há muitas postagens sobre isso, veja aqui:

http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.microsoft.com/kb/236621

http://support.microsoft.com/default.aspx?scid=kb;en-us;314843

http://support.microsoft.com/default.aspx?scid=KB;EN-US;q310147&ID=KB;EN-US;q310147

Mas em relação ao Vista / Windows 7, parece que esse processo pode ter se tornado mais simples. Aqui estão algumas postagens que mostram como fazê-lo no Vista, que é a essência do Windows 7:

http://www.ehow.com/how_2064387_relocate-user-files-windows-vista.html

http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-vista/

http://www.howtogeek.com/howto/windows-vista/moving-your-personal-data-folders-in-windows-vista-the-easy-way/

mrTomahawk
fonte
Como eu disse na minha resposta, você não pode mover C: \ Users para uma unidade diferente. Conforme seus links se repetem, você pode mover algumas das "pastas especiais" dentro dele, mas a realocação de C: \ Users não é possível.
2

Isso é um pouco tarde ...

Os problemas ao mover c: \ users para outro disco podem ser evitados movendo perfis individuais em vez de todo o diretório.

Se você deixar uma junção em c: \ users com link para o novo diretório, todos os caminhos continuarão funcionando, como na solução Jimmie Houts, no entanto, não movo administrador, serviço de rede, público, etc., para que todas as funções normais do sistema, como atualização do Windows, continue funcionando normalmente.

Ian

Ian Murphy
fonte
0

Eu pesquisei a mesma coisa por um longo tempo. Isso não pode ser feito. Você pode mover as pastas "especiais" (Documentos, Minhas músicas, etc.), mas não pode realocar o diretório Usuários .


fonte
11
Consegui realocar o diretório de usuários.
1948 Scott
0

A maior parte disso é copiada de outras pessoas, depois modificada e expandida pelo atual escritor, tu servidor.

Para mover com mais facilidade todos os arquivos e programas do usuário da unidade de inicialização (um SSD no meu caso), siga estas instruções.

PRIMEIRO, crie um ponto de restauração, apenas no caso de: 1. Abra Sistema, clicando no botão Iniciar, clicando com o botão direito em Computador e, em seguida, clicando em Propriedades. 2. No painel esquerdo, clique em Proteção do sistema. Se você for solicitado a fornecer uma senha ou confirmação de administrador, digite a senha ou forneça a confirmação. 3. Clique na guia Proteção do sistema e, em seguida, clique em Criar. 4. Na caixa de diálogo Proteção do sistema, digite uma descrição e clique em Criar.

ENTÃO: Vá para Recuperação do sistema / prompt de comando: Inicialize com o DVD de instalação do Win7, escolha idioma, moeda e teclado e pressione Avançar. Na tela com "Instalar agora", escolha "Reparar seu computador". Você será perguntado se deseja "Reparar e reiniciar" pelas opções de Recuperação do sistema, escolha "Não". Em seguida, verifique se o Windows 7 está listado como um dos SOs disponíveis para recuperação e se está selecionado e pressione Avançar. Você receberá uma lista de ferramentas de recuperação. Escolha "Prompt de comando".

Encontre sua unidade virtual do Windows carregada na mídia Win7 (provavelmente C ou X), encontre sua unidade Windows / SSD real (D ou E) e encontre seu HDD (disco rígido normal) (D ou E).

No meu sistema normalmente, C = SSD com Windows, D = unidade de dados HDD

Usando a mídia Win7 Update, as unidades no modo de recuperação foram configuradas de maneira diferente: X: unidade virtual / temp do Windows, E: unidade real do Windows / SSD, D: HDD, disco rígido em que eu queria colocar \ Users.

Alguns relatam que o modo de recuperação do sistema configurará suas unidades da seguinte maneira: C: unidade virtual / temp do Windows D: unidade real do Windows / SSD E: HDD, eles desejam colocar / usuários.

No prompt de comando, você usará o Robocopy (NÃO xcopy!) Para copiar c: \ Users para d: \ Users, exclua o c: \ Users antigo e faça um link simbólico de c: \ Users para D: \ Users. Observe que você deve fazer essas coisas em ordem e não deve ter ad: \ Users dir antes de fazer isso.

NOTA: na janela do prompt de comando de recuperação do sistema, suas unidades não são as mesmas que serão depois que você sair do modo de recuperação! Portanto, ajuste os comandos abaixo para saber como as unidades estão no modo de recuperação e elas serão corrigidas mais tarde.

Eu usei: robocopy / mir / xj E: \ Users D: \ Users

Para mover / Usuários do Windows / SSD para o HDD. / mir diz ao robocopy para espelhar os diretórios; isso copiará todos os arquivos e permissões. / xj é muito importante, isso diz à robocopy para não seguir os pontos de junção. Se você esquecer isso, terá muitos problemas. Verifique se nenhum arquivo falhou ao copiar (coluna FAILED = 0).

Em seguida, você deve remover a pasta Usuários antiga da unidade Windows / SSD (c :), antes de criar o link simbólico: usei: rmdir / S / QE: \ Users

Crie uma junção / symlink NTFS que aponte para a nova pasta Usuários:

Eu usei: mklink / JE: \ Users D: \ Users

Use a opção / J para criar uma junção que é um link simbólico rígido. (Se você usar a opção / D, também precisará editar o registro, pois não será um link físico.) Usando / J, quando o Windows procurar o diretório C: \ Users, ele o encontrará! Mas será no HDD em vez do SSD. Complicado!

Para ver a prova do que você criou, ainda na janela do prompt de comando, entre no Windows / SSD real e execute o comando "dir" e verá: "Usuários [D: \ Usuários]"

Agora reinicie e você verá / Usuários no seu disco rígido e pronto. Não é necessária nenhuma configuração ou mexer. Todos os novos perfis de usuário serão armazenados na unidade d:, assim como quaisquer dados específicos do usuário. E é possível sem mexer no registro, pesquisando e substituindo valores ou sem mexer com novos perfis de qualquer maneira. Totalmente definido e esqueça.


fonte
11
Parece uma versão mais longa da resposta de Jimmie R. Houts, mas não aborda nada de novo ou os problemas de sua resposta (não copiando links simbólicos).
James McMahon
0

Isso não é exatamente o que você precisa, mas se você estiver no Windows 7, uma alternativa muito boa é alterar a localização das bibliotecas. Por esse método, você salva Documentos, Imagens, etc., mas nem todo o perfil na unidade D.

Ontem à noite, criei uma ferramenta que pode ser útil para você: Definir bibliotecas .

Ricardo Polo
fonte