前阵计划在ThinkpadE490笔记本电脑上安装多个系统(Windows、CentOS、Kali)进行技术研究。系统出厂预装Windows10,买了之后迫不及待的安装了CentOS7系统。于是下载了完整版的CentOS7.6.1810镜像(CentOS-7-x86_64-Everything-1810.iso,约10G),使用Win32DiskImager工具将ISO写入U盘(注意:容量必须为16G或以上)。本以为安装会很容易,结果却出事了。刚选择开始安装CentOS,还没进入语言选择界面就出问题了。我看到内核崩溃(如下所示),我认为这可能有点棘手。.仔细阅读报错信息,提到KernelBUGatinclude/linux/dma-attrs.h:53!,继续看关键信息:Workqueue:nvme_reset-wqnvme_reset_work[nvme],判断应该是读取NVMe固态硬盘有问题。一时想不出对策。我没有时间处理它。我想看看安装Kali后会不会出现这种情况?下载Kali2019.2(linuxkernel4.19)并安装后,其实很顺利,没有任何错误。那我想看看CentOS6是不是这样呢?下载CentOS6.10(linux内核2.6.32)并安装后,也是风平浪静,没有出现任何错误。又试了CentOS7.0版本,还是一样的错误,好像只有linuxkernel3.x有这个问题?只能打内核补丁解决吗?能否在硬件层面解决?于是去Thinkpad官网,先找到BIOS升级程序,升级到最新版本。再次尝试安装CentOS7.6,还是不行!继续找NVMeSSD微码升级程序,说不定有用?升级微码后,有种莫名的预感,一定会成功的。果不其然,再次安装CentOS7.6后,之前的错误没有再出现,顺利进入安装界面,顺利解决!解决后,我怀着好奇去CentOS官网了解情况,看到了类似这种情况的bug,打内核补丁即可解决。笔者没有时间验证这个方案,只给出一个思路。此问题不限于ThinkpadE490。如果其他品牌的机器出现此问题,也可以尝试从官网升级微码程序;或应用内核补丁。PS:在继续安装的过程中,还有一些其他的问题。暂时不列出来,有空再整理解决办法,侵权必究。如需转载,可以关注公众号,后台留言,联系作者,获得转载许可~
