如何使用我的旧内核?

如何使用我的旧内核?

最近,我按照以下步骤编译并安装了内核版本 4.2.3。

$ wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.3.tar.gz 
$ tar xzvf linux-4.2.3.tar.gz
$ cd linux-4.2.3
$ make menuconfig

Then after saving the default configuration shown in menuconfig,

$ make
$ make modules_install
$ make install

完成上述步骤后,我可以看到以下变化:

vmlinuz-4.2.3(连同其他一些文件)被添加到/boot/目录中。

grub已更新 。

现在,我重启了电脑,令人惊讶的是,电脑启动起来没有任何问题。下面是现在的系统信息。

$ uname -a
Linux myMachine 4.2.3 #1 SMP Fri Oct 16 20:45:01 EDT 2015 x86_64 x86_64    x86_64 GNU/Linux 
$ uname -r
4.2.3
$ cat /proc/version 
Linux version 4.2.3 (sps@myMachine) (gcc version 4.8.4 (Ubuntu  4.8.4-2ubuntu1~14.04) ) #1 SMP Fri Oct 16 20:45:01 EDT 2015
$

因此看起来新内核(4.2.3)正在我的系统中运行(如果我需要检查任何其他命令(除uname或之外cat /proc/version)以确保正在运行的内核,请告诉我)。

现在这是我的问题: - 我不知道如果我继续使用这个内核,以后会遇到什么问题。

所以我想恢复并重新开始使用以前的内核。我该怎么做?

我仍然可以在和中看到旧的vmlinuz-3.19*(和其他的3.19*)文件。但我不知道如何再次开始使用旧内核?/boot/boot/grub/grub.cfg

如果我可以在启动时选择内核的话就会获得额外的奖励。

答案1

好吧,你没有打包你的内核,这会让事情变得有点困难。首先,你需要删除以下文件:

  • /启动/vmlinuz内核版本
  • /启动/initrd内核版本
  • /boot/系统地图内核版本
  • /启动/配置-内核版本
  • /lib/模块/内核版本

已删除已编译的 Linux。现在,您应该能够运行,update-grub并且希望它不会找到与旧内核相关的任何内容。查看输出并查看您编译的内核是否在其中。

如果您想要选择启动时使用的内核,则必须将 GRUB 设置为在打开计算机时显示。以 root 身份打开您最喜欢的文本编辑器并编辑 GRUB 的配置文件,该文件位于/etc/default/grub。您会发现一行写着GRUB_TIMEOUT。此设置表示您希望 GRUB 显示多少秒。它可能设置为 0,这就是问题所在。将其设置为 5 秒之类的值,方法是将 0 改为 5。此外,如果您看到一行写着GRUB_HIDDEN_TIMEOUT和/或 之类的内容hiddenmenu,请将它们从文件中全部删除。保存并退出,并确保运行update-grub。您应该能够重新启动并看到 GRUB。如果没有,GRUB 的配置文件中还有一些其他设置需要您使用。您可以选择 Ubuntu 使用默认内核,也可以转到“Ubuntu 的高级选项”来选择内核并访问任何给定内核的恢复模式。

相关内容