io credo la seconda, un sistema che si avvia in una 30ina di secondi è sinonimo di buona salute 
hai provato a vedere invece in quanto tempo riavvia?? in pratica da desktop a desktop..
La faccio breve, posto il codice che potrete copiare ed incollare in un qualsiasi editor di testo (vedi Notepad) e salvarlo con un nome a piacere ma è fondamentale che l'estensione sia .vbs
Restart Time.vbs
codice:
Option ExplicitOn Error Resume Next
Dim Wsh, Time1, Time2, Result
Dim PathFile, MsgResult, MsgA
Dim AppName, KeyA, KeyB
Dim dtTimerIni, dtTimerFine, dtTempoTotale
MsgA = "Chiudere tutte le applicazioni e riavviare il sistema"
KeyA = "HKEY_CURRENT_USER\Software\RestartTime\"
KeyB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\RestartTime"
AppName = "Restart-Time"
Set Wsh = CreateObject("WScript.Shell")
PathFile = """" & WScript.ScriptFullName & """"
Result = Wsh.RegRead(KeyA & "Times")
If Result = "" Then
MsgResult = MsgBox (MsgA, vbOKCancel, AppName)
If MsgResult = vbCancel Then WScript.Quit
'/----- avvia il timer
dtTimerIni = Timer()
Wsh.RegWrite KeyA & "Times", dtTimerIni, "REG_SZ"
Wsh.RegWrite KeyB, PathFile, "REG_SZ"
Wsh.Run "cmd /c Shutdown -r -t 00", False, 0
Else
'/----- stoppa il timer
dtTimerFine = Timer()
dtTempoTotale = CStr(dtTimerFine - Result) & " sec."
Wsh.RegDelete KeyA & "Times"
Wsh.RegDelete KeyA
Wsh.RegDelete KeyB
MsgBox "Il tuo computer ha riavviato in " & dtTempoTotale, VbInformation, AppName
End If
Set Wsh = Nothing
WScript.Quit
Vediamo come funziona? doppio click sul file Restart Time.vbs

si apre una finestra che vi invita a chiudere ed eventualmente salvare le applicazioni aperte per poi procedere con il riavvio vero e proprio

confermando l'operazione con l'ok il sistema verrà riavviato e una volta ritornato al desktop una finestra vi indicherà quanti secondi sono stati necessari per completare l'intera operazione del riavvio.
per quanto mi riguarda, per ora, questo è quanto: