2

This is NOT a duplicate. The other answers do not apply to this situation.

When trying to boot a 64 bit image in a headless VirtualBox, I get

This kernel requires an x86-64 CPU, but only detected an i686 CPU. Unable to boot – please use a kernel appropriate for your CPU

My processor is 64 bit.

uname -a

Linux medusa 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

It supports VMX

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 pbe syscall nx lm constant_tsc 
arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est 
tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm tpr_shadow vnmi flexpriority

And the virtualization options are enabled in BIOS.

I've set the ostype to both Linux_64 and Ubuntu_64 but neither work. I've also tried setting VBoxManage modifyvm <vmname> --longmode on

"use a 32 bit image" isn't a solution, which is why I'm asking the question again. I see it's come up many times, and "your processor is 32 bit" is a very common response.

A potentially relevant piece of information is that the processor was upgraded after the initial installation of Ubuntu. I moved the processor that supports virtualization into this computer. I've had 64 bit VM's running on this machine before, with the same setup; I'm not sure if actually installing on the supported processor matters.

0

2 Answers 2

1

Found an answer!

All of the options were on. However the "trusted platform execution" needs to be off. As soon as I turn that off, it works.

If anyone can explain why that works, I'll award the answer.

0

I think "Trusted platform execution" only allows certain signed or "trusted" programs/kernels to boot, and your 64-bit image isn't one of the "trusted" ones. The "only detected an i686 cpu" error may be from VirtualBox's way of emulating the "trusted platform execution"(TPE), or maybe VirtualBox starts to boot the image, but the cpu's TPE doesn't let it, and the kernel sees something wrong with the cpu that fits the "not x86-64 cpu" error? Maybe? :-)

4
  • Don't think, because the host OS and the virtual OS are the same. If it can run natively, why would virtually trip that?
    – user335485
    Nov 25, 2014 at 17:03
  • VirtualBox is emulating the TPE, I don't know if your hardware bios has TPE enabled, I've read it's nothing but trouble for linux anyway, but VirutalBox must be doing too good of a job ;-) But why run the exact same linux image for real and emulated?
    – Xen2050
    Nov 28, 2014 at 1:08
  • One ubuntu server host, and a bunch of ubuntu server vm's. Want to play around with hhvm / laravel stack and not break anything
    – user335485
    Nov 28, 2014 at 2:34
  • I should probably be using xen instead, the last time I tried that I gave up, though I think the computer didn't support virtualization now that I think of it
    – user335485
    Nov 28, 2014 at 2:35