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