2

I am trying to run a 32 bit OS (Android x86) in VMware Player. It is coming up with the error 'VT-x is not available', even though I have a 64 bit CPU/host OS. Why is this?

I am aware that you cannot virtualise a 64 bit OS inside a 64 bit OS without VT-x, but I assumed this would not be the case for 32 bit. How might I solve this, am I missing a detail here? The CPU I am using is an Intel Pentium p6200, which does not support VT-x. I do not have the option of VT-x. Am I still able to virtualise 32 bit OSes?

I am considering using software virtualisation, such as QEMU, but I would prefer not to because of the slowdown involved.

flumperious
  • 117
  • 1
  • 5
  • 1
    Depending on how the VM is set up, it may require VT-x. Check its configuration. I’m not sure if VMware Player shows all the relevant options. – Daniel B May 28 '18 at 09:27
  • I've tried that. You can change very little, although i have tried changing 'virtualise Intel VT-x' on and off, but i believe that is for the vm's CPU, and will not affect the problem – flumperious May 28 '18 at 09:36
  • 1
    I’d like to check the `.vmx` file of your VM. How did you create it? – Daniel B May 28 '18 at 09:46
  • Possible duplicate of [VT-x is not available, but is enabled in BIOS](https://superuser.com/questions/1153470/vt-x-is-not-available-but-is-enabled-in-bios) – phuclv May 28 '18 at 09:49
  • @DanielB i created it through player, using the default options. There doesn't seem to be anywhere to change, view or specify the OS or CPU bits for the vm in player. I could try pro. – flumperious May 28 '18 at 10:05
  • @LưuVĩnhPhúc, as i said, VT-x is not enabled, as my CPU does not support it – flumperious May 28 '18 at 10:06
  • @DanielB My .vmx is here https://filebin.net/amrned56paf24o4j . Would you need any other files? – flumperious May 28 '18 at 10:14
  • 32-bit guest is always supported regardless of VT-x. If you have any problems then probably you have some wrong configuration while creating/importing the VM https://superuser.com/q/773338/241386 https://serverfault.com/q/109161 could you copy and paste the vmx file here – phuclv May 28 '18 at 10:49
  • @LưuVĩnhPhúc I'll Check up on that. you can't copy and paste the .vmx file easily, but it is here: https://filebin.net/amrned56paf24o4j/Android.vmx?t=ihyzm8h4 – flumperious May 28 '18 at 11:18
  • There are lots of 64-but processors that don’t support VT-x or ANDs equivalent virtualization feature. – Ramhound May 28 '18 at 11:20
  • I tried it on virtual box and it worked - must be a problem with vmware player, or config, as Daniel pointed out – flumperious May 28 '18 at 11:47
  • Are your sure you have download a 32-bit version of "Android-x86"? Because it has 64-bit versions too. For example, you should download `android-x86-7.1-r2.i686.rpm`, not `android-x86-7.1-r2.x86_64.rpm`. Not everyone knows that x64 is actually part of the x86 architecture. –  May 28 '18 at 12:54

1 Answers1

1

Remove from the .vmx file the following lines:

  • vvtd.enable = "TRUE"
  • vhv.enable = "TRUE"

It may then work. It could result in abysmal performance and/or crashes, too.

I suggest using an advanced editor like Notepad++ to edit the file. You can also use WordPad.

Update

The following lines are also relevant (though not present in this case):

  • monitor.virtual_mmu = "software"
  • monitor.virtual_exec = "software"

The value can be either software, hardware or automatic. automatic is the default value.

In VMware Workstation 12, I have the following options:

enter image description here

The mode dropdown has the following options, which result in the following virtual_exec/virtual_mmu values:

  • “Automatic”: automatic/automatic
  • “Binary translation”: software/software
  • “Intel VT-x or AMD-V”: hardware/software
  • “Intel VT-x/EPT or AMD-V/RVI”: hardware/hardware

Additionally, the checkboxes toggle the following options:

  • “Disable acceleration for binary translation”: disable_acceleration = "TRUE"
  • “Virtualize Intel VT-x/EPT or AMD-V/RVI”: vhv.enable = "TRUE"
  • “Virtualize CPU performance counters”: vpmc.enable = "TRUE"

Except disabling acceleration, all options require CPU support.

Because VMware Player does not offer access to all options it supports, you need to edit the .vmx file manually. It’s a regular text file, though it may not have Windows line breaks.

Daniel B
  • 60,360
  • 9
  • 122
  • 163