web-dev-qa-db-ja.com

仮想化を有効にする方法AMD-VAspire one AO725 from BIOS or other

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アップグレードを行ったことがない場合、および/またはこれが問題が発生した場合にインターネットにアクセスする必要がある唯一のマシンである場合、これらのオプションのいずれもお勧めできません

1
Anthon

誰かがどちらかを使用しているかのように、IntelとAMDの両方の手順が含まれています。完全を期すために、grepsvmのような知っている情報もいくつか含まれています。

サポートの確認

視覚化が利用可能かどうかを確認します

  • 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

ステータスの確認-root権限が必要です

マシン/モデル固有のレジスタ(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。


AMD

拡張機能有効化レジスタ(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

KVMモジュールがロードされている場合は、次の方法でモジュールを削除する必要があります。

Sudo modprobe -r kvm_intel
Sudo modprobe -r kvm_AMD 

intelとAMDは、それぞれVirtualBoxと衝突します。 参照


有効にする

あなたの特定のモデルについては、私は推測します @ Anthon はたくさん言っています。

彼が述べているように、UEFIを使用することにより、おそらくホストシステムを再インストールする必要があります。 BIOSのアップグレードによるその他のリスクは、次のような多くのリスクです。

  • 新しいBIOSは、ハードウェアの潜在的なバグを引き起こす可能性があります。
  • ソフトウェアの破損などにより、BIOSのフラッシュがクラッシュする可能性があります。
  • 間違ったBIOSをダウンロードした可能性があります(別のモデルの場合)。
  • コンピュータがクラッシュし、フラッシュの最中に電源が失われる可能性があります。 (別名フリークアクシデント)。
  • N ^ xの未知の要因が関与する可能性があります。
  • 等.

フラッシュがクラッシュすると、PCが完全に起動できなくなり、修正が困難になる可能性があります。 (つまり、BIOSを起動して修正することはできません。)

現在のBIOSとUSBレスキュースティックのバックアップが必要です。

ウェブを検索します。例: これを見てください 。そのページの最後の投稿に記載されているように、モデルに「組み込みBIOSリカバリルーチン」があるかどうかを確認します。 (ご覧のとおり、それでも問題が発生する可能性があります)。

そして、はい、再びアンソンが述べたように。障害が発生した場合にWeb検索で簡単にアクセスできるPCが他にない場合は、お勧めできません。


ハッキングしたり、未知の影響のリスクを冒したりする場合は、「非公式BIOSバージョン」を使用してみてください。 BOIS-Mods のこのスレッドには、ソフトウェアと一般的な議論の両方があります。スレッド全体を完全に読み、質問があるかどうかを尋ねます。

興味、時間、知識のレベルに応じて、自分でこれをハックすることもできます;)

SVM enable

1
Runium