How do I run a 64-bit guest in VirtualBox?
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.