Saturday 22 May 2010

VirtualBox and SLES 11 host on Windows 7 64-bit

Had problems running VirtualBox 3.2.0 on Windows 7 64-bit (using a Socket 939 AMD Athlon X2 4600+ processor), with a SLES 11 virtual machine.  Shortly after starting boot from SLED-11-DVD-x86_64-GM-DVD.iso it fails with error "This is a 32-bit computer.  You cannot use 64-bit software on it".  Strange, as this is a 64-bit CPU with a 64-bit host OS.
CPU-Z reports the X2 4600 as below.  Note the family value of F and stepping value of revision JH-E6, which makes it a Windsor chip.   It's missing the AMD-V instructions , see AMD's specifiction page where it shows "Virtualization=No".

Tried using VMware 7.0.1 and works fine.  


    steve@linux-q95l:~/Desktop> x86info
    x86info v1.21.  Dave Jones 2001-2007
    Feedback to .
    Found 1 CPU
    --------------------------------------------------------------------------
    Family: 15 Model: 35 Stepping: 2
    CPU Model : Dual-Core Opteron/Athlon 64 X2 Dual-Core (JH-E6)
    Processor name string: AMD Athlon(tm) 64 X2 Dual Core Processor 4600+
    Feature flags:
     fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh mmx fxsr sse sse2 sse3
    Extended feature flags:
     fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 nx mmxext mmx fxsr ffxsr lm 3dnowext 3dnow lahf/sahf
    SVM: revision 0, 0 ASIDs
    Address Size: 48 bits virtual, 40 bits physical
    The physical package has 2 of 2 possible cores implemented.
    steve@linux-q95l:~/Desktop> uname -a
    Linux linux-q95l 2.6.27.19-5-default #1 SMP 2009-02-28 04:40:21 +0100 x86_64 x86_64 x86_64 GNU/Linux
    steve@linux-q95l:~/Desktop>
Due to the fact that VirtualBox uses hardware virtualization (and this AMD X2 6400 doesn't include the crucial AMD-V extension) while VMware uses software virtualization.  The VirtualBox user guide states

    3.1.2 64-bit guests Starting with version 2.0, VirtualBox supports 64-bit guest operating systems. Starting with version 2.1, you can even run 64-bit guests on a 32-bit host operating system. The hardware prerequisites are identical for both cases. In particular, 64-bit guests are supported under the following conditions: 
    1. You need a 64-bit processor with hardware virtualization support (see chapter 10.2, Hardware vs. software virtualization, page 179). 
    2. You must enable hardware virtualization for the particular VM for which you want 64-bit support; software virtualization is not supported for 64-bit VMs. 
    3. If you want to use 64-bit guest support on a 32-bit host operating system, you must also select a 64-bit operating system for the particular VM. Since supporting 64 bits on 32-bit hosts incurs additional overhead, VirtualBox only enables this support upon explicit request. On 64-bit hosts, 64-bit guest support is always enabled, so you can simply install a 64-bit operating system in the guest.
Conclusion : if using VirtualBox on this CPU I'll need to just use SLES 32-bit.  Only by using VMware can I run a SLES 64-bit guest OS.

No comments:

Post a Comment