Virtualboxを使用して64ビットシステムを仮想化しようとしていますが、次のエラーが発生します。
La aceleración VT-x/AMD-V ha sido habilitada, pero no es funcional. Su sistema invitado de 64-bit fallára al detectar una CPU de 64-bit y no podrá arrancar.
Compruebe que VT-x/AMD-V están habilitadas en la BIOS de su computadora anfitrión.
スペイン語を知らない人のために、グーグル翻訳は与える:
VT-x/AMD-V acceleration has been enabled but is not functional.
Its system of 64-bit guest will fail to detect a 64-bit CPU and will not boot.
Check VT-x/AMD-V are enabled in the BIOS of your Host computer.
次のコマンドを使用して、AMD VCPU仮想化拡張機能を確認しました。
grep --color svm /proc/cpuinfo
出力は次のとおりです。
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb
rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid perfmperf
pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic
cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat cpb
hw_pstate npt lbrv svm_lock nrip_save pausefilter
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb
rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid
aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm
extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt
arat cpb hw_pstate npt lbrv svm_lock nrip_save pausefilter
コマンドの実行lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 20
Model: 2
Stepping: 0
CPU MHz: 800.000
BogoMIPS: 1996.36
Virtualization: AMD-V
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
NUMA node0 CPU(s): 0,1
更新
次のコマンドを実行します。
grep -o "^flags\s*:.*\ssvm\(\s\|$\)" /proc/cpuinfo
出力は次のとおりです。
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm
そのため、BIOSなどから修正された可能性があります。
間違いを修正する方法は?それは可能ですか?
lscpu
からの出力は、CPUが実行できることを示しますが、必ずしもこれがBIOSで有効になっていることや、BIOSにアクセスして構成できることを示しているわけではありません。
マシンの bios manual には、これを設定できることは示されていませんが、通常、BIOSの限られた数のCPUオプションを参照すると、可能であれば表示されます。
それが見つからず、AMD-Vを(UEFIモードで)有効にするAcerが提供するBIOSのUEFI対応アップグレードを実行する必要がある場合。 ホストシステムの再インストールが必要になる可能性があります。
別の方法は、Acer WebサイトでBIOSバージョン1.05のダウンロードからZHGBIOS.FDをインストールしてみることです。おそらく、[電源]-> [高度なCPU制御]でZSMを設定するオプションがあります。
以前にBIOSアップグレードを行ったことがない場合、および/またはこれが問題が発生した場合にインターネットにアクセスする必要がある唯一のマシンである場合、これらのオプションのいずれもお勧めできません。
誰かがどちらかを使用しているかのように、IntelとAMDの両方の手順が含まれています。完全を期すために、grep
のsvm
のような知っている情報もいくつか含まれています。
視覚化が利用可能かどうかを確認します
Intelはvmx
が見つかったかどうかをチェックします(VT-x
)
grep -o "^flags\s*:.*\svmx\(\s\|$\)" /proc/cpuinfo
AMDはsvm
が見つかったかどうかをチェックします(AMD-V
)
grep -o "^flags\s*:.*\ssvm\(\s\|$\)" /proc/cpuinfo
見つからない場合は、運が悪い可能性があります。
dmidecode
によってBIOSからフラグをチェックすることもできます
dmidecode --type 4 | grep -i virt
VME (Virtual mode extension) # On a specific i386
マシン/モデル固有のレジスタ(MSR)(man msr
)を読み取り、有効になっていない(読み取りに失敗した)場合はmsr-tools
を使用して、次の方法でmsrをロードします。
modprobe msr
次に、rdmsr
、( quick intoduction )を使用してプロセッサのMSRを読み取ります。
Intelプロセッサの場合、IA32_FEATURE_CONTROL
を読み取ることで現在のステータスを確認できます。(1) プロセッサから。
IA32_FEATURE_CONTROL MSR(アドレス
03AH
)は、VMXおよびSMXの動作を構成する機能制御ビットを提供します。
コマンドを実行します。
rdmsr -f 0:0 0x3a # Read bit-field 0 (Lock-bit)
rdmsr -f 2:2 0x3a # Read bit-field 2 (Enable VMX outside SMX operation)
これらのコマンドは次のようになります。
0:0 2:2
0 ENABLED (Not 100% sure about this one, `kvm-ok` reports VMX
as enabled when 0 – perhaps meant as modifiable.)
1 1 ENABLED
1 0 DISABLED
ビット2は、VMX外部SMX操作を有効にします。このビットがクリアされている場合、VMXONを実行しようとすると、SMX操作の外部で実行された場合に一般保護例外が発生します。 VMX操作をサポートしない論理プロセッサでこのビットを設定しようとすると、一般保護例外が発生します。
(1)インテル®64およびIA-32アーキテクチャーソフトウェア開発者マニュアル Vol。 2C 5-1pp1072。
拡張機能有効化レジスタ(EFER)の読み取り(2)PDFの55、103ページ ここで、ビット12は "Secure Virtual Machine Enable"(SVME)であり、ハードウェア仮想化が有効かどうかを示します。
コマンドを実行します:
rdmsr -f 12:12 0xc0000080 # If set (1), SVME is enabled.
セキュア仮想マシンイネーブル(SVME)ビット。ビット12、読み取り/書き込み。 SVM拡張を有効にします。このビットがゼロの場合、SVM命令により#UD例外が発生します。 EFER.SVMEのデフォルト値はゼロです。ゲストの実行中にEFER.SVMEをオフにした場合の影響は定義されていません。したがって、VMMは常にゲストがEFERを書き込まないようにする必要があります。 SVM拡張機能は、VM_CR.SVME_DISABLEを設定することで無効にできます。
セッションが無効になっているかどうかを確認するには、VM_CR.SVME_DISABLE
を確認してください(2)pp 57、504(PDFの105、552)
コマンドを実行します:
rdmsr -f 4:4 0xc0010114 # If set (1), it is disabled.
のように:BIOSで有効にする必要があります。
SVMDIS —ビット4。このビットが設定されている場合、EFERへの書き込みはSVMEビットをMBZとして扱います。このビットがクリアされている場合、EFER.SVMEは正常に書き込むことができます。このビットは、CPUIDがSVMが使用可能であることを報告することを妨げません。 EFER.SVMEが1のときにSVMDISを設定すると、VM_CR.LOCKの現在の状態に関係なく、#GP違反が生成されます。このビットはSKINITの影響を受けません。 LOCKが0にクリアされると、INITによってクリアされます。それ以外の場合は、影響を受けません。
(2)AMD64アーキテクチャプログラマーズマニュアル、第2巻:システムプログラミング 。
KVMモジュールがロードされている場合は、次の方法でモジュールを削除する必要があります。
Sudo modprobe -r kvm_intel
Sudo modprobe -r kvm_AMD
intelとAMDは、それぞれVirtualBoxと衝突します。 参照
あなたの特定のモデルについては、私は推測します @ Anthon はたくさん言っています。
彼が述べているように、UEFI
を使用することにより、おそらくホストシステムを再インストールする必要があります。 BIOSのアップグレードによるその他のリスクは、次のような多くのリスクです。
フラッシュがクラッシュすると、PCが完全に起動できなくなり、修正が困難になる可能性があります。 (つまり、BIOSを起動して修正することはできません。)
現在のBIOSとUSBレスキュースティックのバックアップが必要です。
ウェブを検索します。例: これを見てください 。そのページの最後の投稿に記載されているように、モデルに「組み込みBIOSリカバリルーチン」があるかどうかを確認します。 (ご覧のとおり、それでも問題が発生する可能性があります)。
そして、はい、再びアンソンが述べたように。障害が発生した場合にWeb検索で簡単にアクセスできるPCが他にない場合は、お勧めできません。
ハッキングしたり、未知の影響のリスクを冒したりする場合は、「非公式BIOSバージョン」を使用してみてください。 BOIS-Mods のこのスレッドには、ソフトウェアと一般的な議論の両方があります。スレッド全体を完全に読み、質問があるかどうかを尋ねます。
興味、時間、知識のレベルに応じて、自分でこれをハックすることもできます;)