Это кажется не слишком сложной проблемой, и после нескольких препятствий я схожу с ума. Но я не могу туда добраться.
Я использую Windows 7 в магазине разработки. Я хочу начать использовать VS2010 для работы над некоторыми вещами, которые не будут выпущены некоторое время. Мой начальник сказал, что нет бета-кода на производственной машине, но я мог бы запустить VS2010 для этого проекта, если бы я мог сделать это в изолированной среде, например на виртуальном ПК.
Ну, я раньше использовал бета-версию и RC Win7 на VPC, и это было мучительно медленно из-за среды VPC. Но все восхваляют возможность загрузки с VHD в Windows 7, где виртуализируется только диск, и вы фактически работаете на оборудовании. Предполагается, что он немного медленнее, но не приближается к штрафу за скорость VPC.
Я потратил немало времени, чтобы все установить так, как я хочу. Итак, я решил, что я просто клонирую свой системный диск с помощью Disk2VHD и загружаюсь с него, а затем устанавливаю VS2010 на него. (Я храню большую часть своих пользовательских данных, включая все мои проекты, в отдельном разделе, чтобы их не нужно было дублировать, и они все еще были бы доступны.)
Ну, у меня были некоторые трудности с этим, в основном из-за того, что я использовал старую версию Disk2VHD - (получите последнюю версию, если вы собираетесь попробовать). Но я наконец-то запустил ее для загрузки. (У Скотта Хансельмана есть хорошая запись в блоге о загрузке с VHD).
Но это было не совсем то, чего я ожидал или на что надеялся. Я ожидал, что виртуальный жесткий диск станет диском C :, а исходный (физический) диск C: будет либо скрыт, либо смонтирован под другой буквой и, таким образом, изолирован и защищен от любых изменений.
На самом деле вы получаете то, что VHD становится диском D: и вы загружаетесь с диска D: НО ваш оригинальный диск C: все еще там. Это нормально, за исключением того, что Реестр на VHD является клоном Реестра на диске C: и содержит много жестко запрограммированных ссылок на C :. Таким образом, результатом является то, что некоторые вещи приходят (и модифицируют) D: (VHD), но некоторые вещи приходят (и модифицируют) C :. (Если вы откроете приглашение cmd и сделаете SET, чтобы просмотреть переменные окружения, вы увидите смесь путей D: \ и C: \.) Поэтому у меня нет изолированной среды. Самое главное,% ProgramFiles% по-прежнему установлен в C: \ Program Files.
Что мне действительно нужно, так это инструмент, который может обращаться к файлам реестра на смонтированных VHD AS FILES, а не к записям реестра, и выполнять глобальный поиск и замену всех строк C: \ in для D :. Я не нашел такой программы. (Я пытался сделать это с помощью программы под названием Registry Replace, но даже при работе от имени администратора есть определенные записи, которые реестр не позволит вам изменить.)
Кто-нибудь знает об этом? Или любое другое решение моей проблемы (кроме как начать с нуля с чистого VHD и установить Win7 и все мои программы на нем.)?