#1933 closed defect (fixed)
VirtualBox doesn't detect my AMD virtualization
回報者: | Stanislav Georgiev | 負責人: | |
---|---|---|---|
元件: | VMM/HWACCM | 版本: | VirtualBox 1.6.4 |
關鍵字: | hardware virtualization | 副本: | |
Guest type: | other | Host type: | Windows |
描述
Tried to enable hardware assisted virtualization, needed for OS/2 guest installation. After enabling the option - both in global preferences and in VM settings I found that the machine won't boot. I saw for a moment OS/2 logo, then it disappeared and VM stucks with black sceren. I examined Runtime Attributes in Session Information and there VT-x/AMD-V was disabled. I know my cpu is supporting AMD-V - it's already working in Parallels Workstation. I tested AMD-V with tools like "Securable" and I can confirm, that hardware assisted virtualization is detected and working well. My CPU is AMD Athlon 64 X2 5000+ AM2 - 65nm, code name: Brisbane, revision: BH-G1. My motherboard is Gigabyte GA-MA69G-S3H, Bios revision F6 (latest), virtualization support is enabled in BIOS settings. Hardware virtualization is not working (or can't be enabled) in VirtualBox 1.5.2 - 1.6.4, tested on my machine for several months.
附加檔案 (3)
更動歷史 (21)
comment:2 16 年 前 由 編輯
Yes, it's enabled in BIOS, I already mention that before. It's already confirmed - I am certified system administrator. Here is my vbox.log (this time it's obtained using VBox 1.6.2), it's has these lines:
00:06:23.575 Mnemonic - Description = guest (host) ............ 00:06:23.575 SVM - AMD VM Extensions = 0 (1)
I tried several OS/2 version, this is using OS/2 Client 4.52. I already tried Ecomstation 1.1 and 2.0b, and some older versions, just in case - 1.0, 1.1c, 2.0, 3.0 and 4.0 - all versions are working properly in Parallels Workstation with SVM enabled.
comment:3 16 年 前 由 編輯
Please could you post a logfile of VirtualBox 1.6.4? You said you tested this version as well but perhaps there are different log entries (note we changed a lot regarding VT-x and AMD-V in 1.6.4)?
comment:7 16 年 前 由 編輯
This log is taken with Windows 2003 SP2, Standard Edition. I have same results with Windows XP SP2, Windows Vista (32 bit) and various Linux distributions - Debian Etch, Fedora 8, OpenSUSE 10.3, Slackware 12. I tried hardly to install OS/2 as VirtualBox guest, but I still can't.
comment:8 16 年 前 由 編輯
The error code you get is kind of strange. You're saying you have tried all these Windows and Linux *hosts* and the result is the same? (just double checking as people often confuse guest with host)
comment:9 16 年 前 由 編輯
Yes, I have multiply boot machines in my home and a lot of servers and workstations at my work - I already said I am System Administrator, I am not an ordinary user. In my work I am using several virtualization products - VMWare ESX, VMWare Server, Parallels, Xen, Microsoft Virtual Server, Microsoft Virtual PC, linux vserver and some other. I am using VirtualBox in my home for testing purposes and after some time I found that I can't make hardware virtualization to work with my main home computer. Then I tried several other OS that I already have installed on my PC - both 32 and 64 bit - the situation was the same: I enabled the option, but in running VM I found that it's disabled. I suspected that my motherboard or my CPU for some weird reason is not working properly with VBox, so I tried it on my other computers - the result was the same: hardware virtualization wasn't working at all with VBox, but it was working very well with VMWare Workstation, Xen, Parallels Workstation. Then I guessed that VBox don't work properly with AMD SVM, so I tested it on several Core 2 Duo systems with Intel VT-x. I found that almost 1/2 of them was missing VT-x, because of strange motherboard problems, but some of them were working properly with VT-x enabled in Parallels Workstation and Microsoft Virtual PC 2007. I installed VirtualBox 1.6.0 - 1.6.4 and I found that VT-x wasn't working too. I suspected that hardware virtualization is enabled in VBox only when needed, so I tried to install OS/2. I wasn't succeed - OS/2 freezes at startup screen. But it is working fine in Microsoft Virtual PC - with and without hardware virtualization. OS/2 is working in Parallels Workstation too, so my OS/2 copy is good.
comment:10 16 年 前 由 編輯
You must make sure that you enable hardware acceleration in the VM settings. This is done automatically (but check please) when you select OS/2 as the guest OS type. The logs above show that you indeed did this for the AMD-V machine.
I haven't heard any problems about VT-x not working from other users though. If you can give me a log of such a session, then I might be able to see why.
I'll try to get back to you later today. Perhaps you could try a debug version with some extra logging to see where exactly the failure occurs. (I'll provide one when I've made the necessary changes)
comment:13 16 年 前 由 編輯
Hi I notice the same problem on my AMD64 box too.
I see
00:00:15.743 HWACCM: No VMX or SVM CPU extension found. Reason VERR_SVM_DISABLED 00:00:15.743 HWACCM: VMX MSR_IA32_FEATURE_CONTROL=0
in my log file.
comment:14 16 年 前 由 編輯
OK, SVM was disabled in my BIOS earlier. Now i can see SVM enabled in session status.
PS: But CPU utilization is still shown as 100% :-(
comment:15 16 年 前 由 編輯
狀態: | new → closed |
---|---|
處理結果: | → fixed |
So your last problem was that SVM is indeed enabled but you see a 100% host OS load? Please retry with the latest release (2.2.2) and reopen this ticket if the problem persists.
comment:16 14 年 前 由 編輯
The issue was going to cover AMD virtualization problems. It was closed after bvkchaitanya came with other than predecessors' problem, that should have its own issue actually. (Similarly to my #2061, where faghutz came with Mac OS X problem.) But ad rem.
Until recently I was unaware of the fact that AMD F2 stepping has buggy virtualization. I have BH-F2 revision, so it may mean that it could be CPU issue that BIOS is just not covering, i.e. has no workaround for it.
Some more information
Problem
Mention of F2 virtualization issue at Microsoft's technet forum: Hypervisor Issues with AMD CPUs
Quoting Taylor Brown from Microsoft:
F2 CPU's have a hardware problem and require BIOS support to workaround the issue... This is fixed in F3 CPU's.
How to find it
AMD tool can apparently confirm the problem: AMD Virtualization™ Technology and Microsoft® Hyper-V™ System Compatibility Check Utility
Quoting important part from my result of running amdvhyperv.exe:
This utility detected that a necessary BIOS patch is not installed.
AMD's most current processors do not require a BIOS patch to run Hyper-V.
Hyper-V is only marketing talk and as we know it's actually about correctly functioning AMD SVM.
Possible proof of the F2 issue existence
Quoting part of Version 1.08 (Build ID: ZYE129A) description:
Added microcode patch to fix Virtualization bug on Rev F2 Opteron
Details
I have looked at following papers for information regarding virtualization issue concerning F2 stepping:
- BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors
- Revision Guide for AMD NPT Family 0Fh Processors
I lack required knowledge to recognize the right issue from many listed in these papers. Or it's not listed there.
I am still trying to obtain additional details regarding this problem.
I think this message was at least partially valuable, thus justified writing in this old issue.
comment:18 12 年 前 由 編輯
Today I noticed that I haven't provided how my problem ended. I think it may be slightly interesting for some of you, so please excuse me reviving this old ticket. Here is what was my wild guess about the issue back then (end of February, 2011):
In revision 3.08 of BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors (it looks that previously I used other official link, which gives not up-to-date version, but it actually doesn't matter here) information about MSR C001_0114 (VM_CR
) register was added. This register was introduced in revision F of AMD NPT Family 0Fh Processors.
It has 2 SVM-related bits:
LOCK
- Lock SVMSVME_DISABLE
- Disable SVM
VM_CR.SVME_DISABLE
must be 0 (if not, it may be changed only if read-only VM_CR.LOCK
= 0) to allow setting EFER.SVME
(SVM Enable), which is clear by default.
Maybe the problem of F2 is that VM_CR.LOCK
and VM_CR.SVME_DISABLE
are set by default and BIOS must somehow clear them? LOCK
is read-only field, so I am not sure how it should be changed, but with some microprogram it should be definitely possible.
How you can check above mentioned bits in Linux I've already shown in AMD-V activated, or not? thread in the forum. Both LOCK
and SVME_DISABLE
were set in my case, so I couldn't do anything. But knowing that there is something like SVME_DISABLE
was eye-opening in fact after all. At some point I had a hunch.
All the time I had hardware virtualization turned on in my BIOS settings:
Advanced BIOS Features -> CPU Feature -> Virtualization: Enabled
That's what I thought. But what if it's not really about Virtualization? It could be about disabling virtualization, no? I changed it to Disabled
and quick tests showed that all my virtualization problems ceased to exist.
$ sudo modprobe msr $ sudo rdmsr 0xC0010114 #VM_CR 0
In the end my BIOS (version 12, 03/26/2007, Abit KN9) worked well with my F2 CPU's virtualization, and the only problem was buggy name of the CPU Feature, which should be called:
Disable Virtualization
The solution was so close in the first place...
Please