首先奉上原文链接 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