A method of restoring a storage device includes creating an image of the
storage device of a computer system; during execution of a boot loader,
starting an initialization application that at least partially restores
to the storage device, operating system data from the image; modifying a
disk driver of the operating system to form a driver that redirects
unexecutable storage device read requests to the image; rebooting the
computer system using the at least partially restored operating system
data; and restoring unaltered portions of remaining data from the image
as a background process.