32ビットマシンで64ビットのVMwareイメージを実行できますか?
私はこれをグーグルで調べましたが、決定的な答えはないようです。
私はそれを完全にエミュレートする必要があり、犬のように動作することを知っていますが、64ビットプラットフォームでバックグラウンドサービスコードの一部をテストするだけなので、パフォーマンスの低下は必ずしも問題ではありません。
回答:
ワークステーションをチェックする最も簡単な方法は、VMware Webサイトから64ビット互換性のVMwareプロセッサチェックツールをダウンロードすることです。
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を実行できます。
Windows XP Professional 2002を実行している古いIntel Core 2 Duoを使用していますが、正常に動作しました。
まず、CPUが64ビットOSを実行できるかどうかを確認します。VMwareサイトで「64ビット互換性のプロセッサチェック」を検索してください。プログラムを実行します。
プロセッサが機能していると表示されている場合は、コンピュータを再起動してBIOSにアクセスし、「仮想化」機能があり、それを有効にできるかどうかを確認します。この古いラップトップで、VMwareの下でWindows Server 2008 R2を実行することができました。
うまくいくことを願っています!
ハードウェアが32ビットのみの場合、違います。64ビットのハードウェアと32ビットのオペレーティングシステムを使用している場合は、詳細については、64ビットゲストオペレーティングシステムのハードウェアおよびファームウェア要件を参照してください。1つまたは複数のプロセッサとは関係ありません。
要するに、マシンのCPUにVTビット(仮想化)があるかどうかであり、BIOSで有効にすることができます。たとえば、私のラップトップはこれを使用できるCore 2 Duoです。ただし、私のBIOSでは有効にできません。
この機能をオンにすると通常の操作が10〜12%遅くなる可能性があることを読んだことに注意してください。これが通常オフになっている理由です。
正直なところ、いくつかの理由で疑っていますが、最も重要なのは、32ビットモードでは許可されているが、64ビットモードでは許可されていない命令があるということです。特に、64ビットモードで一部の命令とレジスタをエンコードするために使用されるREXプレフィックスは、0x4f:0x40形式のバイトですが、32ビットモードでは、同じバイトは、固定オペランドを持つINCまたはDECのいずれかです。
このため、REXが前に付いている64ビット命令は、INCまたはDECとして解釈され、VMMに64ビット命令をエミュレートする機会を与えません(たとえば、未定義のオペコード例外を通知することによって)。
それが行われる唯一の方法は、特別な64ビット処理が必要かどうかを確認できるように、すべての命令の後にVMMに戻るためにトラップ例外を使用することです。私はそれが起こっているのを単に見ることができません。
VMware?いいえ。ただし、QEMUには、使用できるx86_64システムターゲットがあります。おそらく、VMwareイメージを直接使用することはできません(IIRC、変換ツールはありません)が、OSなどを自分でインストールして、その中で作業することができます。QEMUは起動して実行するには少しPITAになる可能性がありますが、非常にうまく機能する傾向があります。
VMwareでは、32ビットのホストで64ビットのゲストを実行することはできません。これを見つけるには、ドキュメントを読む必要があります。
本当にこれをやりたいのであれば、QEMUを使用できます。Linuxホストをお勧めしますが、非常に遅くなります(本当に遅いという意味です)。
プロセッサが64ビットで、仮想化テクノロジ(VT)拡張が有効になっている場合(BIOSでオフにすることができます)にできます。32ビットプロセッサでは実行できません。
Linuxでこれを確認するには、/ proc / cpuinfoファイルを調べるだけです。適切なフラグのためだけ見て(VMX IntelプロセッサまたはのためのSVM AMDプロセッサ用)
egrep '(vmx|svm)' /proc/cpuinfo
Windowsでこれを確認するには、CPU-Zなどのプログラムを使用して、プロセッサアーキテクチャとサポートされている拡張機能を表示する必要があります。