A method of changing storage drive contents includes changing, in an
operating system, a main storage driver to create a virtual storage
driver, wherein the virtual storage driver redirects access requests to a
main storage either to one of the main storage and a temporary storage;
copying, as a background process, blocks from the main storage to the
temporary storage; restoring, to the temporary storage as a background
process, blocks from a source storage into blocks of the main storage
that have already been copied; and redirecting, to the temporary storage,
operating system's requests for access to blocks of the main storage that
have been copied to the temporary storage. The method can also include
hiding the temporary storage from the operating system. The main storage
and the temporary storage can share partitions of the same physical
storage drive. Free blocks of the physical storage drive can be used as
blocks of the temporary storage. Blocks can be assigned to the temporary
storage in succession.