子方有话
话说Arch Linux还挺容易滚挂的,实行了全系统更新之后,提示无法加载内核模块。本来呢这个教程也没打算写,只不过今天又滚挂了一次,所以想想还是写出来吧。也顺着这个机会,把一个月前写的安装教程发一发。
这个教程写了四遍,浏览器缓存导致没保存,坑爹的手机uc浏览器!
情景还原
有必要先简单介绍一下当时遇到的情况。当时执行的是全系统的更新工作,瞥了一眼看到写有内核更新。整个更新过程都没有出现什么错误提示,直到完成。
当子方下一次开机的时候就提示了,无法加载内核模块。随后就是一个小横标在屏幕上闪一闪一闪的。
当时子方的内心可糟糕了,特别是找了一些网络上的教程都没有解决。子方就在想,子方是不是不适合用这个系统?毕竟这个系统的学习成本还是有一点点的。
搜集之路
上一次遇到这个问题大概是在半个月前吧,当时呢,子方执行了全系统的升级,然后就出现了这个错误。但是子方查了不少资料,子方看到大家提供的内容,大致上可以分为两个方向,第1个就是启动分区出了问题,第二个是xorg出了问题。
随后子方是根据这两个方向都进行了一次尝试,但都没有成功。第1个解决方向,子方确定试过了没成功,但第2个子方就不确定。毕竟这又过去了一段时间。
问题解决
好吧,既然没有办法,那就只能自己摸索了。回想一下刚刚子方遇到的问题,就是进行了系统更新,既然是内核模块没有安装好,那能不能重新安装一次呢?
制作启动U盘
这一个和出自安装系统是一样的,如果你不知道怎么操作的话,可以看一下子方后面发的教程,其实网上也很多。很简单的,就是把镜像写入U盘就可以了。
联网
进入U盘系统后,子方们就等于得到了一个修复的环境。因为子方们需要下载更新,所以需要联网,如果是台式机的话,需要考虑一下网卡IP设置。如果是笔记本的话,就是和子方一样,需要通过wifi连接。
iwctl device list #查一下你的无线网卡名称,比如子方的是wlan0。 station wlan0 connect “WIFI NAME" #注意wlan0 和WiFi名称需要替换,随后系统会提示你输入密码。 ping baidu.com #随便选择一个网址,检查一下联网是否成功。
校时
连接成功之后。,子方们要确保时间是正确的,因为子方们待会需要从网络上下载组件。最下面的事件按理来说不会返回任何信息的如果有返回的话,那就比较麻烦一点的。子方在系统的安装教程里面提到过,这可能是和别的进程占用有关,需要等一下再执行一次。当然也可能是别的问题,就需要自己来处理了。
timedatectl set-ntp true
分区挂载
在上一次的操作当中,子方是直接挂载了启动分区和系统分区,当时是顺利的修复了,无法加载内核的错误,这一次子方偷了一个小懒,子方就没有挂载启动分区,结果没有解决。
因此启动分区和系统分区需要同时挂载。这里面子方有个地方要提醒一下,第1个就是每个人的启动分区和系统分区是不一样的,需要根据自己的实际情况来看;第2个是启动分区的目录文件夹可能不同,子方这里是Boot。
mount /dev/sda4 /mnt mount /dev/sda1 /mnt/boot
控制权切换
通过下面的命令,子方们把控制权切换到硬盘上的系统。接下来子方们所做的一切操作,都是对硬盘上的系统进行修改。个人觉得这个模式其实挺好的,如果系统出现问题的话,可以通过这个模式进行快速的修复。
arch-chroot /mnt
安装内核
下面子方们进行安装,这两个组件是Arch Linux系统的基本组件。在安装的过程当中,会看到提示重新安装的英文字样。整个过程不会被中断,也没有太多错误性的提示。当文件下载并重新安装完成时就可以了。
pacman -S linux linux-firmware
退出重启
所有的操作完成之后,子方们把控制权切换回修复环境。依次退出,随后取消挂载分区,重启后顺利进入系统。就可以看到问题解决了
exit umount /mnt/boot umount /mnt