1. A method of updating a virtual machine, the method comprising: executing a hypervisor on a host computer, the hypervisor managing execution of the virtual machine on the host computer, wherein a guest operating system is currently executing on the virtual machine, the hypervisor providing the virtual machine with block-based access to a virtual machine image, the virtual machine image comprised of blocks; receiving a substitution block at the host computer; and while the virtual machine is executing, replacing a target block in the virtual machine image with the substitution block.