前几天VMware上安装了ubuntu,当时的内核版本支持(ipguard,加密软件),后来ubuntu自动升级了linux内核,导致加入软件不支持,无法访问加密文件了。后来加密软件商更新了软件,但还是赶不上linux内核更新速度,还是不能用。
之前我写过手动升级内核的方法,实在有些复杂,所以借助chatgpt的提示和摸索,直接命令很快就升级内核到老版本了,就是几条命令的事情。
步骤1:查找内核
找到想要升级的内核,命令如下
- cegncn@cegncn-virtual-machine:~$ apt search linux-image | grep 6.2.0-31
-
- WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
-
- linux-image-6.2.0-31-generic/jammy-updates,jammy-security,now 6.2.0-31.31~22.04.1 amd64 [installed]
- linux-image-unsigned-6.2.0-31-generic/jammy-updates,jammy-security 6.2.0-31.31~22.04.1 amd64
- cegncn@cegncn-virtual-machine:~$
直接找到内核版本完整名字就是:linux-image-6.2.0-31-generic
步骤2:升级内核
由于我电脑内核就是从6.2.0-31升级上来的,所以本地就有,不用升级,直接就可以看到
- sudo apt install linux-image-6.2.0-31-generic
- [sudo] password for cegncn:
- Reading package lists... Done
- Building dependency tree... Done
- Reading state information... Done
- linux-image-6.2.0-31-generic is already the newest version (6.2.0-31.31~22.04.1).
- 0 upgraded, 0 newly installed, 0 to remove and 31 not upgraded.
步骤3:启动内核
虚拟机启动后,需要进入到grub去选择启动内核,启动的时候,需要长按shift键,进入:
注意,不要选择-recovery版本。这个就类似windows的安全模式了。选择好合适的版本后,就可以直接启动了。
步骤4:删除无用内核
- cegncn@cegncn-virtual-machine:~$ sudo apt remove linux-image-6.2.0-32-generic
- [sudo] password for cegncn:
- Reading package lists... Done
- Building dependency tree... Done
- Reading state information... Done
- The following packages were automatically installed and are no longer required:
- amd64-microcode intel-microcode iucode-tool linux-headers-generic-hwe-22.04
- thermald
- Use 'sudo apt autoremove' to remove them.
- The following packages will be REMOVED:
- linux-generic-hwe-22.04 linux-image-6.2.0-32-generic
- linux-image-generic-hwe-22.04
- 0 upgraded, 0 newly installed, 3 to remove and 40 not upgraded.
- After this operation, 13.9 MB disk space will be freed.
- Do you want to continue? [Y/n] y
- (Reading database ... 244718 files and directories currently installed.)
- Removing linux-generic-hwe-22.04 (6.2.0.32.32~22.04.9) ...
- Removing linux-image-generic-hwe-22.04 (6.2.0.32.32~22.04.9) ...
- Removing linux-image-6.2.0-32-generic (6.2.0-32.32~22.04.1) ...
- I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.2.0-26-generic
- I: /boot/initrd.img.old is now a symlink to initrd.img-6.2.0-26-generic
- I: /boot/vmlinuz is now a symlink to vmlinuz-6.2.0-31-generic
- I: /boot/initrd.img is now a symlink to initrd.img-6.2.0-31-generic
- /etc/kernel/postrm.d/initramfs-tools:
- update-initramfs: Deleting /boot/initrd.img-6.2.0-32-generic
- /etc/kernel/postrm.d/zz-update-grub:
- Sourcing file `/etc/default/grub'
- Sourcing file `/etc/default/grub.d/init-select.cfg'
- Generating grub configuration file ...
- Found linux image: /boot/vmlinuz-6.2.0-31-generic
- Found initrd image: /boot/initrd.img-6.2.0-31-generic
- Found linux image: /boot/vmlinuz-6.2.0-26-generic
- Found initrd image: /boot/initrd.img-6.2.0-26-generic
- Found memtest86+ image: /boot/memtest86+.elf
- Found memtest86+ image: /boot/memtest86+.bin
- Warning: os-prober will not be executed to detect other bootable partitions.
- Systems on them will not be added to the GRUB boot configuration.
- Check GRUB_DISABLE_OS_PROBER documentation entry.
- done
如上,能通过命令便利实现Ubuntu内核升级,方便快捷。