how to write a bare-bones-basic hard disk imaging program that runs in DOS
I know this is VERY ambitious, especialy since my programming skills are relatively average (but I learn very quickly) but does anyone have any suggestions or techniques as to how to write a very basic hard disk imaging program like "Norton Ghost 2003" the dos version? I don't want ALL the bells and whistles, just a springboard program that I can then add more functionality over time as my skill level increases. I have the concept of a system that keeps a computer in perfect working order, but I have to use 3rd party software to implement it now, so I can't market it with my business without having my clients also buy Ghost, and I don't think Symantec would smile at what I'm doing, even though it is perfectly leagal! (But if there darn Ghost software actually did what it was supposed to do I wouldn't have to write this system, ever since they moved away from Ghost 2003, nothing works right anymore!!) I need to write my own disk imaging program to be on the safe side. Does C++ (or C)have the ability to manipulate the file locations on a disk, regarding cluster moving etc? Please don't get overly technical with your suggestions (as I said my skills are about 4 from 1 to 10), just concepts or basic functions or algorithims and possibly a code example or 2 to help me get started on my project and learning. I would be very greatful for any comments or suggestions!
By the way, I know this will complicate things but I need it to be able to manipulate FAT32 and NTFS partitions, but if all you can tell me is how to do just FAT16 manipulation I would still be ever so enlightened and greatful :D because at least I would have a foundation, then I could learn and figure out the FAT32 and NTFS file system perameters as time progresses!