为了回应 Dirty COW,我按照以下回答中的描述安装了 4.4.0-45 内核这问题。
输出自dpkg -l | grep '4\.4\.0-45'
ii linux-headers-4.4.0-45 4.4.0-45.66 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-45-generic 4.4.0-45.66 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-45-generic 4.4.0-45.66 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-45-generic 4.4.0-45.66 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-libc-dev:amd64 4.4.0-45.66 amd64 Linux Kernel Headers for development
清楚地显示它已安装并update-grub
检测到它
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-45-generic
Found initrd image: /boot/initrd.img-4.4.0-45-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
done
但即使重启了无数次机器,uname -r
仍然会出现
4.2.0-38-generic
我想知道我错过了什么步骤导致系统无法启动新内核。
答案1
你不需要安装新的内核版本来修补脏牛漏洞 在 Ubuntu 上启用 Canonical Livepatch 服务
内核实时修补功能可在运行时纠正内核中的关键安全问题,而无需重新启动。这是确保机器在内核级别安全的最佳方式,同时保证正常运行时间,尤其是对于单台机器可能运行数千个不同工作负载的容器主机而言。
(1)前往https://ubuntu.com/livepatch并检索您的 livepatch 令牌,例如:d3b07384d213edec49eaa6238ad5ff00
(2)安装 livepatch snap,如下所示:$ sudo snap install canonical-livepatch
(3)使用步骤 1 中的令牌启用你的帐户
$ sudo canonical-livepatch 启用 d3b07384d113edec49eaa6238ad5ff00
就这样。您已启动并运行!您可以随时使用以下方式检查您的状态:
$ canonical-livepatch 状态内核:4.4.0-38.57-generic 完全修补:true 版本:“12.2”
现在您的内核将保持安全修补,您可以在方便的时候重新启动。
或者运行以下命令:
sudo apt-get update && sudo apt-get dist-upgrade
答案2
更好的方法是从旧内核启动并删除所有新内核文件然后/boot
之后
update-grub
你可以设置默认的旧内核然后
sudo aptitude safe-upgrade
希望它会有所帮助如果没有的话下载启动修复并手动修复一些我喜欢的问题但对于新手来说这会很危险