VirtualBox

Opened 16 years ago

Closed 16 years ago

Last modified 12 years ago

#1933 closed defect (fixed)

VirtualBox doesn't detect my AMD virtualization

Reported by: Stanislav Georgiev Owned by:
Component: VMM/HWACCM Version: VirtualBox 1.6.4
Keywords: hardware virtualization Cc:
Guest type: other Host type: Windows

Description

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.

Attachments (3)

VBox.log (52.0 KB ) - added by Stanislav Georgiev 16 years ago.
VirtualBox 1.6.2 OS/2 4.52 Logfile
VBox.2.log (52.0 KB ) - added by Stanislav Georgiev 16 years ago.
VirtualBox 1.6.4 Log
VBox.3.log (30.6 KB ) - added by BVK Chaitanya 16 years ago.
VirtualBox 2.0 log with Windows XP guest on Linux host

Download all attachments as: .zip

Change History (21)

comment:1 by Frank Mehnert, 16 years ago

Please

  1. make sure that you enabled this feature in your BIOS and
  2. attach a VBox.log file of an OS/2 session to this report

by Stanislav Georgiev, 16 years ago

Attachment: VBox.log added

VirtualBox 1.6.2 OS/2 4.52 Logfile

comment:2 by Stanislav Georgiev, 16 years ago

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 by Frank Mehnert, 16 years ago

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)?

by Stanislav Georgiev, 16 years ago

Attachment: VBox.2.log added

VirtualBox 1.6.4 Log

comment:4 by Stanislav Georgiev, 16 years ago

Here... No difference at all.

comment:5 by Frank Mehnert, 16 years ago

Component: host supportVMM/HWACCM

comment:6 by Sander van Leeuwen, 16 years ago

Which Windows version are you using on your computer?

comment:7 by Stanislav Georgiev, 16 years ago

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 by Sander van Leeuwen, 16 years ago

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 by Stanislav Georgiev, 16 years ago

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 by Sander van Leeuwen, 16 years ago

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:11 by Sander van Leeuwen, 16 years ago

Closed duplicate ticket #2061.

comment:12 by Sander van Leeuwen, 16 years ago

Please attach a log from 2.0.2.

comment:13 by BVK Chaitanya, 16 years ago

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.

by BVK Chaitanya, 16 years ago

Attachment: VBox.3.log added

VirtualBox 2.0 log with Windows XP guest on Linux host

comment:14 by BVK Chaitanya, 16 years ago

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 by Frank Mehnert, 16 years ago

Resolution: fixed
Status: newclosed

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 by przemoc, 14 years ago

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

IBM System x3755 BIOS update

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:

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:17 by Frank Mehnert, 14 years ago

I agree. Thanks for this information!

comment:18 by przemoc, 12 years ago

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:

  1. LOCK - Lock SVM
  2. SVME_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...

Last edited 12 years ago by przemoc (previous) (diff)
Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette