1. A method for providing a virtual disk, the method comprising: providing a computer system including a processor that executes an operating system, wherein the computer system is in communication with a network share that stores data; the processor creating a disk layer interface that interfaces between the operating system and the virtual disk; the processor determining which file system interacts with the operating system; based on the determined file system, the processor creating metadata for the operating system to access file data stored in the virtual disk, wherein the metadata provides information to the determined file system for retrieving file data from and writing file data to the virtual disk; the processor creating a network interface to communicate between the disk layer interface and the network share; and the processor exposing the virtual disk, through the disk layer interface, to the operating system, wherein the virtual disk appears as a local disk to the operating system and wherein the file data is stored in the network share; the disk layer interface communicating with the operating system; the disk layer interface intercepting a read request directed to the virtual disk for a file; the disk layer interface returning file data associated with the file in response to the read request; the network interface receiving the read request; the network interface determining the network share that stores block data associated with the file; the network interface communicating with the network share to read the block data from the network share; and the network interface returning the block data to the disk layer interface to be returned as the file data.