记一次内核升级滚挂并恢复

这篇是很久之前就写了,算是远古文章了,当时没有发到博客上,是想着既然问题解决了,那就没有必要发出来了。但是为何如今又要发出来呢?其实我最近在整理笔记,想着怎么也得有一些翻车经历什么的,不然这个博客就不那么完整了😅

此事件发生于:2020.8.14

这件事发生的时间是在晚上22点左右,当时Manjaro Linux从内核5.4升级到5.6 rt时重启后出错,无法进入系统,当时吓得我不要不要的,因为这是第二次发生这种事情了。。。

不过着急是没有用的,冷静下来后去Google找解决方法,好在archlinux wiki上有降级方法 Downgrading packages (简体中文)

如果您在升级内核后无法启动,您可以通过使用 live CD 来降级内核。方法类似Arch Linux的安装进程。启动后在/mnt挂载你的根目录文件系统,别忘了挂载其他分区如/boot/var等等。(例子 mount /dev/sdc3 /mnt/boot)。然后chroot进入系统。

1
># arch-chroot /mnt /bin/bash

现在你可以在/var/cache/pacman/pkg 寻找旧的安装包。必须降级的有linuxlinux-headers和任何内核模块。举例来说:

1
># pacman -U linux-3.5.6-1-x86_64.pkg.tar.xz linux-headers-3.5.6-1-x86_64.pkg.tar.xz virtualbox-host-modules-4.2.0-5-x86_64.pkg.tar.xz

退出并重启。

办法就是用livecd进入系统,然后manjaro-chroot 到原来系统的根目录下。。于是我赶紧找出一个U盘,然后到manjaro官网下载manjaro linux kde 20版本的用rufus制作一个启动盘(下载manjaro linux也花费了很多时间,因为墙的原因),由于这些操作是在另一台Windows上进行的,而且又是很多年前的老古董,期间花费了很长时间(第一个制作失败,第二次才成功)

在引导成功进入安装系统后,我赶紧mount挂载原系统的硬盘到 /mnt,比如:mount /dev/nvme0n1p2 /mnt ,并 manjaro-chroot /mnt /bin/bash切换根目录到/mnt,好在/var/cache/pacman/pkg目录下还保留着之前5.4版本的一些包,并没有删除这些缓存包,于是利用pacman -U降级软件包

$ ls -lht|grep linux54
-rw-r–r-- 1 root root 83M 7月 17 02:17 linux54-5.4.52-1-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 21K 7月 17 02:17 linux54-bbswitch-0.8-58-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 9.5M 7月 17 02:17 linux54-headers-5.4.52-1-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 15M 7月 17 02:17 linux54-nvidia-440xx-440.100-4-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 171K 7月 17 02:17 linux54-virtualbox-host-modules-6.1.10-8-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 23K 6月 4 05:29 linux54-bbswitch-0.8-50-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 15M 6月 4 05:29 linux54-nvidia-440xx-440.82-17-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 174K 6月 4 05:29 linux54-virtualbox-host-modules-6.1.8-4-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 83M 6月 4 01:43 linux54-5.4.44-1-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 9.5M 6月 4 01:43 linux54-headers-5.4.44-1-x86_64.pkg.tar.zst
-rw-r–r-- 1 root root 23K 5月 28 06:03 linux54-bbswitch-0.8-49-x86_64.pkg.tar.xz
-rw-r–r-- 1 root root 14M 5月 28 06:03 linux54-nvidia-440xx-440.82-16-x86_64.pkg.tar.xz
-rw-r–r-- 1 root root 175K 5月 28 06:03 linux54-virtualbox-host-modules-6.1.8-3-x86_64.pkg.tar.xz
-rw-r–r-- 1 root root 81M 5月 28 06:03 linux54-5.4.43-1-x86_64.pkg.tar.xz
-rw-r–r-- 1 root root 9.3M 5月 28 06:03 linux54-headers-5.4.43-1-x86_64.pkg.tar.xz

一顿操作后重启后发现屏幕上出现一些错误信息,大致为 unknown filesystem type efivarfs ,紧接着又出现一大串的错误,好在最后还是成功进入了系统 😅

不过我怀疑是5.6更新版本的问题(或者说和当前版本不兼容?),然后卸载掉之前安装的5.6版本的内核,再次重启后完全恢复到之前的样子。到此算是松了一口气,如果这次恢复失败,就只有重装系统了,还好这次成功的解决了,不然的话我估计要转Windows了。。。。。

大概是在凌晨1点多才弄完并恢复成功。。。。

大概就是这样了,以后再也不敢乱升级内核了,还是保守一些吧,差点翻车了。。。。😅


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!