1. A computer system comprising: a processor; a random-access memory (RAM) operatively coupled to the processor; a first portion of a Hypervisor loaded into the memory as a part of an Extensible Firmware Interface upon start up and prior to loading of an operating system, wherein the first portion is responsible for context switching, at least a part of interrupt handling, and memory protection fault handling, wherein the first portion of the Hypervisor runs on a root level; an operating system loaded into a highest non-root privilege level; a second portion of the Hypervisor loaded into operating system space together with the operating system, and running on the highest non-root privilege level; a Virtual Machine Monitor (VMM) running on the highest privilege level, wherein the second portion of the Hypervisor is responsible for any of (a) servicing the VMM, (b) enabling communication between code launched on non-root level with the first portion of the Hypervisor to perform security checks of trusted code portions of the VMM and to enable root mode for the code portions if allowable; and at least one Virtual Machine (VM) running on a user level under control of the VMM.