No ano passado, fiz exatamente o mesmo caminho que você. IIRC, a solução que você escreveu foi aproximadamente o que acabei usando, então eu acho que está tudo bem.
Por segurança, não execute o terceiro comando ( rmdir /S /Q D:\Users
) ainda.
Antes de obliterar D:\Users
, é melhor renomeá-lo para outra coisa e ver se algo quebra durante a inicialização. Se por acaso as coisas ficarem desagradáveis, renomeá-las de volta garantirá o estado anterior, o que você não poderá fazer se você rmdir /s
de antemão.
Além disso, em vez da última etapa ( mklink D:\Users C:\Users /j
), prefiro usar uma pesquisa e substituição de lotes no Registro para alterar todas as ocorrências de D:\Users
de volta para C:\Users
(e talvez permitir que aplicativos pendentes falhar - isso é com você, eu só não queria outra junção). Eu me lembro vagamente de ter sido um pouco criativo nessa parte, porque às vezes o caminho era armazenado como D/Users
ou D:\Users
. Talvez eu tenha usado o regex para conseguir isso. Use uma boa ferramenta de registro (usei RegEditX ).
Então, resumindo, eu recomendaria:
rmdir C:\Users #remove junction link
robocopy D:\Users C:\Users /e /xj /copyall
rename D:\Users D:\UsersOld
# try booting
# search and replace registry
# use system for a couple of weeks
rmdir /S /Q D:\Users
Nota pequena: não é o caso de o Windows "não reconhecer" que a pasta Users
está em D:
. O Windows sabe que você mudou e substituiu o caminho original por uma junção, e deliberadamente impede a atualização (isso é visível nos logs).