电脑重启可以解决很多故障,听起来像是没有依据的玄学,但原理并不复杂。操作系统长时间运行之后,内存、驱动、网络协议栈里,都会堆积大量临时状态。重启做的事情很简单,清空这些临时状态,让系统恢复到开机初期干净的状态重新运行。
内存属于易失性存储,断电之后里面的数据就会消失。电脑开机运行时,每个程序都会占用一部分内存,同时占用文件句柄、网络连接、资源锁、定时器这类资源。代码写得规范的程序,退出的时候会释放占用资源;如果程序代码有缺陷,或是运行遇到异常,就会出现资源泄漏。泄漏不断累积,系统可用资源持续变少,直观表现就是电脑卡顿、反应慢,时不时弹出莫名报错。重启会终止全部进程,操作系统统一回收资源,泄漏占用的资源也一并清理。重启并不是修复程序漏洞,只是清空堆积出问题的运行状态。

驱动和内核层面的问题会更明显。驱动在内核态运行,权限很高,一旦运行状态错乱,轻则硬件无法正常工作,严重的话直接蓝屏。显卡、声卡、无线网卡、USB控制器,这些硬件自带寄存器与缓冲区,长时间持续工作,有可能卡在异常状态。重启的时候系统重新加载驱动,重新识别硬件,重新分配中断与内存地址。多数情况硬件本身没有损坏,只是系统控制硬件的运行状态出错。单独拔掉USB设备再重新插上,有时就能恢复,原理相近,重启相当于把整台电脑所有硬件全部重新插拔复位。
网络故障也是同样道理。系统内部保存多种数据表,ARP缓存、路由表、DNS缓存、连接跟踪记录、防火墙会话信息。VPN虚拟网卡、DHCP租约、IPv6地址都会留下状态记录。遇到网络无法连接、网速异常、DNS解析出错这类情况,重启清空所有缓存表,重新获取网络地址、协商连接参数。路由器也是同理,长时间不关机,NAT表占满,内存泄漏,PPPoE拨号容易断线。所以重启路由器不是迷信,是给设备复位。
还有文件占用锁和系统更新的场景。Windows更新、驱动安装、软件升级,经常需要替换正在被调用的文件。文件处于占用状态无法替换,系统就安排在重启的预启动阶段完成替换。后台服务卡死,打印队列堆积,打印服务停止工作,重启服务或是整机重启都能清除这类异常。我们看到提示“重启完成更新”,就是这个原理。
这里有一个很实用的区分要点:Windows系统里,关机之后再开机,并不等同于重启。开启快速启动功能的前提下,关机操作只是把内核会话休眠保存到硬盘,下次开机直接恢复,大量驱动和内核状态没有重置。重启才会完整执行整套初始化流程。所以有时候关机再开机故障依旧,直接重启反而恢复正常,不是什么玄学,二者执行流程不一样。
但重启并不是万能的修复手段。硬盘存在坏道、内存硬件故障、电源老化、主板电容鼓包、散热不足、系统核心文件损坏,或是病毒深度驻留,这类问题重启最多短暂缓解,甚至完全没有效果。如果重启之后故障很快再次出现,说明根本问题还在。要是每天都需要依靠重启维持使用,就不能反复重启,要查看系统日志、排查驱动,检测硬件。重启只是成本最低的排查手段:重启之后故障消失,大概率是软件运行状态紊乱;故障依旧,就需要继续深入排查。重启更像是让系统重新开启一次运行会话,不是硬件维修。
