1. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method of restoring a state of a virtual machine (VM) running in a physical machine from a checkpoint file that is maintained in persistent storage, the method comprising: detecting access to a memory page of the VM that has not been read into a physical memory of the VM from the checkpoint file; determining a storage block of the checkpoint file to which the accessed memory page maps; writing contents of the storage block into a first available buffer; and copying contents of a block of memory pages that includes the accessed memory page from the first available buffer to corresponding locations of the memory pages in the physical memory of the VM, wherein the contents of the storage block copied into the first available buffer contain contents of at least two blocks of memory pages.