8

Это кажется не слишком сложной проблемой, и после нескольких препятствий я безумно близок. Но я не могу туда добраться.

Я использую Windows 7 в магазине разработки. Я хочу начать использовать VS2010 для работы над некоторыми вещами, которые не будут выпущены некоторое время. Мой начальник сказал, что нет бета-кода на производственной машине, но я мог бы запустить VS2010 для этого проекта, если бы я мог сделать это в изолированной среде, например на виртуальном ПК.

Ну, я раньше использовал бета-версию и RC Win7 на VPC, и это было мучительно медленно из-за среды VPC. Но все восхваляют возможность загрузки с VHD в Windows 7, когда виртуализируется только диск, а вы фактически работаете на оборудовании. Предполагается, что он немного медленнее, но не приближается к штрафу за скорость VPC.

Я потратил немало времени, чтобы все установить так, как я хочу. Итак, я решил, что я просто клонирую свой системный диск с помощью Disk2VHD, и загружаюсь с него, а затем устанавливаю VS2010 на него. (Я храню большую часть своих пользовательских данных, включая все мои проекты, в отдельном разделе, чтобы их не нужно было дублировать, и они все еще были бы доступны.)

Ну, у меня были некоторые трудности с этим, в основном из-за того, что я использовал старую версию Disk2VHD - (получите последнюю версию, если вы собираетесь попробовать). Но я наконец-то запустил его. (Скотт Хансельман имеет хороший пост в блоге по загрузке на VHD).

Но это было не совсем то, чего я ожидал или на что надеялся. Я ожидал, что виртуальный жесткий диск станет диском C:, а исходный (физический) диск C: будет либо скрыт, либо смонтирован под другой буквой и, следовательно, изолирован и защищен от любых изменений.

На самом деле вы получаете то, что виртуальный жесткий диск становится диском D: и вы загружаетесь с диска D: НО ваш оригинальный диск C: все еще там. Это нормально, за исключением того, что Реестр на VHD является клоном Реестра на диске C: и включает в себя множество жестко запрограммированных ссылок на C:. Таким образом, результатом является то, что некоторые вещи приходят (и модифицируют) D: (VHD), но некоторые вещи приходят (и модифицируют) C:. (Если вы откроете приглашение cmd и сделаете SET, чтобы просмотреть переменные окружения, вы увидите смесь путей D:\ и C:\.) Так что у меня действительно нет изолированной среды. Самое главное,% ProgramFiles% по-прежнему установлен в C:\ Program Files.

Что мне действительно нужно, так это инструмент, который может обращаться к файлам реестра на смонтированных VHD AS FILES, а не к записям реестра, и выполнять глобальный поиск и замену всех строк C:\ in в D:. Я не нашел такой программы. (Я пытался сделать это с помощью программы под названием «Замена реестра», но даже при работе от имени администратора есть определенные записи, которые реестр не позволит вам изменить.)

Кто-нибудь знает об этом? Или любое другое решение моей проблемы (кроме как начать с нуля с чистого VHD и установить Win7 и все мои программы на нем.)?

2 ответа2

5

Отказ от ответственности: я не делал никакой загрузки с VHD или этого вышеупомянутого исправления

Обратитесь к этой статье базы знаний. Обязательно замените действительный системный диск на что-то другое. Вы можете также отменить присвоение этой буквы диска для дальнейшей изоляции.

0

Работает для меня. Я предполагаю, что если мы очистим раздел реестра перед захватом VHD, может не потребоваться изменение подразделов HKLM\ MountingDevices. Еще не тестировал;)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .