VirtualBoxの64ビットWindowsゲストはVT-xのサポートなしでは不可能ですか?[重複]


8

VirtualBoxを使用してVMにWindows Vista 32ビットを正常にインストールしました。今私は64ビットのWindows Vistaで同じことをしようとしています、そしてそれはちょうど機能していません。VMを作成しましたが、64ビットVista ISOイメージから起動しないようです。このブートマネージャーエラーを吐き出します。

a

ホストOSは、64ビットIntel Core 2 Duoプロセッサー上のWindows 7 64ビットです。これで、同じことを行い、同じVirtualBoxバージョンを別のコンピューターにインストールし、Windows 7 64ビットも実行し、VMを作成しました... VMのセットアッププロセス中に、追加のオプションから選択できることに気付きましたゲストOsを選ぶと こちらがスクリーンショットです。

b

これらのオプションは、64ビットと表示されている部分の間に表示されます。他のコンピューターにはこれらのオプションはありません。現在、これは、ハイエンドモデルであるIntel Core 2 Quadを実行しています。インテルの仮想化テクノロジーをサポートしていますが、他のテクノロジーはサポートしていません。

これは、Core 2 Duoコンピュータで同じダイアログが表示されるものです。こちらがスクリーンショットです。

c

これが理由かもしれませんか?プロセッサーがIntel仮想化テクノロジーをサポートしない限り、VirtualBox 64ビットWindowsゲストOS エミュレートできないということですか?このテクノロジーにより処理速度が大幅に向上することは理解していますが、そのOSをまったくエミュレートできないようにしています...それは少し極端ですよね?

もしそうなら、代わりに何を使うことを勧めますか?


@Ramhound私が64ビットのオペレーティングシステムを実行していると確信していて、気が変わったのですか?コメントを受信トレイで受け取りました。まあ、どんなにとっての価値は、はい、私は必ず両方のコンピュータは、Windows 7の64ビット版実行しているよ
サミル

@Ramhoundハードウェアの制限?だからあなたは同意する、これはVT-xサポートと関係があるのか​​、それともそれが欠けているのか?
Samir 2014年

ハードウェアの制限に関係なく、常にソフトウェアで実行できる必要があります。これは仮想化の利点の1つです。これにより、ソフトウェアの物理ハードウェアを完全に置き換えることができます。Intel VT-xが良いと知っていますが、たとえ非常に遅い場合でも、VirtualBoxで64ビットOSをすべてソフトウェアでエミュレートできないのはなぜですか?なぜ彼らはあなたにそれをさせないのですか?これはVirtualBoxの制限です。
Samir 2014年

ええと...「ハードウェアがサポートしていないと、ソフトウェアで何かを実行できない」という意味ではありませんか?
Samir 2014年

回答:


18

VirtualBoxマニュアルのセクション3.1.2は、64ビットのゲストオペレーティングシステムを使用するためにハードウェア仮想化サポートが必要であることを明示的に述べています(強調を追加)。

VirtualBoxは、次の条件を満たす場合、32ビットのホストオペレーティングシステムでも64ビットのゲストオペレーティングシステムをサポートします。

  1. ハードウェア仮想化をサポートする64ビットプロセッサーが必要です(「ハードウェアとソフトウェアの仮想化」を参照)。

  2. 64ビットのサポートが必要な特定のVMに対してハードウェア仮想化を有効にする必要があります。ソフトウェア仮想化は、64ビットVMではサポートされていません。

  3. 32ビットのホストオペレーティングシステムで64ビットのゲストサポートを使用する場合は、特定のVMに64ビットのオペレーティングシステムを選択する必要もあります。32ビットのホストで64ビットをサポートすると追加のオーバーヘッドが発生するため、VirtualBoxは明示的な要求があった場合にのみこのサポートを有効にします。

出典:https : //www.virtualbox.org/manual/ch03.html#intro-64bitguests

セクション10.3でもこれについて説明しています(強調を追加):

VirtualBoxの64ビットゲストサポート(バージョン2.0で追加)およびマルチプロセッシング(SMP、バージョン3.0で追加)では、どちらもハードウェア仮想化を有効にする必要があります。(とにかく今日の64ビットおよびマルチコアCPUの大部分はハードウェア仮想化を搭載しているため、これはそれほど制限ではありません。このルールの例外は、たとえば古いIntel CeleronおよびAMD Opteron CPUです。)

出典:https : //www.virtualbox.org/manual/ch10.html#hwvirt

したがって、VirtualBoxで64ビットのゲストを使用するには、VT-xまたはAMD-Vをサポートするプロセッサーが必要です。ただし、QEMU、Bochs、およびVMWare Playerはすべて、ハードウェア仮想化サポートなしで64ビットゲストをサポートします(少なくともこのページによると)。


ええと...それは残念です。私はそれが32ビットのホスト上の64ビットのゲストのみを指すと思った。しかし、第10章から、ハードウェアの仮想化は要件であると具体的に述べています。しかし、なぜこれが32ビットゲストの要件ではないのでしょうか。なぜ64ビットなのか
Samir 2014年

私はすでに自分の回答でこの正確なテキストを投稿しましたが、私はあなたに賛成票を投じました。努力をありがとう!よろしければ、私の回答とあなたの回答をマージします。
Samir 2014年

ハードウェア仮想化サポートなしで64ビットWindowsをエミュレートできる他の仮想化ソフトウェア(無料でオープンソースが望ましい)を知っていますか?
Samir 2014年

@sammyg QEMU、Bochs、およびVMWare Playerはすべてそれをサポートしているようです。私の最新のリビジョンを参照してください。
nc4pk 2014年

違います。VMwareプレーヤーは、64ビットの推測を実行するために仮想化を必要とするため、他のハイパーバイザーも同様です。Bochsやqemuなどのエミュレーター、またはXen en.wikipedia.org/wiki/Vt-x#Software-based_virtualization
phuclv 14年

0

仮想マシンハイパーバイザーは、仮想化なしでは仮想マシンの分離が不可能であるため、仮想化なしのx86 CPUで64ビット仮想マシンをサポートしません。

その理由はウィキペディアで言及されました(私の強調):

x86-64(AMD64)の最初のバージョンが原因にソフトウェアのみの完全仮想化を可能にしませんでしたロングモードでのセグメント化サポートの欠如作られ、不可能ハイパーバイザーのメモリの保護を特に、トラップ・ハンドラの保護ゲストカーネルアドレス空間で実行されます。

リビジョンD以降の64ビットAMDプロセッサー(大まかに言うと、90 nm以下で製造されたもの)は、ロングモードでのセグメンテーションの基本サポートを追加し、バイナリ変換を介して64ビットホストで64ビットゲストを実行できるようにしました。Intelはx86-64実装(Intel 64)にセグメンテーションサポートを追加しなかったため、Intel CPUでは64ビットソフトウェアのみの仮想化が不可能になりましたが、Intel VT-xサポートにより、Intelプラットフォームで64ビットハードウェア支援仮想化が可能になります

VMWareはまた、仮想化の欠如がVMの保護に挑戦していると述べました

x86-64の仮想化の課題

  • 初期のAMD64アーキテクチャには、64ビットモードのセグメンテーションが含まれていませんでした
    • EM64Tにもセグメンテーションがありません

VMMをどのように保護しますか?

  • 64ビットのゲストサポートには追加のハードウェア支援が必要
    • 新しいAMDプロセッサの64ビットモードで利用可能なセグメント制限チェック
    • VT-xは、EM64T上のVMMを保護するために使用できます
      • BTの代わりにトラップアンドエミュレートアプローチが必要

続きを読む:

Intel CPUは、64ビット仮想マシンを実行するために、チップとBIOSでEM64TとVTのサポートを必要とします。この記事は、プロセッサーがVT対応であることを確認するのに役立ちます。また、この機能を有効にする方法についても説明しています
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003944


この場合の唯一の方法は、QEMUBochsなどのエミュレーター、またはXen などの準仮想化ソフトウェアを使用することです。

続きを読む:x86-32プロセッサでのx86-64 ASMの実行

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.