A method for initializing a computer for support of virtual machines comprising the steps of: allocating a first region of read-write memory; loading a hypervisor program from a first non-volatile memory into the first region; creating a memory heap of the read-write memory, the memory heap excluding the first region; partitioning the heap to create a plurality of partitions responsive to parameters known to a BIOS program within the computer, wherein the plurality of partitions are dedicated to the virtual machines; and making the results of the partitioning visible to the hypervisor program and setting-up, by the hypervisor program, the virtual machines using the plurality of partitions, wherein the hypervisor program: - creates a first environment for a first virtual machine; - creates a second environment for a second virtual machine; - virtualizes an operating system loaded into the first environment using a MBR (Master Boot Record) wherein the MBR resides on a second non-volatile memory; and - virtualizes an appliance program loaded into the second environment, from a non-volatile memory selected from a list consisting of the first non-volatile memory and a third non-volatile memory, and wherein the hypervisor program responds to a stimulus for switching to a low-power state operation by: - suspending execution of the operating system and placing the associated second non-volatile memory in a power-down state, and - running on the appliance program during the low-power state operation. allocating a first region of read-write memory; loading a hypervisor program from a first non-volatile memory into the first region; creating a memory heap of the read-write memory, the memory heap excluding the first region; partitioning the heap to create a plurality of partitions responsive to parameters known to a BIOS program within the computer, wherein the plurality of partitions are dedicated to the virtual machines; and making the results of the partitioning visible to the hypervisor program and setting-up, by the hypervisor program, the virtual machines using the plurality of partitions, wherein the hypervisor program: - creates a first environment for a first virtual machine; - creates a second environment for a second virtual machine; - virtualizes an operating system loaded into the first environment using a MBR (Master Boot Record) wherein the MBR resides on a second non-volatile memory; and - virtualizes an appliance program loaded into the second environment, from a non-volatile memory selected from a list consisting of the first non-volatile memory and a third non-volatile memory, and - creates a first environment for a first virtual machine; - creates a second environment for a second virtual machine; - virtualizes an operating system loaded into the first environment using a MBR (Master Boot Record) wherein the MBR resides on a second non-volatile memory; and - virtualizes an appliance program loaded into the second environment, from a non-volatile memory selected from a list consisting of the first non-volatile memory and a third non-volatile memory, and wherein the hypervisor program responds to a stimulus for switching to a low-power state operation by: - suspending execution of the operating system and placing the associated second non-volatile memory in a power-down state, and - running on the appliance program during the low-power state operation. - suspending execution of the operating system and placing the associated second non-volatile memory in a power-down state, and - running on the appliance program during the low-power state operation.