web-dev-qa-db-ja.com

システムドライブのVHDクローンを使用してWindows7をVHDで起動する

これはそれほど難しい問題ではないように思われ、いくつかのハードルを経て、私は途方もなく近づいています。しかし、私はそこに完全に到達することはできません。

開発ショップでWindows7を実行しています。 VS2010を使い始めて、しばらくリリースされないものに取り組みたいと思います。上司は本番マシンにベータコードはないと言っていましたが、仮想PCなどの分離された環境で実行できれば、このプロジェクトでVS2010を実行できました。

さて、私は以前にVPCでWin7のベータ版とRCを使用しましたが、VPC環境のために非常に遅くなりました。しかし、誰もがWindows 7のVHDへの起動機能を称賛してきました。この機能では、ディスクのみが仮想化され、実際にはハードウェア上で実行されています。少し遅いと思われますが、VPCの速度ペナルティにはほど遠いです。

私はかなりの時間を費やして、すべてを希望どおりにインストールしました。そこで、Disk2VHDを使用してシステムドライブのクローンを作成し、そこから起動して、VS2010をインストールすることにしました。 (すべてのプロジェクトを含むほとんどのユーザーデータを別のパーティションに保持しているので、複製する必要がなく、引き続き利用できます。)

ええと、主に古いバージョンのDisk2VHDを使用していたために、いくつかの問題が発生しました-(試してみる場合は最新のものを入手してください)。しかし、ようやく起動することができました。 (Scott Hanselmanは、VHDの起動に関する優れたブログ投稿をしています)。

しかし、それは私が期待または期待していたものではありませんでした。私が期待したのは、VHDがC:ドライブになり、元の(物理的な)C:ドライブが非表示になるか、別の文字でマウントされるため、変更から分離されて保護されることでした。

実際に得られるのは、VHDがD:ドライブになり、D:ドライブから起動することですが、元のC:ドライブはまだそこにあります。これは、VHD上のレジストリがC:ドライブ上のレジストリのクローンであり、C:へのハードコードされた参照が多数含まれていることを除いて、ある程度問題ありません。その結果、D:(VHD)から来る(そして変更する)ものもあれば、C:から来る(そして変更する)ものもあります。 (cmdプロンプトを開き、SETを実行して環境変数を確認すると、D:\パスとC:\パスが混在していることがわかります。)したがって、実際には分離された環境はありません。最も重要なことは、%ProgramFiles%がC:\ ProgramFilesに設定されたままであることです。

私が本当に必要としているのは、レジストリエントリとしてではなく、マウントされたVHD AS FILES上のレジストリファイルにアクセスし、グローバル検索を実行して、文字列内のすべてのC:\をD:に置き換えることができるツールです。私はそのようなプログラムを見つけていません。 (Registry Replaceというプログラムで実行しようとしましたが、管理者として実行している場合でも、レジストリで変更できない特定のエントリがあります。)

誰か知っていますか?または、私の問題に対する他の解決策(クリーンなVHDで最初から始めて、Win7とすべてのプログラムをインストールする以外)?

8
daveh551

免責事項:VHDまたはこの前述の修正からの起動は行っていません

この記事を参照してください [〜#〜] kb [〜#〜] 記事。実際のシステムドライブを別のものに変更してください。さらに分離するために、そのドライブ文字の割り当てを解除することもできます。

5
prestomation

私のために働きます。 VHDをキャプチャする前にレジストリキーをクリーンアップすると、HKLM\MountedDevicesサブキーを変更する必要がない場合があります。まだテストされていません;)

0
user33738