Esto parece un problema no muy difícil y, después de varios obstáculos, estoy desesperadamente cerca. Pero no puedo llegar allí.
Estoy ejecutando Windows 7 en la tienda de desarrollo. Quiero comenzar a usar VS2010 para trabajar en algunas cosas que no se lanzarán por un tiempo. Mi jefe dijo que no había código beta en la máquina de producción, pero podría ejecutar VS2010 para este proyecto SI pudiera hacerlo en un entorno aislado, como una PC virtual.
Bueno, he usado la versión beta y RC de Win7 en VPC antes, y fue muy lento debido al entorno de VPC. Pero todos han elogiado la capacidad de arranque de Windows 7 a VHD, donde solo el disco está virtualizado, y en realidad se está ejecutando en el hardware. Se supone que es un poco más lento, pero no se acerca a la penalización de velocidad de VPC.
He pasado bastante tiempo instalando todo como lo quiero. Así que pensé, simplemente clonaré la unidad de mi sistema usando Disk2VHD, arrancaré y luego instalaré VS2010 en eso. (Guardo la mayoría de mis datos de usuario, incluidos todos mis proyectos, en una partición separada, para que no tenga que duplicarse y aún esté disponible).
Bueno, tuve algunas dificultades con eso, debido principalmente al hecho de que estaba usando una versión anterior de Disk2VHD (obtenga la última versión si la va a probar). Pero finalmente pude arrancarla. (Scott Hanselman tiene una buena publicación de blog sobre el arranque en VHD).
Pero no era exactamente lo que esperaba o esperaba. Lo que esperaba era que el VHD se convirtiera en la unidad C: y la unidad C (física) original estaría oculta o montada bajo una letra diferente, y por lo tanto aislada y protegida de cualquier cambio.
Lo que realmente obtienes es que el VHD se convierte en la unidad D: Y arrancas desde la unidad D: PERO tu unidad C: original todavía está allí. Lo cual está bien, EXCEPTO que el Registro en el VHD es un clon del Registro en la unidad C: e incluye muchas referencias codificadas a C :. Entonces, el resultado es que algunas cosas provienen de (y modifican) D: (el VHD), pero algunas cosas provienen de (y modifican) C :. (Si abres un indicador de cmd y haces un SET para ver tus variables de entorno, verás una mezcla de rutas D: \ y C: \). Así que realmente no tengo un entorno aislado. Lo más importante,% ProgramFiles% todavía está configurado en C: \ Archivos de programa.
Lo que realmente necesito es una herramienta que pueda acceder a los archivos de registro en el VHD montado como ARCHIVOS, no como entradas de registro, y hacer una búsqueda global y reemplazar en todas las cadenas C: \ a D :. No he encontrado tal programa. (Intenté hacerlo con un programa llamado Registry Reemplazar, pero, incluso cuando se ejecuta como Administrador, hay ciertas entradas que el Registro no le permitirá cambiar).
¿Alguien sabe de uno? ¿O alguna otra solución a mi problema (aparte de comenzar desde cero con un VHD limpio e instalar Win7 y todos mis programas en él)?
fuente
Funciona para mi. Supongo que si limpiamos la clave de registro antes de capturar el VHD, es posible que no sea necesario cambiar las subclaves HKLM \ MountedDevices. Aún no probado;)
fuente