前言
由于我自己组电脑省了一堆配件,因此决定再装一台电脑当自己的开发服务器用,本来以为安装会很简单,因为我以前装过CentOS7.9,它安装起来确实很简单,没想到这次安装却翻车了!本来想放弃了用用Windows得了,再搞个虚拟机装个CentOS,后来想想这完全背离了初衷,而且这种问题不解决以后估计还会遇到,于是我硬着头皮搞了几个小时终于给解决了。
为了节省大家时间,我先说一下结论:
CentOS7.9由于是2020年的系统了,对于AMD的新平台可能无法兼容,是真正的硬件层面的无法兼容,导致其无法安装,以及无法启动!!换一个新的就行了!!
我说一下我的电脑的硬件:
CPU:AMD R5 5600G
主板:华硕TUF Gaming B550M-E Wifi
内存:光威DDR4 2666MHz 16GB*2
硬盘:饥饿鲨 256GB SSD(东芝TR150)
解决过程
这个CentOS7.9我是拿balenaEtcher烧录进闪迪32GB U盘的,从U盘启动就开始无法启动了,如图所示:
主要内容为:
Oops: 0000 [#1] SMP
Modules linked in:
CPU: 3 PID: 1 Comm: swapper/0 Not tainted 3.10.0-1160.e17.x86_64 #1
后面是电脑硬件信息
然后报vsnprintf+0x4e/0x6a0
调用这个方法出现的报错
然后是一堆的堆栈信息,直接忽略,最后报
Kernel panic - not syncing: Fatal exception
Kernel Offset:0x****** from 0x****** (relocation range: 0x******-0x******)
我排查的步骤为:
1、U盘烧录系统是不是失败了,结果是好的
2、Grub启是不是没找到这个镜像文件安装路径,结果我改了Grub中的启动路径也没用,还是报错
3、我把这个SSD从电脑里拿出来,在其他能装的电脑上装好了,再放回我的服务器里,即使装完了还是不行
4、测试这个SSD在其他电脑上的运行状态,结果发现有台笔记本可以运行
5、在笔记本上查看/var/log下面的启动日志,结果一无所获,说明还没到boot.log就已经挂了
6、将个SSD放在我另一台5600X的主机上运行,结果发现也报同样的错了
我换到我的主力机i7 8700K的电脑上试了一下,发现居然和笔记本一样一点问题没有,直接进系统
我把我测试结果汇总一下:
R5 5600G+B550M TUF:无法运行
R5 5600X+B550-A ROG STRIX:无法运行
i7 8700K+Z370-A PRIME:可以运行
i5 10400+神舟主板:可以运行
R5 5500U+红米主板:可以运行
还好我电脑多,能搞这种测试。因此我有理由怀疑CentOS7.9版本已经无法兼容AMD的Zen3架构的CPU了,一代经典即将落幕,还是需要拥抱变化更换Linux版本了。
我最终选择的是Rocky Linux9.2(2023.8.26这时的最新版本),也算是CentOS的继任者了,这个系统完美在我的5600G服务器上运行了。有时候死犟是没用的,还是得换系统。
安装完成效果如下
具体安装方法
1、下载balenaEtcher
2、插上U盘
3、打开balenaEtcher
4、选择操作系统
5、选择你的U盘
6、现在烧录
我想这么傻瓜式的软件,傻瓜应该都能操作成功
然后将U盘插到需要安装的电脑上,选择U盘启动,其他步骤就和CentOS的安装方法一样了,我就不再赘述了。