Wydaje się to niezbyt trudnym problemem, a po kilku przeszkodach jestem irytująco blisko. Ale nie mogę się tam dostać.
Korzystam z systemu Windows 7 w sklepie deweloperskim. Chcę zacząć używać VS2010 do pracy nad niektórymi rzeczami, które nie zostaną wydane przez jakiś czas. Mój szef powiedział, że nie ma kodu beta na maszynie produkcyjnej, ale mógłbym uruchomić VS2010 dla tego projektu, JEŚLI mógłbym to zrobić w izolowanym środowisku, takim jak wirtualny komputer.
Cóż, wcześniej użyłem wersji beta i RC Win7 na VPC i było to boleśnie powolne z powodu środowiska VPC. Ale wszyscy chwalą możliwość uruchamiania systemu Windows 7 z rozruchu na dysk VHD, w którym wirtualizowany jest tylko dysk, a ty faktycznie pracujesz na sprzęcie. Niby trochę wolniej, ale nigdzie w pobliżu kary prędkości VPC.
Spędziłem sporo czasu instalując wszystko tak, jak chcę. Pomyślałem, że po prostu sklonuję dysk systemowy za pomocą Disk2VHD i uruchomię go, a następnie zainstaluję na nim VS2010. (Większość moich danych użytkownika, w tym wszystkie moje projekty, przechowuję na osobnej partycji, aby nie musiały być duplikowane i nadal byłyby dostępne).
Cóż, miałem z tym pewne trudności, głównie ze względu na fakt, że korzystałem ze starej wersji Disk2VHD - (pobierz najnowszą wersję, jeśli chcesz ją wypróbować). Ale w końcu udało mi się ją uruchomić. (Scott Hanselman ma dobry post na blogu przy rozruchu na VHD).
Ale to nie było dokładnie to, czego się spodziewałem lub oczekiwałem. Oczekiwałem, że dysk VHD stanie się dyskiem C: a oryginalny (fizyczny) dysk C: będzie ukryty lub zamontowany pod inną literą, a zatem odizolowany i chroniony przed wszelkimi zmianami.
W rzeczywistości otrzymujesz, że VHD staje się dyskiem D: I uruchamiasz się z dysku D:, ALE twój oryginalny dysk C: wciąż tam jest. Co jest w porządku, Z WYJĄTKIEM, że Rejestr na dysku VHD jest klonem Rejestru na dysku C: i zawiera wiele zakodowanych odniesień do C :. W rezultacie niektóre rzeczy pochodzą z (i modyfikują) D: (VHD), ale niektóre rzeczy pochodzą z (i modyfikują) C :. (Jeśli otworzysz monit cmd i wykonasz SET, aby sprawdzić zmienne środowiskowe, zobaczysz mieszankę ścieżek D: \ i C: \). Więc tak naprawdę nie mam izolowanego środowiska. Co najważniejsze,% ProgramFiles% wciąż jest ustawiony na C: \ Program Files.
To, czego naprawdę potrzebuję, to narzędzie, które może uzyskać dostęp do plików rejestru na zamontowanych plikach VHD AS FILES, a nie jako wpisy rejestru, i przeprowadzić globalne wyszukiwanie i zastąpić wszystkie ciągi C: \ in do D :. Nie znalazłem takiego programu. (Próbowałem to zrobić za pomocą programu o nazwie Registry Replace, ale nawet podczas działania jako Administrator istnieją pewne wpisy, których rejestr nie pozwoli ci zmienić).
Czy ktoś wie o jednym? Lub jakieś inne rozwiązanie mojego problemu (inne niż rozpoczęcie od zera z czystym VHD i zainstalowaniem na nim Win7 i wszystkich moich programów).
źródło
Pracuje dla mnie. Myślę, że jeśli wyczyścimy klucz rejestru przed przechwyceniem dysku VHD, zmiana podkluczy HKLM \ MountedDevices może nie być konieczna. Jeszcze nie przetestowane;)
źródło