Can't find the right Ubuntu Server ISO for VirtualBox

I have been trying all morning to find the right Ubuntu Server (12.04) ISO to use for installing an Ubuntu guest OS on my VBox VM.

Here are the relevant stats:

  • Host Machine: AMD 64-bit
  • Host OS: Ubuntu Desktop 11.04
  • VM OS: Linux
  • VM OS Version: Ubuntu
  • ISO downloaded and attempted: ubuntu-12.04-server-amd64.iso

When I try to start the VM I get a main menu, the first option reads Install Ubuntu. When I select that, I get an error message:

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

Edit: That message makes me think that I have a 32-bit machine but am trying to run a 64-bit ISO. I am confident that this is 64-bit, however, as uname -m produces x86-64 in the terminal...and executing lscpu produces:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                2
Thread(s) per core:    1
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              10
CPU MHz:               1200.000
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K

Here's the kicker: I downloaded the ISO on a Windows machine, because my Ubuntu machine (the one running Ubuntu Desktop 11.04 and hosting the VM-to-be) has crummy network connection. So I downloaded to a Windows client, put the ISO on a flash drive, copied it over to my Ubuntu machine, and saved it locally. I'm wondering if the download page saw that I was trying to download from a Windows client and swapped out the x86-64 version for i686? Otherwise I downloaded the wrong ISO.

Can someone please tell me what the right ISO is? I thought for sure the AMD 64-bit version would be exactly what I needed.


Solution 1:

Your ISO is probably the correct one. What you need to do is make sure you are setting up a 64bit Virtual Machine. From the VBox website (emphasis mine):

64-bit guests

VirtualBox supports 64-bit guest operating systems, even on 32-bit host operating systems, provided that the following conditions are met:

  1. You need a 64-bit processor with hardware virtualization support (see the section called “Hardware vs. software virtualization”).

  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 (which typically come with hardware virtualization support), 64-bit guest operating systems are always supported regardless of settings, so you can simply install a 64-bit operating system in the guest.

Warning

On any host, you should enable the I/O APIC for virtual machines that you intend to use in 64-bit mode. This is especially true for 64-bit Windows VMs. See the section called “"Advanced" tab”. In addition, for 64-bit Windows guests, you should make sure that the VM uses the Intel networking device, since there is no 64-bit driver support for the AMD PCNet card; see the section called “Virtual networking hardware”.

If you use the "Create VM" wizard of the VirtualBox graphical user interface (see the section called “Creating your first virtual machine”), VirtualBox will automatically use the correct settings for each selected 64-bit operating system type.

So, just try creating a new Virtual Machine and select Ubuntu 64 as the OS. All the settings should be correctly configured by VirtualBox and you should be able to install with no problems.

Solution 2:

You can download from one of the mirrors directly. And yes ubuntu-12.04-server-amd64.iso is the correct 64bit version.

Perhaps you are running a 32bit base OS. Run uname -a to check the kernel version.
Below is an example of a 64bit output.

p0rkjello@de01u0001:~$ uname -a
Linux de01u0001 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

The output from an AMD system I own

p0rkjello@de01u0001:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                6
On-line CPU(s) list:   0-5
Thread(s) per core:    1
Core(s) per socket:    6
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD