Parece um problema não muito difícil e, depois de vários obstáculos, estou loucamente perto. Mas não consigo chegar lá.
Estou executando o Windows 7 na loja de desenvolvimento. Quero começar a usar o VS2010 para trabalhar em algumas coisas que não serão lançadas por um tempo. Meu chefe disse que não havia código beta na máquina de produção, mas eu poderia executar o VS2010 para este projeto se pudesse fazê-lo em um ambiente isolado, como um PC virtual.
Bem, eu já usei o beta e o RC do Win7 nos VPCs antes, e foi dolorosamente lento por causa do ambiente do VPC. Mas todo mundo está elogiando o recurso de inicialização em VHD do Windows 7, onde apenas o disco é virtualizado e você está realmente rodando no hardware. Deveria ser um pouco mais lento, mas nem perto da penalidade de velocidade da VPC.
Passei bastante tempo instalando tudo da maneira que eu queria. Então, pensei, clonarei minha unidade de sistema usando o Disk2VHD, inicializarei e instalarei o VS2010 nele. (Eu mantenho a maioria dos meus dados de usuário, incluindo todos os meus projetos, em uma partição separada, para que não precisassem ser duplicados e ainda estivessem disponíveis.)
Bem, eu tive algumas dificuldades com isso, devido principalmente ao fato de estar usando uma versão antiga do Disk2VHD - (obtenha as mais recentes, se você quiser experimentá-las.) Mas finalmente consegui inicializá-las. (Scott Hanselman tem uma boa postagem de blog na inicialização do VHD).
Mas não era exatamente o que eu estava esperando ou esperando. O que eu esperava era que o VHD se tornasse a unidade C: e a unidade C: (física) original seria oculta ou montada sob uma letra diferente e, portanto, isolada e protegida de quaisquer alterações.
O que você realmente entende é que o VHD se torna a unidade D: E você inicializa a partir da unidade D: MAS sua unidade C: original ainda está lá. O que é bom, EXCETO que o registro no VHD é um clone do registro na unidade C: e inclui muitas referências codificadas no C :. Portanto, o resultado é que algumas coisas vêm de (e modificam) D: (o VHD), mas outras vêm de (e modificam) C :. (Se você abrir um prompt do cmd e executar um SET para examinar suas variáveis de ambiente, verá uma mistura de caminhos D: \ e C: \.) Portanto, eu realmente não tenho um ambiente isolado. Mais importante ainda,% ProgramFiles% ainda está definido como C: \ Arquivos de Programas.
O que eu realmente preciso é de uma ferramenta que possa acessar os arquivos de registro nos VHD AS FILES montados, não como entradas do registro, fazer uma pesquisa global e substituir todas as cadeias C: \ em D :. Eu não encontrei esse programa. (Tentei fazê-lo com um programa chamado Registry Replace, mas, mesmo quando executando como administrador, há certas entradas que o registro não permite alterar.)
Alguém sabe de um? Ou qualquer outra solução para o meu problema (além de começar do zero com um VHD limpo e instalar o Win7 e todos os meus programas nele.)?
fonte
Funciona para mim. Acho que se limparmos a chave do registro antes de capturar o VHD, talvez não seja necessário alterar as subchaves HKLM \ MountedDevices. Ainda não testado;)
fonte