Centos7如何切換啟動的內核


一、啟動報錯

由於安裝更新時異常斷電等原因,可能導致內核出錯。
報錯如下:

[1.xxxxx] i8042: No controller found
[1.xxxxx] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[1.xxxxx] CPU: 0 PID: 1Comm: swapper/0 Not tainted 3.10.0-1062.18.1.el7.x86_64 #1
[1.xxxxx] Hardware name: /068CDY, BIOS 2.4.3 07/09/2014
[1.xxxxx] Call Trace:
[1.xxxxx] dump_stack+0x19/0x1b
[1.xxxxx] panic+0xe8/0x21f
[1.xxxxx] mount_block_root+0x19/0x1b.....此處省略錯誤信息.......(開頭的xxxx代表省略的數字)

二、用其他內核啟動

重啟時回到啟動界面,可以看到啟動時可以選擇不同的內核,可以選擇其他內核如圖(此圖來自互聯網)

三、修改啟動順序

重啟之后可以用安裝盤修復,也可以直接修改grub,設置默認的啟動內核,我采用的是后面的方法。

[root@lh test]# cat /boot/grub2/grub.cfg |grep "menuentry "
menuentry 'CentOS Linux (3.10.0-1062.18.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-0251cb04-f274-45ea-84a3-4a8cb45b65ee' {
menuentry 'CentOS Linux (3.10.0-862.3.3.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-0251cb04-f274-45ea-84a3-4a8cb45b65ee' {
[root@lh test]# grub2-set-default 'CentOS Linux (3.10.0-862.3.3.el7.x86_64) 7 (Core)'

四、卸載失敗的內核:

注意,為保險起見,操作前建議先備份一下grub.cfg

uname -a #查詢當前使用的系統
rpm -qa | grep kernel
yum remove 你要刪除的內核 #把老版本的內核remove,千萬不要把正在使用的內核刪掉
grub2-mkconfig -o /boot/grub2/grub.cfg #重新編譯引導

PS:yum remove直接卸載內核就行,內核的包從rpm -qa|grep kernel的結果中找,我的主機執行的是下面的命令

yum remove kernel-3.10.0-1062.18.1.el7.x86_64

參考:
https://www.cnblogs.com/su-root/p/9911823.html
https://blog.csdn.net/roshy/article/details/88528823
https://blog.csdn.net/helloxkcd/article/details/79175426


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM