Este é, infelizmente, o comportamento esperado quando você altera a letra da unidade de um volume com programas registrados instalados nele.
Os programas terão mais do que apenas atalhos para eles, que dependem da letra da unidade. Por exemplo, quando o Microsoft Office é instalado em C: \ Arquivos de Programas, muitas chaves no registro serão gravadas, com esse local no disco como o local do Microsoft Office. Por exemplo: HKLM \ SOFTWARE \ Microsoft \ Office \ 14.0 \ Excel \ InstallRoot terá um valor chamado Caminho que aponta para C: \ Arquivos de Programas \ Microsoft Office \ Office14 \ .
Depois de alterar a letra da unidade, C: torna-se, por exemplo, X :, os dados no registro não estão mais corretos. Você também pode ter problemas com suas variáveis de ambiente. Se % SystemDrive% ainda estiver sendo exibido como C: (e % ProgramFiles% como C: \ Arquivos de Programas ) , e você mudar a letra da unidade, isso vai quebrar um monte de coisas.
Você pode pesquisar no registro e procurar instâncias de "C: \" e alterá-lo para "X: \" (se C: é a letra antiga e X: a nova letra) e verifique se as variáveis de ambiente estão apontando para o disco certo.
Alternativamente, você pode usar o comando subst , assim você tem duas letras de unidade apontando para o mesmo disco.
Por exemplo, a execução de subst C: X: \ criaria uma unidade C :, que na verdade é a mesma coisa que a unidade X :. Você poderia usar tanto para acessar os arquivos.
Se você quiser corrigir o problema de o software parecer ter sido removido manualmente, você poderá fazer isso observando as chaves em HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall e atualizar quaisquer valores chamados InstallSource , InstallLocation , DisplayIcon ou UninstallString que fazem referência à letra da unidade antiga.