前言:
我确保我的VirtualBox中的Linux(Ubuntu)虚拟机已经安装了Linux内核“5.11.0、 5.15.11"版本。
1、查看当前所用的内核版本:
root@ubuntu-VirtualBox:/home/ubuntu/桌面# uname -a
Linux ubuntu-VirtualBox 5.15.11888 #1 SMP Sat Dec 25 12:45:19 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
2、查看服务器启动内核的顺序
root@ubuntu-VirtualBox:~# grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-215a7212-95be-409a-a615-ba315b28880e' {
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu,Linux 5.15.11888' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.11888-advanced-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu, with Linux 5.15.11888 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.11888-recovery-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu,Linux 5.15.11888.old' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.11888.old-advanced-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu, with Linux 5.15.11888.old (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.11888.old-recovery-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu,Linux 5.11.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-advanced-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu, with Linux 5.11.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-43-generic-recovery-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu,Linux 5.11.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-advanced-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Ubuntu, with Linux 5.11.0-27-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-recovery-215a7212-95be-409a-a615-ba315b28880e' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
注意:
绿框内就是ubuntu系统目前所拥有的内核版本与启动顺序,menuentry就是每一条,记住这个顺序,下面要用到。
3、假如你要以“Linux 5.11.0-43-generic”内核版本启动。则先需要编辑文件“/etc/default/grub”。
root@ubuntu-VirtualBox:~# vim /etc/default/grub
4、再将
GRUB_DEFAULT=0
修改为
GRUB_DEFAULT=5
并保存。
5、更新内核,命令如下:
root@ubuntu-VirtualBox:~# sudo update-grub
6、重启:
root@ubuntu-VirtualBox:~# sudo reboot
7、再次查看当前内核版本:
root@ubuntu-VirtualBox:~# uname -a
还有一种方法:
ubuntu开机选择内核启动
也就是我们常说的设置开机“高级选项”选择某个Linux内核启动。
1、修改 grub.cfg 文件。
编辑“grub.cfg”这个文件,找到所有的“timeout”,将其设定为30;
另外还有一个“set timeout_style=hidden”类似的一行,在其行首插入一个#。
root@ubuntu-VirtualBox:/home/ubuntu/linux-5.14.14# sudo gedit /boot/grub/grub.cfg
2、保存并重启。
3、选择“高级选项”,再选择指定的“Linux内核版本”启动即可!
说简单一点,主要就是开机的时候有个30秒的时间让我们去选择“高级选项”,自由的选择Linux版本启动。默认这个设置是关闭的。
例如:
“ubuntu的高级选项 - Linux 5.14.14888”。
总结:
我个人还是比较喜欢最后一种方法,这种操作又简单,开机的时候想选择哪种Linux内核启动就选择哪个?非常的人性化。