Do you get a message box saying that your machine will be restarting in 00:30 seconds?
If you do, you can just run the command "shutdown -a" to abort it.
Also, please provide more useful information to understand the problem.
For example, after Windows is loaded, and you get to your desktop (which means Windows Explorer is running), how long does it take before it "restarts"?
Checking out the *.dmp files (located in %SystemRoot%\Minidump) with WinDbg would tell us about what happened with the device.
Also, check out your Event Viewer -> Application/System logs for any causes reported. (Start -> Run -> Type "eventvwr" -> OK)
Report back. Hopefully you can save yourself some cash by doing this yourself. If you can't do this, then I would go with what was suggested by daviduk109 and take it to a local shop for further analysis.