How do I run a 64-bit guest in VirtualBox?

331,170

Solution 1

In order to be able to run a 64-Bit system in a VirtualBox, you need a cpu which supports virtualization. AMD calls this function AMD-V, Intel uses VT-x. The Wikipedia explains this quite good. There are a couple of Pentium-4 CPUs which are able to run a 64-Bit OS, but don't offer this VT-x technologie. You can check your system by...

$ egrep '(vmx|svm)' /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx cid cx16 xtpr lahf_lm
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx cid cx16 xtpr lahf_lm

If you don't get any output, you're not able to run a 64-Bit OS as guest inside your VirtualBox. But don't forget to check your BIOS settings. You might be able to activate these AMD-V/VT-x features inside the BIOS of your computer.

And finally there's a checkbox inside the VirtualBox-Settings. Start VirtualBox, select the virtual machine where you want to run your 64-Bit OS and go into the settings of this VM. Look for "Settings -> System -> Acceleration" and make sure that "Enable VT-x/AMD-V" is activated.

Solution 2

Make sure you've selected the 64-bit version of your Linux distribution in the wizard while creating the guest. I had the same issue, but it was solved by setting correct option at "version" of the distribution.

Even when you boot off a 64bit ISO image, it won't run until I set that option (General -> Basic -> Version).

Then you should have the ability to enable VT-x and I/O Apic.

Solution 3

Enable virtualization in the BIOS.

If it still doesn't work, keep the machine shutdown for a couple of minutes.

Solution 4

You need to enable the IO APIC to boot a 64 bits OS. At least that is what the docs say, look at the text in the big red square ;).

It doesn't look enabled in your .vbox file:

<IOAPIC enabled="false"/>

Solution 5

According to VirtualBox you should:

  • upgrade your BIOS if possible
  • remove the KVM modules (Linux host)

3.1.4 will contain a workaround for people with a broken BIOS and no option to update it. Set the VBOX_HWVIRTEX_IGNORE_SVM_IN_USE environment variable to true:

set VBOX_HWVIRTEX_IGNORE_SVM_IN_USE=true on Windows
export VBOX_HWVIRTEX_IGNORE_SVM_IN_USE=true on Linux 

This will tell VirtualBox to ignore VERR_SVM_IN_USE and continue to use AMD-V.
Note that this is a hack and dangerous if you run more than one hypervisor at the same time.

Share:
331,170

Related videos on Youtube

RusGraf
Author by

RusGraf

My goal here is usually to document.

Updated on September 18, 2022

Comments

  • RusGraf
    RusGraf over 1 year

    I would like to have an Ubuntu 11.04 64-bit test environment. When I try booting the Ubuntu 11.04 64-bit installation CD in VirtualBox, the following message is displayed by VirtualBox:

    VT-x/AMD-V hardware acceleration has been enabled, but is not operational. Your 64-bit guest will fail to detect a 64-bit CPU and will not be able to boot.

    Please ensure that you have enabled VT-x/AMD-V properly in the BIOS of your host computer.

    What am I doing wrong?

    Details:

    • VBox.log, ubuntu-test.vbox, and /proc/cpuinfo.
    • Kernel: Linux aux 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
    • The Virtualization setting in the BIOS is set to Enabled.
    • RusGraf
      RusGraf almost 13 years
      Turned out to be a bug in my BIOS. A workaround is available. I'm accepting Chrissss's answer since it should work in most cases.
  • Takkat
    Takkat almost 13 years
    Virtual Box does run 64-bit guests on 32-bit hosts when the CPU can handle virtualization and I/O ACPI is set.
  • Oxwivi
    Oxwivi almost 13 years
    @Takkat, off-topic, but isn't running 64-but guest counter-productive?
  • Takkat
    Takkat almost 13 years
    @Oxwivi: not if you need it to test applications :P /offtopic
  • RusGraf
    RusGraf almost 13 years
    Thank you, I should have seen this earlier. Sadly, however, enabling this did not change the behavior of the guest OS. I have since learned that there is an "Ubuntu (64 bit)" preset in which this setting is enabled by default, though. I've updated my question with newer information after recreating the VM using this preset.
  • thomasrutter
    thomasrutter almost 12 years
    Many BIOSes have bugs related to the enable VT-x/AMD-V setting. That is, they'll say it's on but they'll turn it off randomly (say, after suspend and resume, or subsequent reboots). Check for BIOS upgrades if you have issues.
  • Fredy Rosero
    Fredy Rosero almost 11 years
    I don't understand why I needed to keep the machine shutdown for a while. But it helped. Thx!
  • Radek
    Radek over 10 years
    Interestingly this was the answer that helped me.
  • Archimedes Trajano
    Archimedes Trajano over 10 years
    I noticed it too. I tried VMWare with 64-bit Fedora and 64-bit ubuntu with no issues. But for VirtualBox it seems to only work with the 32-bit.
  • Augustin Riedinger
    Augustin Riedinger about 10 years
    @neon_overload Is there a way to check if VT-x is still enabled after boot? I suspect BIOS bug ... :( And they don't really recommend to update BIOS here ...
  • Greg Sheremeta
    Greg Sheremeta almost 10 years
    Gah!!!!! Thank you! VB should totally detect this.
  • researcher
    researcher almost 10 years
    Virtual Box does run 64-bit guests on 32-bit host ? with your solution does it work ?
  • dansch
    dansch over 9 years
    I was able to run ubuntu 64-bit for two separate days. Now when I try to boot it up, it has this error. Yesterday when I shut down, I don't know that it quite worked out well.
  • Mattisdada
    Mattisdada over 9 years
    No, 64bit guests requires 64bit host, but a 64bit host can host bot 32bit and 64bit
  • Kenmore
    Kenmore about 8 years
    I can't even access the 'Acceleration' tab, it's greyed out. Guess that means it's at a hardware level? Might look at the BIOS but this is my work computer and don't really want to do that. It's an i5 quad core with 64-bit Windows; strange that it wouldn't be supported when my 2 i5 computers run 64bit vagrant boxes fine.