A
system and method for storing computer files in a destination file is described, which may be an
incremental backup system. File headers related to the files may be stored in a file index separate from a
data file, or subsequent versions may be stored in the same
data file while maintaining earlier versions. File headers may include locations of files, checksums,
metadata about individual blocks corresponding to the data files. A
system may include a
client application program stored on a
client computer, a network, and a
server software program on a destination computer. Embodiments may include compression,
encryption, or both, performed by the
client application program. Files may be divided into blocks, and
metadata may include locations of blocks. Files may be restored from the destination computer to the source computer. Files storage locations on the destination computer may be mapped to the client computer to appear as a virtual hard drive for convenient access by a user.