I have to develop a kernel level driver that makes user changes (new files, new software installations, etc.) store at a cache (or specified location in the disk). Upon restart of the machine, all changes to be discarded and original system to be loaded. This is similar to softwares like Deep Freeze, Toolwiz Time Freeze, etc, of whose details given later.
Please let me know how can I do this.
Any help for this development will be appreciated. Thank you.!
Operation of Deep Freeze:
Deep Freeze is a kernel-level driver that protects hard drive integrity by redirecting information being written to the hard drive or partition, leaving the original data intact. This redirected information is no longer referenced once the computer is restarted, thus restoring the system to its original state at the disk sector level. This allows users to make 'virtual' changes to the system, giving them the appearance that they can modify core files or even delete them, and even make the system unusable to themselves, but upon reboot the originally configured 'frozen' state of the operating system is restored.
Operation of Toolwiz Time Freeze:
The Toolwiz engine is made up of two Windows kernel drivers. One is the file system filter and another is a disk filter. The whole engine is designed to hold all the changes(both in the file system and raw disk level) and save the changes to one cache file.