There are many apps that do this. I like to use Acronis. When I back up I create a full image of the drive and, if necessary, restore the whole thing after first doing a full wipe on the existing one.
My C:/ drive isn't partitioned because I disabled GPT on installation, but as far as I know it'll work anyway,