2008-09-11 24 views
88

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

私はこれをGoogleで検索しましたが、決定的な回答はないようです。

完全にエミュレートする必要があり、犬のように動作することがわかっていますが、64ビットプラットフォーム上のバックグラウンドサービスコードのテストに興味があるため、パフォーマンスは必ずしも問題にはなりません。

+0

ハイパーバイザーをvmwareやhyperのようにインストールしなくても、[64ビットベースの仮想マシン](http://www.youtube.com/watch?v=oFtRw38VIc4&feature=youtu.be)をインストールできますv。 – user2050269

答えて

121

ワークステーションを確認する最も簡単な方法は、VMware Processor Check for 64-Bit CompatibilityツールをVMwareのWebサイトからダウンロードすることです。

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

+3

恐ろしい!このツールが存在することは決して知りませんでした! – saschabeaumont

+5

上記のリンクは、プロセッサチェックツールを参照するページに移動しなくなりました。ここに直接リンクがあります:http://downloads.vmware.com/d/details/processor_check_for_64_bit_compatibility_6_0/JWpiQHBqYiVo –

+3

@Phil Ross - ありがとう!私はあなたが投稿したURLで答えのリンクを更新しました。 –

3

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

可能な唯一の方法は、特別な64ビット処理が必要かどうかを知るために、各命令の後にトラップ例外を使用してVMMに戻ることです。私は単にそれが起こっているのを見ることはできません。

+1

VMWareはそのようなトラップシステムは必要ありません。ハードウェア仮想化サポートを使用していないときは、基本ブロックごとに特権命令があるかどうかをチェックし、それらをハンドラへの呼び出しで置き換えます。 x64命令でも同じことができますが、それはエミュレータになるでしょう。 –

3

VMware?いいえ。QEMUには、使用できるx86_64システムターゲットがあります。おそらくVMwareイメージを直接使用することはできません(IIRC、変換ツールはありません)が、OSなどをインストールして内部で作業できます。 QEMUはちょっとしたPITAを起動して実行することができますが、うまく動作する傾向があります。

2

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

8

ハードウェアが32ビットのみの場合は、noです。 64ビットハードウェアと32ビットオペレーティングシステムをお持ちの場合は、多分。詳細はHardware and Firmware Requirements for 64-Bit Guest Operating Systemsを参照してください。これは、1対複数のプロセッサーとは関係ありません。

30

32ビットハードウェアを使用している場合は、64ビットゲストOSを実行することはできません。 "VMware software does not emulate an instruction set for different hardware not physically present"。あなたはVMWareのマシンを変換し、this 2008-era blog post (mirrored by archive.org)からこの

でそれを実行することができるように

しかし、QEMU 、64ビットプロセッサをエミュレートすることができます。

$ 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への変換を行うと、RAWファイルは事前割り振りの合計スペースになります。私はまだ-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 
4

それはあなたのマシンのCPUがVTビット(仮想化)を持っているかどうかに帰着し、BIOSがそれをオンにすることができます。例えば、私のラップトップはCore 2 Duoで、これを使用することができます。しかし、私のBIOSはそれを有効にすることはできません。

この機能を有効にすると、通常の操作が10-12%遅くなる可能性があるので、通常はオフになっています。

3

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

これを本当にしたいのであれば、QEMUを使うことができますが、私はLinuxホストを推奨しますが、それは非常に遅いでしょう(私は本当に遅いです)。

10

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

私はWindows   XP Professional 2002を実行している古いIntel Core 2 Duoを持っており、動作させていただいています。

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

プロセッサに対応している場合は、コンピュータを再起動し、BIOSに入り、「仮想化」が有効であるかどうかを確認します。私はこの古いラップトップでVMwareの下で動作することができ、Windows Server 2008 R2を稼働させました。

私はそれがあなたのために働くことを望みます!

+2

Core 2 Duoは64ビットプロセッサです。 32ビットバージョンのWindows XPでVMWareを実行できることは興味深いことです。 –

+1

最初に、32ビットプロセッサで64ビットOSを実行できるとし、プロセッサが64ビットであるかどうかを確認する必要があると言いますか? – kyrias

+0

私は32ビット、2GBのRAM、ウィンドウを使用しています7.HeyさんのVMがこのエラーを出していますhttps://drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/edit?usp=sharing –

1

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

Linuxでこれを確認するには、/proc/cpuinfoファイルを調べるだけです。ちょうどあなたがあなたのプロセッサアーキテクチャを表示するCPU-Zのようなプログラムを使用する必要がWindowsでこれを確認するには、適切なフラグ(Intelプロセッサ用VMXまたはAMDプロセッサ用SVM)のため

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

を見て、サポートされている拡張機能。

+1

32ビットプロセッサでVMを実行したい –

関連する問題