使用apt-get工具对Ubuntu 内核进行降级
使用 apt-get 工具对 Ubuntu 内核进行降级
当前系统及内核版本:
uname -a
Linux ubuntu 4.4.0-131-generic
搜索可下载的内核:
apt-cache search linux-image
安装指定版本的内核:
apt-get install linux-image-4.4.0-34-generic linux-image-extra-4.4.0-34-generic linux-headers-4.4.0-34-generic
修改grub配置文件:
vim /etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic"
更新配置后重启系统:
update-grub
reboot
查看当前版本:
uname –r
4.4.0-34-generic
内核更换过程中可能会出现的错误:{Begin: Running /scripts/local-block … done, stuck in initramfs}
如果在之前安装内核包的过程中,我们只安装了linux-image-4.4.0-34-generic
包,此时修改配置文件后对系统重新,便会卡死在错误界面:
{Begin: Running /scripts/local-block … done, stuck in initramfs}
根据网上的报错案例,找到了解决思路:
I had same problem on Ubuntu 16.04, 4.4.0-116 kernel. I solved problem
by installing appropriate linux-image-extra package.
于是查看当前已安装的内核:
root@ubuntu:~# dpkg --get-selections| grep linux
console-setup-linux install
libselinux1:amd64 install
linux-base install
linux-firmware install
linux-generic install
linux-headers-4.4.0-131 install
linux-headers-4.4.0-131-generic install
linux-headers-generic install
linux-image-4.4.0-131-generic install
linux-image-4.4.0-34-generic install
linux-image-extra-4.4.0-131-generic install
linux-image-generic install
linux-libc-dev:amd64 install
util-linux install
从列表中我们发现,由于之前只安装了linux-image
包,并没有安装linux-image-extra
和linux-headers
软件包,特别是linux-image-extra
包,因此当系统重启后报错。
什么是linux-image-extra
软件包,我需要它吗?
如果没有extra包,大多数硬件将无效!
它包含基本内核包之外的额外驱动程序;只有在需要这些驱动程序时才安装它 有时候,通过删除不太常见的内核模块(驱动程序),可以减少
linux-image 的特定变体。在这种情况下, linux-image-extra 包只包含所有遗漏的“额外”内核模块。正式地,这只发生在-virtual图像上;最常见的虚拟机管理程序(Virtualbox,VMWare,Xen,KVM)模拟定义明确且受限制的硬件集,因此删除不必要的驱动程序会增加内核/
initrd的大小是一个好主意。您可以随时通过安装extras包来取回它们。内核团队似乎也对某些mainline-PPA -generic内核采用了这种方法;推理和解决方案保持不变 -
如果基本内核映像看起来缺少您需要的模块,请安装附加内容。据我所知,Quantal内核尚未采用上述方法 - 只有 -virtual 像往常一样受到影响。
来源:(http://www.kbase101.com/question/6607.html)
所以修复这个错误的办法就是:
apt-get install linux-image-extra-4.4.0-34-generic
以及:
apt-get install linux-headers-4.4.0-34-generic
然后重启系统,成功进入系统。