linux-修改内核启动顺序及删除无用内核

fuyuteng fuyuteng     2022-12-07     141

关键词:

现象:
CentOS7开机启动界面显示多个内核选项

原因:
正常情况下,有两个启动项,一个是“正常启动”,另一个是“救援模式启动”(rescue)。
如果启动项多于2个,说明当前系统有旧内核未删除。原因是CentOS更新后不会自动删除旧内核。
默认以新内核启动,可以在启动选项中临时选择,也可以修改配置永久指定。

示例:修改默认启动的内核

[[email protected] ~]# uname -r   # 查看当前内核版本
3.10.0-693.5.2.el7.x86_64
[[email protected] ~]# 
[[email protected] ~]# cat /boot/grub2/grub.cfg |grep "menuentry "  # 查看所有可用内核
menuentry ‘CentOS Linux (3.10.0-693.5.2.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-88ae7d3d-ffaf-4402-9d44-56b6845789e4‘ 
menuentry ‘CentOS Linux (3.10.0-327.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-88ae7d3d-ffaf-4402-9d44-56b6845789e4‘ 
menuentry ‘CentOS Linux (0-rescue-8405cda22c0b421db40478edcf9c1fb2) 7 (Core)‘ --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option ‘gnulinux-0-rescue-8405cda22c0b421db40478edcf9c1fb2-advanced-88ae7d3d-ffaf-4402-9d44-56b6845789e4‘ 
[[email protected] ~]# 
[[email protected] ~]# grub2-set-default ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)‘
[[email protected] ~]# 
[[email protected] ~]# grub2-editenv list  # 查看内核修改结果
saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
[[email protected] ~]# 

 

示例:删除无用内核

[[email protected]OS-7 ~]# uname -r   # 查看当前内核版本
3.10.0-693.5.2.el7.x86_64
[[email protected] ~]# 
[[email protected] ~]# rpm -qa |grep kernel-[0-9]  # 查看全部内核包
kernel-3.10.0-693.5.2.el7.x86_64
kernel-3.10.0-327.el7.x86_64
[[email protected] ~]# 
[[email protected] ~]# yum remove kernel-3.10.0-327.el7.x86_64  # 删除指定的无用内核
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-327.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                           Arch                              Version                                      Repository                            Size
=============================================================================================================================================================
Removing:
 kernel                            x86_64                            3.10.0-327.el7                               @anaconda                            136 M

Transaction Summary
=============================================================================================================================================================
Remove  1 Package

Installed size: 136 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : kernel-3.10.0-327.el7.x86_64                                                                                                              1/1 
  Verifying  : kernel-3.10.0-327.el7.x86_64                                                                                                              1/1 

Removed:
  kernel.x86_64 0:3.10.0-327.el7                                                                                                                             

Complete!
[[email protected] ~]# 
[[email protected] ~]# rpm -qa |grep kernel-[0-9]  # 查看全部内核包
kernel-3.10.0-693.5.2.el7.x86_64
[[email protected] ~]# 
[[email protected] ~]# cat /boot/grub2/grub.cfg |grep "menuentry "
menuentry ‘CentOS Linux (3.10.0-693.5.2.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-88ae7d3d-ffaf-4402-9d44-56b6845789e4‘ 
menuentry ‘CentOS Linux (0-rescue-8405cda22c0b421db40478edcf9c1fb2) 7 (Core)‘ --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option ‘gnulinux-0-rescue-8405cda22c0b421db40478edcf9c1fb2-advanced-88ae7d3d-ffaf-4402-9d44-56b6845789e4‘ 
[[email protected] ~]# 

 

linux启动顺序运行级别及开机启动(代码片段)

...系统后,接下来的执行顺序如下:1、加载并执行内核第一个被加载的东西就是内核。然后把内核在内存中解压缩,就可以开始运行了。2、/sbin/init进程init进程是接下来第一个被启动运行的(非内核进程),因此它的... 查看详情

移值linux3.4.2内核之框架及初步修改(代码片段)

前言先类比下WindowsPC的启动流程,一上电后BIOS会去引导扇区读取系统引导程序引导windows内核的启动,内核启动过程中会去识别C盘,D盘,装载驱动程序,启动应用,对于嵌入式LINUX来说,BIOS称为Bootloader,它主要完成的工作有如下3步1.装载... 查看详情

移值linux3.4.2内核之框架及初步修改(代码片段)

...挂载根文件系统5.启动应用程序解压编译内核1.解压内核2.修改内核根目录下的Makefile,修改为arm架构和交叉编译器3.查看arm架构下的配置文件4.配置单板,生成.config文件,然后makeuImageuboot机器ID传递我们前面提到,要根据uboot传递给内核... 查看详情

编译安装kernel5.1.10及删除内核

...s以及编辑器备份文件(4)删除/lib/modules/目录下不需要的内核库文件(5)删除/usr/src/linux/目录下不需要的内核源码(6)删除/boot目录下启动的内核和内核映像文件(7)更改grub的配置文件,删除不需要的内核启动列表 查看详情

修改centos7.2系统的默认启动内核模式

  总所周知,修改centos6的内核启动顺序,只需要修改/etc/grub.conf里的default项配置即可。那么centos7系统该如何修改呢? 下面就centos7系统修改内核,做如下记录:一般在编译安装新内核完成后,系统默认启动的还是旧内... 查看详情

linux启动菜单在升级后留下太多版本,怎么删除?

...ub.conf或者/boot/grub/menu.lst文件,这3者都是一个文件)。要修改,先学学grub.conf文件语法吧。如果你贴出你的这个文件,还有说明你的系统类型(Fedora、Ubuntu等)更好。追问我用的是Ubuntu10.10的,多个选项最少能只留几个?本回答... 查看详情

linux用shell命令怎样清理系统缓存

...系统不再使用的孤立软件执行sudonautilus/boot删除除了最新内核以外的其它文件,(比如2006-08-17官方内核是26,那就可以删除所有23,25结尾的旧内核文件)整理grub启动菜单sudogedit/boot/grub/menu.lst删除除最新内核以外的其它启动项(如... 查看详情

如何修改 linux 内核以在启动时挂载 vhd 文件并从中加载系统?

】如何修改linux内核以在启动时挂载vhd文件并从中加载系统?【英文标题】:Howtomodifylinuxkernelformountingavhdfileatboottimeandloadthesystemfromit?【发布时间】:2012-08-2414:22:07【问题描述】:我想修改linux内核,让它可以挂载vhd文件并从它开... 查看详情

3内核的启动过程(代码片段)

 1.内核分析准备 删除无用文件官方版本的kernel中是支持各种硬件架构、各种开发板的,因此有很多文件夹和文件和我们无关,在建立SI工程前应该删掉这些家伙。我们现在分析的是开发板厂商九鼎科技移植好的针对X210开... 查看详情

linux操作系统的详细启动过程,谢谢(硬件启动的先后顺序)

...备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户... 查看详情

linux版本内核及安装后的简单操作命令介绍

  一、Linux的版本与内核1、Linux发行版  Linux发行版=Linux内核+应用程序  Redhat,CentOS,Ubuntu,Suse,红旗,Mint,Fedora  CentOS:社区版操作系统(免费)  Redhat:企业版操作系统(收费)2、Linux内核版本  架构(... 查看详情

centos系统启动及内核大破坏模拟实验

 讲过了centos的启动流程,此时是不是想来点破坏呢?那就尽情的玩耍吧,记得在实验之前拍个快照,万一哪个环节错误恢复不回来了呢,毕竟数据无价,话不多说,开始。 一、删除伪系统根。(ramdisk文件) (1)模... 查看详情

centos7设置默认的内核启动

...顺序:  centos的内核文件在/boot/grub2目录下1、如果想要修改以上三项的显示顺序,只需要在/boot/grub2/grub.cfg文件中调整一下顺序,把下面两端内容位置调换就可以了:  2、设置默认的内核启动项:  #cat/boot/grub2/grub.cfg|grepmen... 查看详情

centosyum更新及删除多于启动项(代码片段)

...接重启会发现,多出几个启动项,那么怎么删除这些多于内核呢?或者说旧的不用的内核?1、查看当前运行内核版本uname-a2、查看系统中全部kernelrpm-qkernel3、deleteoldkernel:yumremovekernel-3.XXXXX.el7yumremoveker 查看详情

centos系列的启动流程及基础知识点

...动流程。1、Linux系统基础简介(1)、Linux【系统组成】:内核+应用程序或内核+rootfs(2)、Linux的【运行环境】:内核空间--------内核进程占用CPU和内存资源总和             查看详情

实践|linux内核编译启动和相关驱动构建

关注「嵌入式大杂烩」,选择「星标公众号」一起进步!01修改与编译内核 查看详情

linux修改内核参数sysctl.conf及ulimits.conf参数快速生效(代码片段)

1、sysctl.conf修改完之后,需要重新加载才能生效,执行如下命令立即生效:sysctl-p2、ulimits.conf,直接编辑/etc/security/ulimits.conf重新连接后立即生效 查看详情

linux修改内核参数sysctl.conf及ulimits.conf参数快速生效(代码片段)

1、sysctl.conf修改完之后,需要重新加载才能生效,执行如下命令立即生效:sysctl-p2、ulimits.conf,直接编辑/etc/security/ulimits.conf重新连接后立即生效 查看详情