(warning: linux hacker info being leaked in this post)
There is only one solution I know of for factory restoring without MSWindows. Basically, it would involve getting a nand backup of the /system, prior to being rooted. Or getting a nand backup of the /system soon after being rooted, and hand editing it back into an unrooted state. (both of which are possible, but require an in-depth level of knowledge)
Once you have an unrooted nand backup of the /system, it's then just a matter of flashing it using the nand restore process
But here's the catch, this nand restore process is no good if the device is bricked.