ホスト オペレーティング システムと同一の仮想マシン ゲスト OS を実行することの長所と短所

ホスト オペレーティング システムと同一の仮想マシン ゲスト OS を実行することの長所と短所

このフォーラムで少し調べたところ、この質問に対する回答がいくつか見つかりましたが、そのほとんどはライセンスの問題に関連したものでした。

ここで、ホスト オペレーティング システムと同じオペレーティング システムで仮想マシンを永続的に実行することの利点と欠点を知りたいと思います。つまり、ホスト OS の唯一の仕事は、ゲスト仮想マシンを実行することです。日常のタスクなどはすべて、ゲスト仮想マシン内から実行されます。これはまた、仮想マシンのディスク サイズが大きく、おそらくハード ディスク全体のサイズの約 80%、つまり 500 GB のハード ディスク容量の場合は 400 GB である必要があることを意味します。

速度やパフォーマンスなどの点で、これは最適なアイデアではないと思う人はいませんか? ゲスト OS とホスト OS の両方が Windows 7 であるとします。

OPを追加しました

私の基本的な問題は、3 つの異なる作業場所があり、毎回同じプログラムを何度もインストールしなければならないことです。そのため、仮想マシンを同期して、作業するさまざまなワークステーションで同じイメージを取得することを考えました。私の基本的な作業は、C コンパイラや Java コンパイラを使用してプログラムをコンパイルするか、Python スクリプトを実行することです。また、実行したいプログラムはパフォーマンスをあまり必要としません。このマシンはゲームなどをプレイするためのものではないため、グラフィックの損失は気になりません。つまり、2 台目のコンピューターで作業する場合、仮想マシンにあったすべてのプログラムとデータが新しいコンピューターにも (仮想マシンを介して) 存在するため、コンピューターを変更しなかった場合と同じ効果が得られるはずです。当社では Windows マシンのバルク ライセンスを所有しているため、ライセンスは問題になりません。重要なことの 1 つは、リモート デスクトップを実行したり、PuTTY などを使用して別のコンピューターに SSH 接続したりすることですが、仮想マシン内からこれらを実行できるかどうかはわかりません。

答え1

仮想化によってニーズを満たすことができます。実際、なぜもっと早く仮想化しなかったのかと不思議に思うでしょう。

とにかく、仮想マシンを同期して、作業しているさまざまなワークステーションで同じイメージを取得することを考えました。

仮想マシンをポータブルUSBハードドライブそうであれば、ハード ドライブを持ち歩いて、3 台のホスト PC のいずれかで仮想マシンを「実行」できます。各ホスト PC に同じ仮想化ソフトウェアがインストールされている必要があることを忘れないでください。

仮想マシンにあったすべてのプログラムとデータが新しいコンピュータに存在するため、コンピュータを変更しなかった場合と同じ効果が得られるはずです。

ビンゴ。上で説明したポータブル ハード ドライブ メソッドを使用する限りは可能です。

重要なことの1つは、リモートデスクトップを実行したり、PuTTYを介して別のコンピューターとSSH接続したりすることです。

問題ないはずです。仮想マシンは実際のPCのようなものです。仮想マシンを設定して、ブリッジネットワーク完全な機能を備えた実際の PC と同じように LAN 上に表示されます。

答え2

速度やパフォーマンスなどの点で、これは最適なアイデアではないと考える人はいますか?

最適ではありません。デスクトップ OS は、仮想マシンよりもベアメタル上でパフォーマンスが大幅に向上します。グラフィックスとディスク I/O のパフォーマンスが最も低下する傾向があります。3D グラフィックスを利用する一部のアプリケーション/ゲームは、実行できないか使用できない可能性があります。

パフォーマンスの低下に気づくでしょう。それが問題になるかどうかは、あなた次第です。

まとめると、デスクトップ仮想化のポイントはないパフォーマンス。ポイントは常に別のものであり、それはあなたのニーズに基づいて決定されます。以下は私のニーズから生まれた例です。

  • 安全に Web を閲覧できるように、Linux (Mint) VM を実行しています。
  • 古い Visual Basic 6 アプリケーションを保守できるように、Windows XP VM を実行しています。
  • また、Windows 7 VM を実行して、新しいソフトウェアや信頼できないソフトウェアをホスト PC にインストールする前にテストすることもできます。

あなたのニーズは何ですか? ニーズがわかったら、仮想化が役立つかどうかを確認してください。

答え3

[回答時点では]誰も長所を挙げていないので

長所

複数作成して簡単に複製し、実験することができます。

ハードドライブは、必要な分だけ動的に拡張するように設定できます。

スナップショットを使用すると、イメージを復元するよりも早くなります

ソフトウェアをテストすることができます

答え4

私は通常、ホスト マシンにアプリケーションをインストールしてから、ゲスト マシンで実行するために必要な設定を検討します。このようにセットアップを管理し、バッチ ファイルを実行するだけで、すべてのアプリケーションがゲスト マシンにインストールされます。ゲスト マシンが別のドライブを使用するようにカスタマイズすることもできます。

この演習では Windows 2000 を使用しますが、適切なバッチ ファイルを実行することで、アプリケーションを XP または Win98 に「ドッキング」できます。

最初のステップは、バッチ変数用の独自のレジストリ ページを作成することです。私は reg.exe を使用してこれを実行し、データを "HKCU:\Software\wendy\folders" に挿入します。これはバッチ 0_config.cmd に存在します (ただし、0_config を別の名前に置き換えます)。

2 番目のステップは、ini 設定の作成などの操作を実行するバッチ ファイルを作成することです。つまり、1apppath.cmd と 1assoc.cmd はレジストリの処理、2mkfolder は別のスタート メニュー グループと sendto の設定、3_shellext はシェル拡張機能の登録を処理します。

調査の結果、r_xplite.reg や u_xplite.reg のようなものが見つかりました。これらは当然、そのアプリを登録および登録解除します。

さらに興味深いことに、副作用として、任意のユーザーディレクトリ、または\wendy\foldersの下にある任意のものに変更できるバッチファイルが得られます。

このプロセスでは、Frank Westlake の conset.exe ユーティリティを使用します。reg: は、regjump (Sysinternals) または regmagik が処理できる URL のようなものです。

/m、/u、/w スイッチを使用すると、これらのレジストリ設定が開きます。/i は、プログラムが乗っ取りがちなイメージ ファイル オプションを開きます。

したがって、cdf batch はバッチ ディレクトリに変更し、cdf /w は /wendy/folders の場所にあるレジストリを開きます。

@echo off :: cd shell folder. set zdir= set zshf=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders if /i "%1"=="/m" goto :hklm if /i "%1"=="/u" goto :hkcu if /i "%1"=="/w" goto :hkwe if /i "%1"=="/i" goto :image set zcmd=chdir set zhere=%* if "%1"=="/o" set zcmd=open if "%1"=="/o" set zhere=%zhere:~3% conset /q /k zdir=HKLM\%zshf%\%zhere% if not "%zdir%"=="" goto :doit conset /q /k zdir=HKCU\%zshf%\%zhere% if not "%zdir%"=="" goto :doit conset /q /k zdir=HKLM\Software\Wendy\Folders\%zhere% if not "%zdir%"=="" goto :doit goto :end :hklm shelexec reg:hklm\%zshf% goto :end :hkcu shelexec reg:hkcu\%zshf% goto :end :hkwe shelexec reg:hklm\software\wendy\folders goto :end :image set zdir=Microsoft\Windows NT\CurrentVersion\Image File Execution Options shelexec reg:hklm\software\%zdir% goto :end

:doit set zcxm= if %zcmd%==chdir cd /d %zdir% if %zcmd%==open shelexec %zdir% :end set zdir=

関連情報