![为什么内核更新后不重新启动就会出现问题?](https://linux22.com/image/172231/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%86%85%E6%A0%B8%E6%9B%B4%E6%96%B0%E5%90%8E%E4%B8%8D%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E5%B0%B1%E4%BC%9A%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我知道强烈建议在更新内核(好吧,任何重要的事情)后重新启动,以便更改可以应用并传播。我也知道 livepatch 内核的选项。
然而,我很困惑为什么当我更新内核然后不重新启动时,事情往往会中断。它几乎是随机的,有时会发生,有时不会,重新启动总是可以修复它。有时,蓝牙拒绝连接到新设备,Netflix 无法播放视频并告诉我重新启动计算机 - 事情通常会变得很奇怪。
但为什么会这样呢?我不想知道为什么我的蓝牙停止工作,但我想听听高层次的解释为什么事情通常会崩溃?
是否因为部分更新已应用,部分未应用,甚至可能有多个版本同时运行,并且在尝试通信时出现问题?
为什么内核更新后事情会变得奇怪?
答案1
有些驱动程序和服务取决于您的内核版本(virtualbox 的驱动程序就是其中之一)。当您更新内核时,某些服务会停止更新但无法重新启动,因为它们依赖于新内核。大多数发行版不会修补正在运行的内核(实时修补)来升级它,而不是更喜欢保持旧内核运行并在重新启动时启动新内核。如果您的蓝牙驱动程序在更新后需要新内核,则它将保持停止状态(或处于崩溃循环中),直到加载新内核。