質問

64 ビット VMware イメージを 32 ビット マシンで実行できますか?

グーグルで調べてみましたが、決定的な答えはないようです。

完全にエミュレートする必要があり、犬のように実行されることはわかっていますが、64 ビット プラットフォームでバックグラウンド サービス コードの一部をテストしたいだけなので、パフォーマンスの低下は必ずしも問題ではありません。

役に立ちましたか?

解決

ワークステーションをチェックする最も簡単な方法は、 VMware プロセッサの 64 ビット互換性チェック VMware Web サイトからツールを入手します。

32 ビット プロセッサ上で 64 ビット VM セッションを実行することはできません。ただし、64 ビット プロセッサを使用していても 32 ビット ホスト OS がインストールされており、プロセッサが適切な拡張機能をサポートしている場合は、64 ビット VM セッションを実行できます。上にリンクされているツールを使用すると、あなたのツールがそうであるかどうかがわかります。

他のヒント

32 ビットのハードウェアを使用している場合、64 ビットのゲスト OS を実行することはできません。 「VMware ソフトウェアは、物理的に存在しない別のハードウェアの命令セットをエミュレートしません」.

ただし、QEMU できる 64 ビット プロセッサをエミュレートするので、VMWare マシンを変換してこれで実行できます。

から この 2008 年当時のブログ投稿 (archive.org によってミラーリング):

$ cd /path/to/vmware/guestos
$ for i in \`ls *[0-9].vmdk\`; do qemu-img convert -f vmdk $i -O raw {i/vmdk/raw};done
$ cat *.raw >> guestos.img

それを実行するには、

qemu -m 256 -hda guestos.img

欠点は?私たちのほとんどは、仮想ディスクに事前割り当てスペースを持たずに VMware を実行しています。したがって、VMware から QEMU への変換を行う場合、生のファイルは事前割り当てが行われた合計スペースになります。私はまだテスト中です -f qcow フォーマットは問題を解決するかどうかになります。のような:

for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done && cat *.qcow >> debian.img

はい、64 ビット プロセッサを搭載している場合は、32 ビット OS から VMWare で 64 ビット OS を実行できます。

私は古いインテルを持っています コア2デュオ Windows XP Professional 2002 を実行したところ、動作するようになりました。

まず、お使いの CPU が 64 ビット OS を実行できるかどうかを確認してください。VMware サイトで「64 ビット互換性のプロセッサ チェック」を検索します。プログラムを実行します。

プロセッサーが有効であると表示されている場合は、コンピューターを再起動して BIOS に移動し、「仮想化」があり、それを有効にできるかどうかを確認します。できた、得た Windowsサーバー2008 この古いラップトップでは、VMware の下で R2 が実行されています。

うまくいくといいですね!

ハードウェアが 32 ビットのみの場合は、「いいえ」です。64 ビットのハードウェアと 32 ビットのオペレーティング システムを使用している場合は、おそらくそうでしょう。見る 64 ビット ゲスト オペレーティング システムのハードウェアおよびファームウェアの要件 詳細については。1対1とか関係ないよ複数のプロセッサ。

つまり、マシンの CPU に VT ビット (仮想化) があり、BIOS によってそれをオンにできるかどうかが決まります。たとえば、私のラップトップは コア2デュオ これを使用できるもの。ただし、BIOS ではオンにできません。

この機能をオンにすると通常の動作が 10 ~ 12% 遅くなる可能性があると読んだので、通常はオフにしていることに注意してください。

私は正直に言って、さまざまな理由からそれを疑っていますが、最も重要な理由は、32 ビット モードでは許可されても 64 ビット モードでは許可されない命令がいくつかあるということです。具体的には、64 ビット モードで一部の命令とレジスタをエンコードするために使用される REX プレフィックスは、0x4f:0x40 形式のバイトですが、32 ビット モードでは、同じバイトは固定オペランドを持つ INC または DEC のいずれかになります。
このため、REX によってプレフィックスが付けられた 64 ビット命令は INC または DEC として解釈され、VMM に 64 ビット命令をエミュレートする機会が与えられません (たとえば、未定義のオペコード例外を通知することによって)。

これを行う唯一の方法は、トラップ例外を使用して各命令の後に VMM に戻り、特別な 64 ビット処理が必要かどうかを確認することです。私にはそんなことが起こっているとは思えません。

ヴイエムウェア?いいえ。しかし、 QEMU 使用できる x86_64 システム ターゲットがあります。VMware イメージを直接使用することはおそらくできませんが (IIRC、変換ツールはありません)、OS などを自分でインストールしてその中で作業することはできます。QEMU は、起動して実行するのに少し苦労することがありますが、非常にうまく動作する傾向があります。

VMware では、32 ビット ホスト上で 64 ビット ゲストを実行することはできません。これを確認するには、ドキュメントを読むだけで済みます。

これを本当に実行したい場合は、QEMU を使用できます。Linux ホストをお勧めしますが、非常に遅くなります (実際には遅いという意味です)。

はい、できます。Windows XP 32 ビット上の VMware で 64 ビット Debian を実行しています。ゲストが 2 つのプロセッサを使用するように設定している限り、問題なく動作します。

プロセッサが 64 ビットで、仮想化テクノロジ (VT) 拡張機能が有効になっている場合は可能です (BIOS でオフにできます)。32 ビット プロセッサでは実行できません。

Linux でこれを確認するには、次のことを確認するだけです。 /proc/cpuinfo ファイル。適切なフラグを探すだけです (vmx Intelプロセッサ用または SVM AMDプロセッサ用)

egrep '(vmx|svm)' /proc/cpuinfo

Windows でこれを確認するには、プロセッサ アーキテクチャとサポートされている拡張機能を表示する CPU-Z などのプログラムを使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top