Dealing with Multiple Machine Architectures
search cancel

Dealing with Multiple Machine Architectures

book

Article ID: 330613

calendar_today

Updated On:

Products

VMware Desktop Hypervisor VMware vSphere ESXi

Issue/Introduction

Machine architecture describes the broad design of a computer how pieces of hardware are arranged into functional units to meet specific goals and requirements. One aspect of machine architecture is the choice of an instruction set, the set of commands that a program may use to implement its goals and requirements.

In general, the instruction set of one machine architecture is not compatible with the instruction set of different machine architectures - programs written for one type of computer will not, in general, be able to be execute on a computer of a differing machine architecture.

Examples of instruction set incompatible processors are X86_64, Arm, and PowerPC. Apple processors "Apple silicon (Mx and Axx)", are Arm machine architecture.

The operation system (the software that manages computer hardware and provides services for programs) that one uses cannot be used to detemine the machine architecture it runs on. For instance, Windows 10 may be running on X86_64, or Arm; Linux may be running on X86_64 or Arm; macOS may be running on X86_64 or Apple silicon.

Attempting to run an operating system written for a particular machine architecture on a machine of a differing machine architcecture will result in errors. One cannot run Windows 10 for X86_64 on an Arm machine or macOS for X86_64 on Apple silicon.

Using virtual machines does not remove the operating system dependency on a machine architecture. A virtual machine that contains an X86_64 version of Linux will not work on a Arm or Apple silicon Macintosh; an Apple silicon version of macOS will not work on an X86_64 Mac.

If one attempts to run a virtual machine that does not contain an operating system compatible with the machine architecture on the machine it is to run on, an error explaining this will be displayed.

Resolution

Creating a virtual machine requires that the guest operating system be compatible with the machine architecture of the host running it.
For instance, using VMware Fusion, an Arm Linux guest must be created and run on an Apple silicon Macintosh, not an X86_64 Macintosh.