Ubuntu设置启动内核以及删除不用的内核

首先奉上原文链接 https://blog.csdn.net/kingroc/article/details/105998517
https://www.jianshu.com/p/f284bc90944f

由于公司安装了加密软件,非要匹配对应Ubuntu内核才行,所以查了一些大神的博客,现在整理一下。

设置使用指定内核

查看现有的内核

查看现有的高级选项对应的选项,

 grep submenu /boot/grub/grub.cfg

终端显示

submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {

继续查看gnu所有的选项,

grep gnulinux /boot/grub/grub.cfg

终端输出

   set default="gnulinux-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841>gnulinux-5.4.0-74-generic-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841"
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu,Linux 5.4.0-77-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-77-generic-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu, with Linux 5.4.0-77-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-77-generic-recovery-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu,Linux 5.4.0-74-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-74-generic-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu, with Linux 5.4.0-74-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-74-generic-recovery-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu,Linux 5.4.0-42-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {
	menuentry 'Ubuntu, with Linux 5.4.0-42-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-recovery-aebaaa27-2abd-4f5e-ab67-aa80f5a76841' {

找到需要设置的内核版本,我需要的版本是5.4.74,记下来其对应的选项

接下来修改grub,

sudo gedit /etc/default/grub

按如下配置 GRUB_DEFAUTL选项,最好同时注释掉GRUB_TIMEOUT_STYLE

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

#GRUB_DEFAULT=0
GRUB_DEFAULT="gnulinux-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841>gnulinux-5.4.0-74-generic-advanced-aebaaa27-2abd-4f5e-ab67-aa80f5a76841"
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
GRUB_GFXMODE=1920x1080

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

最后,

sudo update-grub

重启后,再次查看,检查看现有的内核。

uname -r

删除其他内核

查看所有内核

dpkg --get-selections | grep linux

终端显示

binutils-x86-64-linux-gnu					install
console-setup-linux				    		install
libselinux1:amd64				    		install
libselinux1-dev:amd64						install
linux-base					        		install
linux-firmware					    		install
linux-generic					    		install
linux-generic-hwe-18.04						install
linux-headers-5.4.0-42-generic				hold
linux-headers-5.4.0-74-generic				hold
linux-headers-5.4.0-77						install
linux-headers-5.4.0-77-generic				install
linux-headers-generic						install
linux-headers-generic-hwe-18.04				hold
linux-hwe-5.4-headers-5.4.0-42				install
linux-hwe-5.4-headers-5.4.0-74				install
linux-image-5.4.0-42-generic				hold
linux-image-5.4.0-74-generic				hold
linux-image-5.4.0-77-generic				install
linux-image-generic							install
linux-image-generic-hwe-18.04				hold
linux-libc-dev:amd64						install
linux-modules-5.4.0-42-generic				hold
linux-modules-5.4.0-74-generic				hold
linux-modules-5.4.0-77-generic				install
linux-modules-extra-5.4.0-42-generic		hold
linux-modules-extra-5.4.0-74-generic		hold
linux-modules-extra-5.4.0-77-generic		install
linux-signed-generic-hwe-18.04				install
linux-sound-base							install
pptp-linux									install
util-linux									install

删除冗余的内核,

sudo apt-get remove \
linux-headers-5.4.0-77 \
linux-headers-5.4.0-77-generic \
linux-image-5.4.0-77-generic \
linux-modules-5.4.0-77-generic \
linux-modules-extra-5.4.0-77-generic

卸载后,再重新检查一下现有的内核,

dpkg --get-selections | grep linux

状态为deinstall即已经卸载,如果觉得看着不舒服的话可以使用purge连配置文件里一起彻底删除,清理内核列表

sudo apt-get purge \
linux-headers-5.4.0-77 \
linux-headers-5.4.0-77-generic \
linux-image-5.4.0-77-generic \
linux-modules-5.4.0-77-generic \
linux-modules-extra-5.4.0-77-generic

最后,更新GRUB,

sudo update-grub

猜你喜欢

转载自blog.csdn.net/qq_24649627/article/details/118219251