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

62

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

Qual é a melhor maneira de fazer isso?

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

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

Ambos os D's no comando mklink estão corretos. Quando o sistema é reinicializado, a unidade que estava no console de recuperação se torna a unidade C.

    
por Scott 14.05.2009 / 15:57

9 respostas

64

Você pode mover toda a pasta C: \ Users para uma unidade diferente facilmente após a instalação do Windows:

Aviso: Isso pode causar problemas se / quando você precisar executar uma restauração do sistema

  1. Inicialize a mídia de instalação e acesse o prompt de comando ( pressione Shift + F10 no diálogo de instalação )
  2. Use o Robocopy para copiar C: \ Users para D: \ Users: robocopy c:\Users d:\Users /mir /xj /copyall
    uma. /mir diz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos
    b. /xj é muito importante, isso diz ao robocopy para não seguir os pontos de junção. Se você esquecer isso, você terá muitos problemas. c. /copyall copiará todos os atributos, incluindo as informações da ACL e do proprietário
  3. Verifique se os arquivos foram 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. Eu tenho usado este processo desde que o Vista foi RTM sem problemas.

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

Atualização: Como descobri da maneira mais difícil, achei que também mencionaria que, se você estiver planejando 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 Win 7.

Atualização 2: @Benjol tem 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ê encontrar algum problema com aplicativos herdados, dê uma olhada aqui e veja se o método resolve o problema.

    
por 14.05.2009 / 16:51
9

A maneira mais fácil e recomendada é mover as pastas especiais individuais dentro de um diretório de usuário, como Documentos, Músicas, Vídeos, etc. Você pode fazer isso com as seguintes etapas:

  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 isso ainda deixa a pasta principal 'Usuários' no lugar.

O caminho hard é muito mais complicado e arriscado:

In my search for a solution, the only two easy ways I found to move the user profile directory locations from the system drive is to

  1. Set the User Profile folder during setup using an unattended install file.
  2. Move the individual folders inside your user profile, which can be done using explorer (which will update the registry keys HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders).

However, this was not good enough for me, I wanted my actual user profile folder to be moved to a seperate partition/volume, including registry settings. I discovered that it is not actually that hard, provided you’re comfortable with mass replacing registry keys and values.

Here is how I moved my user profile location. Please note that I wanted all of the profiles moved, included Public and Default, so some of these steps can be skipped if you do not want that:

  1. Make sure you have a complete backup of your system!
  2. Copy the original Default Profile directory to the new location (e.g. from C:\Users\Default to D:\Users\Default).
  3. Copy the original Public Profile directory to the new location (e.g. from C:\Users\Public to D:\Users\Public).
  4. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  5. Change the value of the Default key to the new user profile location (e.g. D:\Users\Default).
  6. Change the value of the Public key to the new user profile location (e.g. D:\Users\Public).
  7. Change the value of the ProfilesDirectory to the new user profile location (e.g. D:\Users).
  8. At this point, you need to restart and log back in as a different user that has never logged in before and therefore does not have a profile created. In my case, the Administrator user had never logged in before so I enabled it so that Administrator could log in and used that. You can enable Administrator login by loading Computer Management and then go to User Accounts, edit the properties for Administrator, and then uncheck Disable Login.
  9. After logging in for the first time with the new user account, you will see “Creating Desktop” and other things like that while Windows is creating your profile. Note that the new profile should be created in the new location.
    1. After logging in, try to close as many applications as possible. This will prevent most files from being locked so that you cannot copy them.
    2. Copy the entire original user profiles folder from the original location to the new location (e.g. C:\Users* to D:\Users). (See next step after copy starts).
    3. There are a few things to note during this copy. There were thousands of .TMP files that were locked and would not copy. I just skipped these files. I held down Alt-S so that I could see all of the skipped files and make sure that there were only .TMP files being skipped. Yes, this took a little while, but at least I was confident that I got all of my files copied. This process could probably be made easier using the command prompt or powershell.
    4. If, in your case, there are some files that will not copy, you can run procexp.exe, which is file provided by sysinternals. Then do a Find Handle and search for part of the filename. procexp will tell you which programs are locking the file. As long as you closed as many programs as you could, though, this should not happen.
    5. Find and download a program that will do a Search & Replace on the registry. I will not suggest one because I did not find one single program that worked perfectly. I ended up downloading a few different freeware applications and using all of them.
    6. Using the Registry Search & Replace program, do a search for the original user profile folder and replace it with the new user profile folder (e.g. search for “C:\Users” and replace with “D:\Users”. Note that some of the applications I used would only change values and not key names. However, the keys that needed to be chagned were all related to MuiCache. I do not know if these actually need to be updated. I did just to make sure.
    7. Log out. Log back in with the same user. Repeat step 14 until there is nothing left to replace. The reason for this step is that on logout, some programs seem to update the registry using the old user profile path.
    8. Run regedit.exe and do a search for the original user profile path and make sure it does not exist. The reason for this step is because (as noted in step 13), I did not trust any of the Registry Search & Replace programs I used. I ended up needing to update about a dozen of the keys and values manually, since the search & replace missed them.
    9. So that you can easily find programs that do not use the registry and hard-coded profile paths, rename your original profile folder (e.g. rename C:\Users to C:\~Users).
    10. Log out. Log back in as your usual user. Everything should be working correctly except for programs that use a “hardcoded” user profile location.
    11. There are two easy methods that can be used to find programs that use a “hardcoded” profile location and are still looking for the original user profile path. You can use the procexp.exe trick mentioned above and search for handles in the original profile location. You can also monitor the oringal profile location to see if any new folders or files were created. For example, in my case, FolderShare created some folders and files in the directory C:\Users\MyUsername\AppData\Local\FolderShare. So, I updated the FolderShare settings to point to the different path and then deleted the C:\Users directory (note that C:\~Users still existed as a backup).
    12. Since you are now confident that all of your data has been moved (right??????), you can deleted the backup of the original user profile location (e.g. C:\~Users).

Fonte: Alterar a localização da pasta de perfil de usuário no Vista

Vendo o fato de que a Microsoft facilitou muito a mudança da localização das pastas especiais, e tão difícil de mudar a localização da estrutura de pastas de usuários, eu aconselho vivamente que você tome a abordagem fácil .

    
por 14.05.2009 / 16:33
4

Aqui está o processo correto

  1. Inicialize a mídia de instalação e acesse o prompt de comando (acredito que você precisa clicar primeiro no reparo)
  2. Use o Robocopy para copiar C: \ Usuários para D: \ Usuários: robocopy c: \ Usuários d: \ Usuários / mir / xj / copyall
      uma. / mir diz ao robocopy para espelhar os diretórios, isso copiará todos os arquivos.   b. / xj é muito importante, isto diz ao robocopy para não seguir os pontos de junção. Se você esquecer isso, você terá muitos problemas.
    c. / copyall copiará todos os atributos incluindo as informações da ACL e do proprietário
  3. Verifique se os arquivos foram 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 fiz as instruções do Jimmie e estava quase trabalhando. No entanto, eu tive um problema estranho com o IE, eu não consegui baixar um arquivo. Eu encontrei a solução para corrigir o meu problema de download e está documentado no superusuário :

    
por 22.04.2010 / 04:27
2

Alguns recursos para "automaticamente" mover C: \ Users com um script não assistido durante a instalação.

A Microsoft tem uma KB com alguns problemas em torno das pastas especiais em movimento que podem ser úteis para ler.

Quando se trata do próprio script autônomo, há um elemento chamado FolderLocations que tem um filho do ProfilesDirectory que você pode especificar da seguinte forma:

<?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>

Veja os artigos da Microsoft sobre a implantação do Vista que inclui como lidar unattend.xml e aqui está a melhor fonte que encontrei da extensão Como mover o artigo sobre pastas especiais de Ramesh Srinivasan que explica em profundidade como fazer isso e o que observar (incluindo o fato de que, mesmo depois deste script não-assistido ter sido executado, por exemplo, como um argumento para configurar .exe, ainda existem pontos de junção como c: \ documents e settings que apontam para o local antigo que você precisa corrigir manualmente (se possível)).

    
por 21.05.2009 / 16:37
1

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

link

link

link

link

Mas no que diz respeito ao Vista / Windows 7, parece que esse processo pode ter ficado mais simples. Aqui estão alguns posts que lhe dizem como fazê-lo no Vista, o que é o que o Windows 7 é:

link

link

link

    
por 14.05.2009 / 16:26
1

Isso é um pouco tarde ...

Os problemas com a movimentação de 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 linkando para o novo diretório, todos os caminhos continuarão funcionando, como com a solução Jimmie Houts, no entanto eu não movo o administrador, serviço de rede, público, etc, então todo o sistema normal funções, como o windows update, continuam a funcionar normalmente.

Ian

    
por 05.05.2011 / 10:44
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 .

    
por 14.05.2009 / 16:26
0

A maior parte é copiada de outras, depois modificada e expandida pelo atual redator, o seu servidor.

Para mover mais facilmente todos os arquivos do usuário e arquivos do programa do usuário da sua 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 uma 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 o idioma, a moeda e o teclado e clique em Avançar. Na tela com o "Instalar agora" escolha "Reparar o 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 sistemas operacionais instalados disponíveis para recuperação, e se está selecionado e pressione próximo. Você receberá uma lista de ferramentas de recuperação. Escolha "Prompt de comando".

Encontre a sua unidade virtual do Windows carregada a partir da mídia Win7 (provavelmente C ou X), encontre sua unidade Windows / SSD (D ou E) e localize seu HDD (disco rígido regular) (D ou E).

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

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

Alguns informam que o modo de recuperação do sistema configurará suas unidades da seguinte forma: C: unidade virtual / temp do Windows D: Unidade real do Windows / SSD E: HDD, eles querem colocar / Usuários.

No prompt de comando, você usará o Robocopy (NÃO xcopy!) para copiar c: \ Users para d: \ Users, depois excluirá o antigo c: \ Users e criará um symlink de c: \ Users para D: \Comercial. Observe que você deve fazer essas coisas na ordem e não deve ter um diretório d: \ Users 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 os drives estão no Recovery Mode e depois eles ficarão corretos mais tarde.

eu usei: robocopy / mir / xj E: \ Usuários D: \ Usuários

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, isto diz ao robocopy para não seguir os pontos de junção. Se você esquecer isso, você terá muitos problemas. Certifique-se de que nenhum arquivo falhou ao copiar (coluna FAILED = 0).

Em seguida, você deve remover a antiga pasta Users da unidade Windows / SSD (c :), antes de poder criar o symlink: Eu usei: rmdir / S / Q E: \ Usuários

Crie um symlink NTFS que aponta para a nova pasta Users:

eu usei: mklink / J E: \ Usuários D: \ Usuários

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

Para ver a prova do que você criou, ainda na janela do prompt de comando, vá para o comando atual do Windows / SSD e faça o "dir" e verá: "Usuários [D: \ Usuários]"

Agora, reinicie e você verá / Usuários no seu disco rígido, e lá vai você. Nenhuma outra configuração ou manipulação necessária. Novos perfis de usuário serão todos armazenados na unidade d:, assim como qualquer dado específico do usuário. E é realizável sem qualquer confusão no registro, procurando e substituindo valores, ou tendo que mexer com novos perfis de qualquer forma. Totalmente definido e esquecer.

    
por 04.12.2009 / 22:36
0

Isso não é exatamente o que você precisa, mas se estiver no Windows 7, uma alternativa realmente boa é alterar o local das Bibliotecas. Por esse método, você salva Documentos, Imagens etc., mas não todo o perfil na unidade D.

Ontem à noite eu criei uma ferramenta que pode ser útil para você: Set Libraries .

    
por 13.10.2011 / 04:49