A method of and system for protecting a disk drive or other data storage
includes mounting a virtual storage that combines a full access temporary
storage and a READ-only portion of a main storage, wherein the READ-only
portion represents a protected area of the main storage; generating a
bitmap for blocks of the virtual storage; redirecting virtual storage
write requests to the temporary storage; marking, in the bitmap, blocks
of the virtual storage corresponding to blocks of the temporary storage
that are being written to; redirecting, to the READ-only portion, read
requests for unmarked blocks; redirecting, to the temporary storage, read
requests for marked blocks; upon an acceptance of a state of the virtual
storage, merging the temporary storage with unmarked blocks of the
READ-only portion of the main storage, to form an integral storage; and
upon a rejection of a state of the virtual storage, terminating the
redirecting. Optionally, data in the temporary storage can be archived.