A system for streaming a virtual hard disk, comprising: a first server, comprising: a first processor; and a first memory coupled to the first processor, the first memory including instructions that upon execution cause the first server to: boot a guest operating system from a machine differencing virtual hard disk file stored in a second server and a master virtual hard disk file stored in a storage device attached to the first server, wherein the master virtual hard disk file includes a copy of an operating system and the machine differencing virtual hard disk file includes data that separates a specific user's computing environment from that of other users for customizing the copy of the operating system for the specific user; download, while simultaneously booting the guest operating system, a copy of the machine differencing virtual hard disk file from the second server; execute the guest operating system from the copy of the machine differencing virtual hard disk file and the master virtual hard disk file after the copy of the machine differencing virtual hard disk file is stored in the storage device attached to the first server; store blocks of data in a user differencing virtual hard disk file, the blocks of data being written to the virtual hard disk during a session; merge the user differencing virtual hard disk file with the copy of the machine differencing virtual hard disk file after the user logs off, by copying the blocks of data in the user differencing virtual hard disk file into the corresponding blocks on the copy of the machine differencing virtual hard disk file; and send the copy of the machine differencing virtual hard disk file to the second server for being stored as machine differencing virtual hard disk file. a first processor; and a first memory coupled to the first processor, the first memory including instructions that upon execution cause the first server to: boot a guest operating system from a machine differencing virtual hard disk file stored in a second server and a master virtual hard disk file stored in a storage device attached to the first server, wherein the master virtual hard disk file includes a copy of an operating system and the machine differencing virtual hard disk file includes data that separates a specific user's computing environment from that of other users for customizing the copy of the operating system for the specific user; download, while simultaneously booting the guest operating system, a copy of the machine differencing virtual hard disk file from the second server; execute the guest operating system from the copy of the machine differencing virtual hard disk file and the master virtual hard disk file after the copy of the machine differencing virtual hard disk file is stored in the storage device attached to the first server; store blocks of data in a user differencing virtual hard disk file, the blocks of data being written to the virtual hard disk during a session; merge the user differencing virtual hard disk file with the copy of the machine differencing virtual hard disk file after the user logs off, by copying the blocks of data in the user differencing virtual hard disk file into the corresponding blocks on the copy of the machine differencing virtual hard disk file; and send the copy of the machine differencing virtual hard disk file to the second server for being stored as machine differencing virtual hard disk file. boot a guest operating system from a machine differencing virtual hard disk file stored in a second server and a master virtual hard disk file stored in a storage device attached to the first server, wherein the master virtual hard disk file includes a copy of an operating system and the machine differencing virtual hard disk file includes data that separates a specific user's computing environment from that of other users for customizing the copy of the operating system for the specific user; download, while simultaneously booting the guest operating system, a copy of the machine differencing virtual hard disk file from the second server; execute the guest operating system from the copy of the machine differencing virtual hard disk file and the master virtual hard disk file after the copy of the machine differencing virtual hard disk file is stored in the storage device attached to the first server; store blocks of data in a user differencing virtual hard disk file, the blocks of data being written to the virtual hard disk during a session; merge the user differencing virtual hard disk file with the copy of the machine differencing virtual hard disk file after the user logs off, by copying the blocks of data in the user differencing virtual hard disk file into the corresponding blocks on the copy of the machine differencing virtual hard disk file; and send the copy of the machine differencing virtual hard disk file to the second server for being stored as machine differencing virtual hard disk file.