已更新至linux 5.0.9.arch1-1,并且使用grub-mkconfig生成了grub.cfg文件,但是启动后依然显示4.12.12-1-arch
使用uname -a也显示是4.12.12-1,但是使用pacman -Q linux显示为linux 5.0.9.arch1-1。
请问该如何解决?感谢各位大佬!
离线
我猜,你是给 /boot 单独划分了一个分区,装机时挂载了那个分区到 /boot,于是内核就被装到单独的分区里了。然后更新的时候没有挂载 /boot
最近编辑记录 Mr.I (2019-04-29 09:27:25)
离线
内核被安装到了另一个文件系统上,which没有被正确的挂载,于是软件包管理器没有正确的更新内核,所以我说没事别学百度分个/boot出来,你都不知道分区是干嘛的还喜欢分区。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
把/上的内核删掉,/boot正确的挂载上,再Syu一次。并重新生成一次grub.cfg
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
我的/boot并未单独分区。。。一开始google的时候发现有人是这个原因导致的,检查了下我的,并没有把/boot单独分区
离线
我的/boot并未单独分区。。。一开始google的时候发现有人是这个原因导致的,检查了下我的,并没有把/boot单独分区
MBR 还是 UEFI 启动?lsblk -o+FSTYPE,PARTLABEL,LABEL,UUID 看看?
离线
UEFI启动,晚上回去把结果贴出来
离线
离线
你不挂载 EFI 分区么?然后你还把内核装进去了?
离线
依云+1,你可能ESP上有一个内核。
另外arch更新内核其实并不需要修改grub.cfg,因为内核都叫vmlinuz-linux
ecmascript是世界上最好的语言
离线
我更新之后查看了/boot,里面的.img文件都有更新。并且我现在是直接pacman -S linux-lts,并且pacman -R linux删除了原来的linux内核。所以应该是把新内核加载到了/boot下面了。
莫非是uefi的NVRAM有问题,我看wiki描述的启动过程会先读取NVRAM中的配置来决定从哪里启动。我不太懂,只是猜测的。还请大佬指教
离线
你到底想把内核装到哪里?sda1 还是sda2?什么叫新内核加载到/boot下面了?pacman 是固定把内核文件装到/boot/vmlinuz-linux[-lts],不管它是不是一个挂载点(我想你的水平大概也不会使用什么奇怪的配置文件)。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
另外arch更新内核其实并不需要修改grub.cfg,因为内核都叫vmlinuz-linux
正常来说不用,但是鬼才知道楼主是不是有两个内核存在于磁盘上,grub.cfg究竟写了哪个也不知道
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
是把内核装在了sda1的/boot下面啊,而且更新grub.cfg的时候它显示是查到了/boot下面有.img文件。至于磁盘上是不是有两个内核,我确实不清楚,虽然我有怀疑过,也google过方法来判断,但是最终并没有得到答案。
另:xtricman前辈,如果您觉得我的问题太水不屑于回答,我没有求着您回答。如果您想伸出援手帮一下我,那就不要句句带刺,冷嘲热讽的。我也是自己搜索了好几天尝试了很多方法,没找到解决的办法才来求助的。你也不是生下来就会,不是吗?谢谢。
离线
昨天通过对比lsblk -f和/boot/grub/grub.cfg的内容,通过UUID判断,grub.cfg写的是sda1。
离线