Загрузка Windows 7 с VHD с использованием клона VHD системного диска

8

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

Я использую 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 и все мои программы на нем.)?

daveh551
источник

Ответы:

5

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

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

prestomation
источник
Спасибо. Эта статья (об изменении имен подразделов HKLM \ MountingDevices) сделала свое дело. Я использовал Registry Replacer для загрузки системного реестра VHD, сделал там изменения, а затем, когда я загрузился на VHD, это был мой новый диск C: именно то, что я хотел.
daveh551
Рад, что это сработало, и приятно знать для дальнейшего использования.
Пресмация
0

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


источник